Я использую функции в течение двух недель в одном из своих новостных приложений. Однако я создал второе новостное приложение с разными новостями. Вызов PN происходит с помощью веб-хука, который отправляет данные о статье всем подписавшимся людям по этой теме. Если я использую веб-хук к моему предыдущему приложению, оно работает отлично. Я использовал тот же код функций из старого приложения и вставил его в новое приложение, и он не работает.
У меня есть:
- Проверено, получаю ли я уведомления на свой iPhone по определенной теме при отправке их с помощью FCM / APNS - Работает
- проверил код и формат уведомлений - все нормально
- Выполнены тесты, если другие функции вызываются - Рабочая
- Телефон подписан на пуш - это
- Устройство подписано на тему - Это так. Протестировано с толчком темы FCM.
- Метод Swizzling включен - это
Вот код для функций:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.sentNotify = functions.https.onRequest((request, response) => {
console.log("notification request received");
console.log(request.body);
let topic = "Martin";//request.body.primaryCategory;
let hottness = request.body.hottness;
let title = request.body.title;
let description = request.body.description;
let thumbnail = request.body.thumbnail;
let link = request.body.url;
const messagePayload = {
notification: {
title: title,
body: description,
icon: 'thumbnail',
sound: 'default',
badge: '0'
},
data:{
link_url: link,
category: "NEWS_CATEGORY"
}
};
const options = {
priority: "high",
timeToLive: 60 * 60 * 24
};
return admin.messaging().sendToTopic(topic, messagePayload, options)
.then(() => {
response.send("OK")
return;
});
});
А вот запрос, который я отправляю:
curl -X "POST" "https://us-central1-<my-app>.cloudfunctions.net/sentNotify" \
-H 'Content-Type: application/json; charset=utf-8' \
-d $'{
"hotness": 7000,
"thumbail": "thumbnail",
"title": "Title",
"publishedAt": "2018-08-24T12:37:08.000Z",
"description": "This is the description",
"primaryCategory": "General",
"url": "https://google.com"
}'