繁体   English   中英

Firebase Cloud Messaging将消息发送到IID导入的Apns令牌

[英]Firebase Cloud Messaging send message to iid imported Apns token

我正在编写一个应将推送通知从服务器发送到android和iOS设备的应用程序。 我尝试将FCM用于此目的。 iOS应用程序使用APNS,因此我可以在服务器端获取apns订阅令牌。 然后,我尝试批量导入这些令牌,然后获得某种长度为174个符号的注册令牌,而不是Firebase中通常使用的152个符号。 当我使用IID方法GET https://iid.googleapis.com/iid/info/ {token}时,它会成功返回有关给定令牌的信息,但是当我尝试使用HTTP v1 API POST https直接使用此令牌发送消息时://fcm.googleapis.com/v1/projects/ {0} / messages:带有目标字段"token":"f5MpeWlqg0E:APA91bHGpRR3_ygt10....CdI3Rtsodf8XMIQNlflF23mQ"发送方法"token":"f5MpeWlqg0E:APA91bHGpRR3_ygt10....CdI3Rtsodf8XMIQNlflF23mQ"和ios特定的有效负载,我收到错误消息:

{   
    "error": {
    "code": 400,
    "message": "Request contains an invalid argument.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.firebase.fcm.v1.FcmError",
        "errorCode": "INVALID_ARGUMENT"
      },
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "message.token",
            "description": "Invalid registration token"
          }
        ]
      }
    ]   
   } 
}

然后,如果我尝试再次将相同的消息发送到相同的令牌,则会收到另一个错误:

{
  "error": {
    "code": 404,
    "message": "Requested entity was not found.",
    "status": "NOT_FOUND",
    "details": [
      {
        "@type": "type.googleapis.com/google.firebase.fcm.v1.FcmError",
        "errorCode": "UNREGISTERED"
      }
    ]
  }
}

IID方法也将返回404,这意味着Firebase从系统中删除了我的令牌。 问题是为什么我会从无法解决的IID中获得“错误”令牌,以及如何向iOS手机发送直接通知。

好的,问题出在iid设置中:当我尝试从APNS令牌中检索FCM令牌时,我将“ sandbox”设置为false,但是使用了沙箱证书,因此该令牌无效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM