Google Cloud Messaging Push-уведомление
могу ли я использовать POSTMAN client в Google Chrome для отправки сообщения полезной нагрузки на сервер GCM для тестирования. Во-вторых, если да, то каков параметр заголовка и url для отправки.
3 ответов
Да, вы можете.
1. Отправить уведомление с полезной нагрузкой JSON
URL:https://android.googleapis.com/gcm/send
заголовки:
- авторизация: ключ=
- тип контента: application / json
тело (нажмите на вкладку "raw"):
{
"collapse_key": "score_update",
"time_to_live": 108,
"delay_while_idle": true,
"data": {
"score": "4x8",
"time": "15:16.2342"
},
"registration_ids":["4", "8", "15", "16", "23", "42"]
}
Примечание: registration_ids
является единственным обязательным полем, все остальные являются необязательными.
2. Отправить уведомление с текстовой полезной нагрузкой
URL-адрес: https://android.googleapis.com/gcm/send
заголовки:
- авторизация: ключ=
- Content-Type: application / x-www-form-urlencoded; charset=UTF-8
тело (нажмите на вкладку "x-www-form-urlencoded"):
collapse_key=score_update
time_to_live=108
delay_while_idle=1
data.score=4x8
data.time=15:16.2342
registration_id=42
Примечание: registration_id
является единственным обязательным полем, все остальные являются необязательными.
просто для записи и для завершения хорошего ответа от @Alexandru Rosianu конечная точка GCM изменилась некоторое время назад, и предлагается использовать новую. Вот пример, взятый из официальных документов:
проверка подлинности
чтобы отправить сообщение, сервер приложений выдает запрос POST. Например:
https://gcm-http.googleapis.com/gcm/send
запрос сообщения сделан 2 частей: заголовок HTTP и тело HTTP.
заголовок HTTP должен содержать следующее заголовки:
-
Authorization
: key=YOUR_API_KEY -
Content-Type
:application/json
для JSON;application/x-www-form-urlencoded;charset=UTF-8
для обычного текста. ЕслиContent-Type
опущено, формат предполагается как обычный текст.
например:
Content-Type:application/json
Authorization:key=YOUR_API_KEY
{
"notification": {
"title": "Portugal vs. Denmark",
"text": "5 to 1"
},
"to" : "bk3RNwTe3H0:CI2k_H..."
}
содержание тела HTTP зависит от того, используете ли вы JSON или обычный текст. См.ссылка на сервер для списка всех параметров, которые может содержать JSON или текстовое сообщение.
пример использование Curl:
# curl --header "Authorization: key=YOUR_API_KEY" \
--header Content-Type:"application/json" \
https://gcm-http.googleapis.com/gcm/send \
-d "{\"notification\": { \"title\": \"Portugal vs. Denmark\"," \
"\"text\": \"5 to 1\" }, \"to\" : \"bk3RNwTe3H0:CI2k_H...\" }"
Да, вы можете использовать почтальона.
этот инструмент тестирования уведомлений GCM значительно упрощает тестирование на стороне сервера, уменьшая количество элементов, которые вы вводите в POSTMAN каждый раз -http://techzog.com/development/gcm-notification-test-tool-android/