From baabcd31f815985c831d79a8ef257c5796080145 Mon Sep 17 00:00:00 2001 From: ua1zbe Date: Mon, 28 Sep 2026 12:24:10 +0000 Subject: [PATCH] =?UTF-8?q?README:=20=D1=80=D0=B0=D1=81=D1=81=D1=8B=D0=BB?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20=D1=82=D0=BE?= =?UTF-8?q?=D0=BF=D0=B8=D0=BA=D0=B8,=20=D1=82=D0=BE=D0=BF=D0=B8=D0=BA=20?= =?UTF-8?q?=D0=BD=D0=B5=20=D1=82=D1=80=D0=B5=D0=B1=D1=83=D0=B5=D1=82=20?= =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B2=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=81=D0=BE=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d6e4986..6cb9c78 100644 --- a/README.md +++ b/README.md @@ -55,12 +55,35 @@ Content-Type: application/json В приложение попадает только `project_id`; сервисный токен в APK не хранится. - `push-token` устройства приходит в `onNewToken` (лог `RuStorePush`) и сохраняется в `SharedPreferences` `bus127_push`. -- Приложение подписывается на топик `bus127` — топик должен существовать в консоли. - Сообщения без поля `topic` приходят всем устройствам проекта. +- Приложение подписывается на топик `bus127` при старте. Отдельного создания топика + в консоли не требуется — публикация в него проходит и для несуществующего. - Если в запросе есть секция `notification` — уведомление показывает сам SDK; если переданы только `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`. + ## Структура ```