react native的notifee訊息

saaspeter發表於2024-09-23

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開始的,我覺得還是按官方文件執行。

相關文章