我的应用程序是用NativeScript开发的。对于FCM,我使用nativescript-plugin-firebase
。
每当我尝试使用FCM控制台时,都会收到推送通知。但是,当我尝试发帖时,我从未收到推送通知。
URL : POST : https://fcm.googleapis.com/fcm/send
Headers : Authorization = key="******", Content-Type=application/json
数据:
{
"data": {
"title": "RAJA RAJA",
"message": "another test",
"name": "Muthukumar ME"
},
"to" : "**************************************"
}
回应:
{
"multicast_id": 5806593945960213086,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [
{
"message_id": "0:1521623661699559%161a06bff9fd7ecd"
}
]
}
任何人都知道我错过了什么,即使我得到了成功回复,当我尝试邮递员时推送通知也没有到来。
答案 0 :(得分:4)
{
"to" : "********",
"priority": "high",
"notification": {
"title": "Title",
"body" : "First Notification",
"text": "Text"
}
}
答案 1 :(得分:1)
我正在通过“主题”发送通知,例如:-
{
"to" : "/topics/XXXX",
"notification" : {
"body" : "First Notification",
"title": "Collapsing A",
"click_action":"DisplayTestActivity"
},
"data" : {
"body" : "First Notification",
"title": "Collapsing A",
"key_1" : "Data for key one",
"click_action":"DisplayTestActivity"
}
}
如果您发送这样的通知,但无法通过邮递员获得通知,则
“在获得通知之前,请确保以下行应成为您的启动活动或执行首页的目的”
FirebaseMessaging.Instance.SubscribeToTopic("XXXX");
if(!GetString(Resource.String.google_app_id).Equals("XXXXXXXXXXXXXXXXXXXXX")) throw new System.Exception("Invalid Json file");
Task.Run(() =>
{
var instanceId = FirebaseInstanceId.Instance;
instanceId.DeleteInstanceId();
Android.Util.Log.Debug("TAG", "{0} {1}", instanceId.Token, instanceId.GetToken(GetString(Resource.String.gcm_defaultSenderId), Firebase.Messaging.FirebaseMessaging.InstanceIdScope));
});
*上面的代码是c#,因此请使用您的编程语言。 谢谢
答案 2 :(得分:0)
使用HTTP协议和POSTMAN发送数据消息
您必须从Firebase控制台>“项目设置”>“云消息传递”中复制“旧版服务器密钥”
注意:Firebase已将我们的服务器密钥升级到新版本。您可以继续使用旧版服务器密钥,但是建议您升级到最新版本。
选择POST。输入请求网址为https://fcm.googleapis.com/fcm/send 添加标头授权:key =或授权:key =,内容类型:application / json。
使用POSTMAN进行设置 现在,选择“主体”>“原始”>“ JSON(应用程序/ json)”,然后添加以下代码:
{
"to" : "YOUR_FCM_TOKEN_WILL_BE_HERE",
"collapse_key" : "type_a",
"notification" : {
"body" : "First Notification",
"title": "Collapsing A"
},
"data" : {
"body" : "First Notification",
"title": "Collapsing A",
"key_1" : "Data for key one",
"key_2" : "Hellowww"
}
}
您可以推送通用通知(带有通知有效负载)或自定义通知(带有通知和数据有效负载),然后点击发送。
{
"to" : "YOUR_FCM_TOKEN_WILL_BE_HERE",
"collapse_key" : "type_a",
"data" : {
"body" : "First Notification",
"title": "Collapsing A",
"key_1" : "Data for key one",
"key_2" : "Hellowww"
}
}
请注意,仅当有效负载中只有数据(无通知)节点时,才会触发“自定义”通知。因此,您需要将正文和标题移到数据节点。
请记住:如果您想将通知发送给具有相应firebase_instance_id的多个设备,请使用registration_ids而不是节点。
答案 3 :(得分:0)