react native的notifee消息

      react native上的notifee组建可发送local notification和remote push notification,可订阅各种Event。我使用的是local notification。另一个与之对应的是expo notification,也是很好的组建,但我的app未来想用bare类型,脱离expo,所以优先选择notifee。

官方文档:https://notifee.app , 官方文档非常清晰。

安装注意事项:

      按照官方文档的做法在iOS上运行没问题,但是androidd在运行命令:npx react-native run-android 的时候报如下错误:

Could not determine the dependencies of task ':app:processDebugResources'.
> Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'.
   > Could not find any matches for app.notifee:core:+ as no versions of app.notifee:core are available.
     Searched in the following locations:
       - https://oss.sonatype.org/content/repositories/snapshots/app/notifee/core/maven-metadata.xml
       - https://repo.maven.apache.org/maven2/app/notifee/core/maven-metadata.xml
       - file:/Users/peterfan/workspace/react_proj/CareYouHealth/node_modules/jsc-android/dist/app/notifee/core/maven-metadata.xml
       - https://dl.google.com/dl/android/maven2/app/notifee/core/maven-metadata.xml
       - https://www.jitpack.io/app/notifee/core/maven-metadata.xml
       - file:/Users/peterfan/workspace/react_proj/CareYouHealth/node_modules/react-native/android/app/notifee/core/maven-metadata.xml
     Required by:
         project :app > project :notifee_react-native

      查了不少文档,后参考   后在工程项目的 android 目录下的build.gradle文件中allprojects节点下添加了新的maven url。

allprojects {
  // other items … 
  repositories {
    // existing local repositories defined … 
    // ADD THIS BLOCK
    maven {
      url "$rootDir/../node_modules/@notifee/react-native/android/libs"
    }
  }
}

     

   运行权限注意事项:

         1. IOS下需要先执行:await notifee.requestPermission();  否则notification不生效。

        2. Android下也需要授权。参见:https://notifee.app/react-native/docs/triggers  中的 Android 12 Limitations 部分。但按照这篇关于权限的文章 https://blog.teamairship.com/creating-reminders-with-notifee ,是从Android 13开始的,我觉得还是按官方文档执行。

  

      

 

posted @ 2024-09-23 23:42  saaspeter  阅读(20)  评论(0编辑  收藏  举报