curl --insecure --header "Авторизация: key=AIzaSyBidmauthkeyisfineL-6NcJxj-1JUvEM" --header "Content-Type: application/json" -d "{\"notification\":{\"title\":\"note-Title\", \"body\":\"note-Body\"}}" https://fcm .googleapis.com/fcm/send
Вот разобранный JSON, чтобы вам было легче видеть:
Код: Выделить всё
{
"notification":{
"title":"note-Title",
"body":"note-Body"
}
}
to
Всё, слово "чтобы". (Заголовки сообщают о 400). Я подозреваю, что это связано с отсутствием буквы «кому» в моем JSON. Что бы можно было поставить вместо «до»? У меня темы не определены, и устройства ни для чего себя не зарегистрировали. Тем не менее, они по-прежнему могут получать уведомления из панели администратора Firebase.
Я хочу попробовать пакет JSON «только данные» из-за удивительных ограничений Firebase. обработка уведомлений: если ваше приложение находится на переднем плане, уведомление обрабатывается ВАШИМ обработчиком, но если ваше приложение находится в фоновом режиме, оно обрабатывается ВНУТРЕННЕ службой Firebase и никогда не передается вашему обработчику уведомлений. ВЕРОЯТНО, это можно обойти, если вы отправите запрос на уведомление через API, но ТОЛЬКО если вы сделаете это только с данными. (Это нарушает возможность обработки одного и того же сообщения в iOS и Android.) Замена «уведомления» на «данные» в любом из моих JSON не имеет никакого эффекта.
ОК , затем я попробовал решение здесь: Firebase Java Server для отправки push-уведомлений на все устройства
, что, как мне кажется, говорит: «Хорошо, хотя уведомления для всех возможны через консоль администратора... на самом деле это невозможно через API». Обходной путь — заставить каждого клиента подписаться на тему, а затем отправить уведомление в эту тему. Итак, сначала код в onCreate:
Код: Выделить всё
FirebaseMessaging.getInstance().subscribeToTopic("allDevices");
Код: Выделить всё
{
"notification":{
"title":"note-Title",
"body":"note-Body"
},
"to":"allDevices"
}
Код: Выделить всё
{
"multicast_id":463numbersnumbers42000,
"success":0,
"failure":1,
"canonical_ids":0,
"results":
[
{
"error":"InvalidRegistration"
}
]
}
Я был очень взволнован, когда смог с нуля написать приложение, которое получил уведомления всего за несколько часов, хотя я никогда раньше не использовал Firebase. Похоже, ему предстоит пройти долгий путь, прежде чем он достигнет уровня, скажем, документации Stripe.com.
Итог: кто-нибудь знает, какой JSON предоставить, чтобы отправить сообщение на все устройства, на которых запущено приложение, для отражения функций консоли администратора?>
Подробнее здесь: https://stackoverflow.com/questions/382 ... s-via-curl
Мобильная версия