README: рассылка через топики, топик не требует создания в консоли
This commit is contained in:
27
README.md
27
README.md
@@ -55,12 +55,35 @@ Content-Type: application/json
|
|||||||
В приложение попадает только `project_id`; сервисный токен в APK не хранится.
|
В приложение попадает только `project_id`; сервисный токен в APK не хранится.
|
||||||
- `push-token` устройства приходит в `onNewToken` (лог `RuStorePush`) и сохраняется
|
- `push-token` устройства приходит в `onNewToken` (лог `RuStorePush`) и сохраняется
|
||||||
в `SharedPreferences` `bus127_push`.
|
в `SharedPreferences` `bus127_push`.
|
||||||
- Приложение подписывается на топик `bus127` — топик должен существовать в консоли.
|
- Приложение подписывается на топик `bus127` при старте. Отдельного создания топика
|
||||||
Сообщения без поля `topic` приходят всем устройствам проекта.
|
в консоли не требуется — публикация в него проходит и для несуществующего.
|
||||||
- Если в запросе есть секция `notification` — уведомление показывает сам SDK;
|
- Если в запросе есть секция `notification` — уведомление показывает сам SDK;
|
||||||
если переданы только `data` (`title`/`body`, необязательный `url`) — приложение
|
если переданы только `data` (`title`/`body`, необязательный `url`) — приложение
|
||||||
показывает его само и открывает ссылку по клику.
|
показывает его само и открывает ссылку по клику.
|
||||||
|
|
||||||
|
### Рассылка
|
||||||
|
|
||||||
|
**Всем подписчикам топика** (все устройства, открывшие приложение):
|
||||||
|
|
||||||
|
```
|
||||||
|
POST https://vkpns-topics.rustore.ru/v1/projects/{project_id}/topics/{topic}/publish
|
||||||
|
Authorization: Bearer {service-token}
|
||||||
|
{"message":{"notification":{"title":"...","body":"..."}}}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Одному устройству** — по его push-токену:
|
||||||
|
|
||||||
|
```
|
||||||
|
POST https://vkpns.rustore.ru/v1/projects/{project_id}/messages:send
|
||||||
|
Authorization: Bearer {service-token}
|
||||||
|
{"message":{"token":"...","notification":{"title":"...","body":"..."}}}
|
||||||
|
```
|
||||||
|
|
||||||
|
Если устройства не подписались сами, их токены можно подписать разом:
|
||||||
|
`POST .../topics/{topic}/batch_subscribe` с `{"push_tokens":[...]}`.
|
||||||
|
Ответ `400` с текстом про `registration token` означает, что адресат не указан
|
||||||
|
или токен устройства неверен; `401`/`403` — неверный сервисный токен или его пара с `project_id`.
|
||||||
|
|
||||||
## Структура
|
## Структура
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user