响应本机推送通知,FCM表示令牌仅在iOS上无效(Android工作)
我们有一个React本机应用程序,它正在尝试使用Firebase云消息服务发送推送通知。我们正在用失眠来测试这一点 为此,我们使用zo0r提供的名为“react native push notification”的包。 我们已经能够从现实生活中的苹果设备上获得iOS apn代币。然后,我们就能够成功地将POST请求发送到此URL:响应本机推送通知,FCM表示令牌仅在iOS上无效(Android工作),ios,firebase,react-native,push-notification,firebase-cloud-messaging,Ios,Firebase,React Native,Push Notification,Firebase Cloud Messaging,我们有一个React本机应用程序,它正在尝试使用Firebase云消息服务发送推送通知。我们正在用失眠来测试这一点 为此,我们使用zo0r提供的名为“react native push notification”的包。 我们已经能够从现实生活中的苹果设备上获得iOS apn代币。然后,我们就能够成功地将POST请求发送到此URL: https://iid.googleapis.com/iid/v1:batchImport 将apns令牌转换为谷歌firebase云消息平台的注册令牌 但是,当
https://iid.googleapis.com/iid/v1:batchImport
将apns令牌转换为谷歌firebase云消息平台的注册令牌
但是,当我们尝试使用转换的令牌通过向该端点发送POST请求来发送消息时:
https://fcm.googleapis.com/fcm/send
使用此JSON负载:
{
"direct_book_ok": true,
"to": "fTiQ5mg266o:APA91bGQN1s9sYJh9U_B6h1vuwAjpQVrPIJFnCWWsiv4PgKTCOCqLiKIdAD6ls48f-dBbnV3tOdc6NvTScXSRJYrXNHz_5QonSFraEau5jKSJPcw8HYeOb2YnutC39TlaIlKBnD3FpSx",
"notification": {
"title": "Breaking News",
"body": "New Story available."
},
"priority": "high"
}
这些标题是:
Authorization: key=<OUR_SECRET_KEY>
and
Content-Type: application/json
我们将如何补救?我们已经尝试了sandbox=true和sandbox false。我将假设,由于您使用v1 IID API转换APN令牌,因此您需要使用v1 FCM API发送消息。没有理由继续使用遗留API
POSThttps://fcm.googleapis.com/v1/projects//messages:send
{
"validate_only": false,
"message": {
"token": "fTiQ5mg266o:APA91bGQN1s9sYJh9U_B6h1vuwAjpQVrPIJFnCWWsiv4PgKTCOCqLiKIdAD6ls48f-dBbnV3tOdc6NvTScXSRJYrXNHz_5QonSFraEau5jKSJPcw8HYeOb2YnutC39TlaIlKBnD3FpSx",
"notification": {
"title": "Breaking News",
"body": "New Story available."
},
"android": {
"priority": "high"
}
}
}
还要注意的是,v1没有像传统API那样使用服务器密钥,您需要创建一个OAuth令牌。我假设,由于您使用v1 IID API转换APN令牌,因此您需要使用v1 FCM API发送消息。没有理由继续使用遗留API
POSThttps://fcm.googleapis.com/v1/projects//messages:send
{
"validate_only": false,
"message": {
"token": "fTiQ5mg266o:APA91bGQN1s9sYJh9U_B6h1vuwAjpQVrPIJFnCWWsiv4PgKTCOCqLiKIdAD6ls48f-dBbnV3tOdc6NvTScXSRJYrXNHz_5QonSFraEau5jKSJPcw8HYeOb2YnutC39TlaIlKBnD3FpSx",
"notification": {
"title": "Breaking News",
"body": "New Story available."
},
"android": {
"priority": "high"
}
}
}
还要注意的是,v1没有像旧版API那样使用服务器密钥,您需要创建一个OAuth令牌。您使用旧版API而不是v1有什么原因吗?我已经尝试过新的API,但结果相同。我很乐意使用其中一种。你能测试一下我下面答案中的正确版本吗?记住,遗留API和v1使用不同的身份验证令牌,您需要创建一个OAuth令牌。我将尝试您的解决方案。您使用传统API而不是v1有什么原因吗?我已经尝试了更新的API,结果相同。我很乐意使用其中一种。你能测试一下我下面答案中的正确版本吗?记住,遗留API和v1使用不同的身份验证令牌,您需要创建一个OAuth令牌。我会试试你的解决方案,行得通。谢谢,行得通。谢谢