@capacitor/push-notifications
Push Notifications API 提供对原生推送通知的访问能力。
安装
npm install @capacitor/push-notifications@latest-6
npx cap sync
iOS
在 iOS 上,你必须启用推送通知功能。请参阅 设置功能 了解如何启用该功能。
启用推送通知功能后,请将以下代码添加到你的应用 AppDelegate.swift 文件中:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
NotificationCenter.default.post(name: .capacitorDidRegisterForRemoteNotifications, object: deviceToken)
}
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
NotificationCenter.default.post(name: .capacitorDidFailToRegisterForRemoteNotifications, object: error)
}
Android
Push Notification API 使用 Firebase Cloud Messaging SDK 来处理通知。请参考 在 Android 上设置 Firebase Cloud Messaging 客户端应用 并按照说明创建 Firebase 项目并注册你的应用。你不需要将 Firebase SDK 添加到你的应用中,也不需要编辑应用清单文件——Push Notifications 插件会为你处理这些。唯一需要的就是将你的 Firebase 项目的 google-services.json 文件添加到应用的模块(应用级)目录中。
Android 13 要求进行权限检查才能接收推送通知。当目标 SDK 版本为 33 时,你需要相应地调用 checkPermissions() 和 requestPermissions() 方法。
从 Android 15 开始,用户可以在 私密空间 中安装应用。用户可以随时锁定他们的私密空间,这意味着在用户解锁之前,推送通知将不会显示。
无法检测应用是否安装在私密空间中。因 此,如果你的应用显示任何关键通知,请告知用户避免在私密空间中安装该应用。
有关与应用私密空间相关的行为更改的更多信息,请参阅 Android 文档。
变量
此插件将使用以下项目变量(在你的应用 variables.gradle 文件中定义):
firebaseMessagingVersion:com.google.firebase:firebase-messaging的版本(默认值:23.3.1)
推送通知图标
在 Android 上,应将具有适当名称的推送通知图标添加到 AndroidManifest.xml 文件中:
<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/push_icon_name" />
如果未指定图标,Android 将使用应用图标,但推送图标应该是透明背景上的白色像素。由于应用图标通常不是这样设计的,因此会显示白色方块或圆圈。因此,建议为推送通知提供单独的图标。
Android Studio 有一个图标生成器,你可以用它来创建推送通知图标。