Мое приложение разработано на NativeScript. Для FCM я использую nativescript-plugin-firebase.
Я получал push-уведомление всякий раз, когда пытался с консоли FCM. Но я никогда не получал push-уведомление, когда пытался от почтальона, как показано ниже.
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"
}
]
}
Кто-нибудь знает, что я пропустил, что push-уведомление не приходит, когда я пытаюсь в почтальоне, даже если я получаю успешный ответ.
Да, я следил за инструкцией. Тем не менее, я не получаю push-уведомление, даже если получил успешный ответ.
Вы пробовали добавить полезную нагрузку notification? Как отмечено (здесь) [stackoverflow.com/questions/40809784/….
Попробуйте отправить полезную нагрузку notification вместо data. При отправке сообщений с помощью консоли используется полезная нагрузка сообщения notification (упоминается как здесь). Возможно полезный пост здесь.
Здесь я подробно объясняю, какие полезные данные необходимо отправлять с помощью этого плагина и Postman github.com/NickIliev/….
Если вы хотите использовать полезную нагрузку данных, вам нужно обработать ее вручную.

{
"to" : "********",
"priority": "high",
"notification": {
"title": "Title",
"body" : "First Notification",
"text": "Text"
}
}
это уведомление "уведомление", он пытается отправить уведомление "данные" - это неправильный ответ - они работают по-другому, и получение одного не означает, что вы получите другое, и, возможно, уведомления о данных - это те ты хочешь
Отправка сообщения с данными по протоколу HTTP с помощью POSTMAN
Вам необходимо скопировать ключ сервера Legecy из Firebase Console> Project Settings> Cloud Messaging.
Примечание. Firebase обновила ключи нашего сервера до новой версии. Вы можете продолжать использовать свой устаревший серверный ключ, но рекомендуется обновить его до последней версии.
Выберите POST. Введите URL-адрес запроса как https://fcm.googleapis.com/fcm/send Добавьте заголовки Authorization: key = OR Authorization: key = и Content-Type: application / json.
Настройка с POSTMAN Теперь выберите Body> raw> JSON (application / 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"
}
}
Обратите внимание, что настраиваемое уведомление будет срабатывать, только если в полезной нагрузке есть только узел данных (без уведомления). Следовательно, вам нужно переместить тело и заголовок в узел данных.
Помните: используйте registration_ids вместо to node, если вы хотите отправить уведомление на несколько устройств с соответствующими firebase_instance_id.
Я отправляю уведомление по таким «темам», как: -
{
"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#, поэтому используйте свой язык программирования. Благодарность
chrome://inspect/#devices в Remote Target Hit Inspect: Демо1registrationId в разделе зарегистрированное устройствоregistrationId" в POSTMAN: Демо2Надеюсь, поможет!
Вы следовали руководству это?