@capacitor/push-notifications
Push Notifications API 提供了访问原生推送通知的功能。
安装
npm install @capacitor/push-notifications@latest-7
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 添加到您的应用或编辑应用清单 - 推送通知插件会为您提供这些。所需要的只是将 Firebase 项目的 google-services.json 文件添加到您应用的模块(应用级)目录中。
Android 13 需要权限检查才能接收推送通知。当目标 SDK 为 33 时,您需要相应地调用 checkPermissions() 和 requestPermissions()。
从 Android 15 开始,用户可以在隐私空间中安装应用。用户可以随时锁定其隐私空间,这意味着在用户解锁之前不会显示推送通知。
无法检测应用是否安装在隐私空间中。因此,如果您的应用显示任何关键通知,请告知您的用户避免在隐私空间中安装该应用。
有关与应用隐私空间相关的行为变化的更多信息,请参阅 Android 文档。
变量
此插件将使用以下项目变量(在您的应用的 variables.gradle 文件中定义):
firebaseMessagingVersion版本com.google.firebase:firebase-messaging(默认值:24.1.0)
推送通知图标
在 Android 上,应将具有适当名称的推送通知图标添加到 AndroidManifest.xml 文件中:
<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/push_icon_name" />
如果未指定图标,Android 将使用应用图标,但推送图标应为透明背景上的白色像素。由于应用图标通常不是这样,因此会显示一个白色方块或圆形。因此建议为推送通知提供单独的图标。
Android Studio 有一个图标生成器,您可以使用它来创建推送通知图标。