首页 > 解决方案 > IOS 未通过 fcm 接收 Firebase 通知,但仅在 ANDROID 上

问题描述

任何人都可以帮助我,为什么当我通过 fcm 测试推送通知时,我的 iOS 设备无法接收到任何触发器?与android相比,一切正常。这是一张我已经启用 Xcode 配置的照片。这是我遵循集成和设置的链接https://firebase.flutter.dev/docs/messaging/overview/

在此处输入图像描述

标签: iosfirebaseflutterpush-notification

解决方案


这很棘手...

假设您按照Apple 集成文档正确设置了其他所有内容...

  • 首先,你不能在 iOS 模拟器上运行:

通过 APNs 的 FCM 不适用于 iOS 模拟器。要接收消息和通知,需要使用真实设备。

来源:https ://firebase.flutter.dev/docs/messaging/apple-integration

  • 然后,根据我的经验,iOS 和 Android 对 FCM 负载使用不同的格式。像这样的东西应该工作
          // CONSTRUCT NOTIFICATION PAYLOAD 
          message = {
            "notification": {
              "body": body,
            },
            // apple push notification service
            "apns": {
              "payload":
              {
                "aps": {
                  "alert": {
                    "body": body,
                  },
                  "sound": "default",
                },
              }
            },
            token: fcmToken,
          };

见:https ://firebase.flutter.dev/docs/messaging/usage/

另请参阅:https ://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#ApnsConfig


推荐阅读