【问题标题】:Firebase push notifcation not working on single device ios but works for user segmentFirebase 推送通知不适用于单个设备 ios,但适用于用户段
【发布时间】:2020-06-25 09:00:11
【问题描述】:

我正在使用 firebase 推送通知并使用离子/电容器开发移动应用程序。我注册推送通知并取回这样的令牌...

PushNotifications.requestPermission().then( result => {
  if (result.granted) {
    PushNotifications.register();
  }
});

PushNotifications.addListener('registration',
  (token: PushNotificationToken) => {
    alert('Push registration success, token: ' + token.value);
    console.log(token.value);
  }
);

在 Firebase 控制台中,当我在用户段中定位我的应用程序时,我可以成功发送和接收通知,但是当我尝试通过使用发送测试消息复制和粘贴令牌来定位单个设备时,我没有收到推送通知。注意:这适用于我在 Android 上。

令牌看起来像这样... BAAEF129E8F596F1305D0FEA2F50E21B2768FEFCA83CF19602CA0183077E441D

【问题讨论】:

  • 你的令牌是什么样子的?
  • BAAEF129E8F596F1305D0FEA2F50E21B2768FEFCA83CF19602CA0183077E441D

标签: ios firebase ionic-framework apple-push-notifications capacitor


【解决方案1】:

Capacitor 使用 APNS 进行推送,您获得的令牌是 APNS 令牌,而这些令牌不适用于 FCM。 不知道您是如何将 FCM 集成到 Capacitor 中的,但您应该将 APNS 令牌转换为 FCM 令牌。

是这样的

    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        Messaging.messaging().apnsToken = deviceToken
        InstanceID.instanceID().instanceID { (result, error) in
            if let error = error {
                NotificationCenter.default.post(name: Notification.Name(CAPNotifications.DidFailToRegisterForRemoteNotificationsWithError.name()), object: error)
            } else if let result = result {
                NotificationCenter.default.post(name: Notification.Name(CAPNotifications.DidRegisterForRemoteNotificationsWithDeviceToken.name()), object: result.token)
            }
        }
    }

有关如何将 FCM 集成到电容器中的更多信息,您可以查看this guide

【讨论】:

  • 我注册了一个 APNs 密钥,下载了证书并上传到了 firebase。我的理解是 Firebase 应该能够将 iOS 设备的推送通知中继到 APN,但它似乎对我不起作用
  • FCM 将通知发送到 APNS,但您必须使用 FCM 令牌,而不是 APNS 令牌,您需要我提供的代码来执行 APNS 到 FCM 令牌的转换。
  • 你是对的。我现在开始工作了。我使用了第三方插件 github.com/capacitor-community/fcm
猜你喜欢
  • 2020-05-22
  • 2018-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-15
相关资源
最近更新 更多