当前位置: 首页 > 知识库问答 >
问题:

Firebase云消息发送消息至iid导入的Apns令牌

田兴朝
2023-03-14

我正在编写一个应用程序,它应该将推送通知从服务器发送到android和iOS设备。为此,我尝试使用FCM。iOS应用程序使用了APNS,因此我可以在服务器端获取APNS订阅令牌。然后我尝试批量导入这些令牌,我得到一些长度为174个符号的注册令牌,而不是Firebase中通常使用的152个。当我使用IID方法得到https://iid.googleapis.com/iid/info/{token},它成功地返回关于给定令牌的信息,但当我尝试使用HTTP v1 API POST直接使用该令牌发送消息时https://fcm.googleapis.com/v1/projects/{0}/消息:具有目标字段<代码>“令牌”的发送方法:“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方法returs 404,这意味着Firebase从系统中删除了我的令牌。问题是为什么我从IID中得到了无法寻址的“错误”令牌,以及如何向iOS手机发送直接通知。

共有1个答案

聂宜
2023-03-14

好的,问题出在iid设置中:当我试图从APNS令牌中检索FCM令牌时,我将“沙盒”设置为假,但使用了沙盒证书,所以令牌无效。

 类似资料:
  • 我刚开始使用Firebase云消息。我建了一个IOS应用来接收推送通知。应用程序运行良好。我从Firebase控制台发送消息,它们会正确显示。 我的问题是:我可以向所有设备发送一条消息吗(就像我可以在控制台中做的那样)?我是的,怎么会这样? 提前道谢!

  • 我正在尝试为Web设置Firebase云消息传递。我成功地对其进行了正确初始化并获得了令牌: manifest.json与gcm_sender_id 我可以看到我在控制台中得到令牌,所以我试图验证它,并通过邮递员发送我的第一个通知-这里是留档。 发布网址:https://fcm.googleapis.com/v1/projects/PROJECTID/messages:发送授权:无授权 标题 Bo

  • 在我们的项目中,我们使用Firebase云消息传递来进行推送通知,我们遇到了消息重复的问题。我们过程如下所示: xamarin.firebase.ios.CloudMessaging 3.1.2 xamarin.firebase.ios.instanceID 3.2.1 xamarin.firebase.ios.core 5.1.3 订阅用户主题推荐 发送主题订阅者请求的通知 null 但是,当用

  • 有人知道一种从firebase控制台发送click_action的方法吗? 我只想发送click_action按钮来使用通知,即使应用程序关闭或在后台。

  • 在我的Android应用程序中,我收到使用Firebase发送的消息,问题不是所有消息都到达,有时消息到达非常慢。 在我的服务器端,我跟踪我发送到FCM的消息,我总是收到成功:来自FCM的1个响应,仍然有我在Android应用程序中没有收到的消息。 我认为FCM消息日志在上面描述的情况下会有很大的帮助,但我不确定是否存在此选项。 有办法浏览Firebase消息日志吗?

  • null 当我确实从Firebase云消息发送给自己一条测试消息时,它确实工作正常,并且成功地向每个设备发送了一个推送通知。 例如,以下是 null