0

我已经搜索了几个小时来找到解决我的问题的方法。我将 Firebase Cloud Messaging 添加到我的应用程序中,就像在本教程中一样:

https://firebase.google.com/docs/cloud-messaging/ios/client?authuser=0

  1. 我在苹果开发者控制台中为应用程序创建了一个配置文件
  2. 在苹果开发者控制台中创建了一个 APN 密钥(密钥对所有团队应用程序都有效)
  3. 在现有的 android 应用程序的 firebase 控制台内创建了一个新的 ios 应用程序条目
  4. 在项目设置下的 Firebase 控制台中添加 -> 云消息传递 APNs-Authenticationkey
  5. 通过 cocoapods 安装了所有必要的 pod
  6. 将 GoogleService-Info.plist 添加到我的项目中
  7. 在 xcode/capabilities 中启用推送通知

现在在现场:

当我从 Firebase 控制台网站内发送消息时,我会收到这些消息。这样一来,就没有问题了。消息到达 iOS 应用程序函数“didReceiveRemoteNotification”中。

但是当我从远程服务器发送数据时,消息不会到达我的 iOS 应用程序中。在我的 Android-App 中,所有的都可以与远程服务器完美配合。iOS 和 Android 应用程序使用相同的 FCM 服务器密钥,因此通常它必须工作。

我不知道如何解决这个问题,有人有想法吗?

4

1 回答 1

0

经过一些研究,我找到了解决问题的方法。所有配置都很好,我添加的唯一想法是在我从远程服务器发送的消息正文中。

我已经通过以下方式将“content_available”“mutable_content”添加为true

{
   "to":"device_token",
   "content_available":true,
   "mutable_content":true,
   "data": 
        {
           ...data...
        }
}

现在它在 iOS 下工作,我从远程服务器接收所有消息(在 Delphi 中以传统方式实现)。

于 2020-05-19T10:50:58.917 回答