跳到主要内容

通过主题发送推送通知

注意

该门户网站正在开发中。文档的完整版本请看这里.

要处理主题,需要以下工件:

  • project_idproject_id (ID 项目), ss_token (服务令牌) - 这些值可以在开发者控制台中获取。 为此,请转到"Push-通知"部分,在应用程序页面上打开"项目"选项卡。详见推送通知发送部分。
  • push_token - 用于订阅主题和取消订阅的设备推送令牌。
  • topic - 项目中的主题。

向主题发送推送通知

需要包含Authorization标题:Authorization: Bearer $ss_token

请求正文

参数类型描述
datamap包含" key": value 对的对象value
notificationobject (message.notification)适用于所有平台的基本通知模板
androidobject (message.android)Android 消息的特殊参数

成功响应的正文

参数类型描述
messagetext推送成功发送的消息

错误响应的正文

参数类型描述
codeint错误代码
statustext状态
messagetext详细错误

订阅主题的推送通知

需要包含Authorization标题:Authorization: Bearer $ss_token

请求正文

参数类型描述
push_tokensarray (string)需要订阅主题的推送令牌

成功响应的正文

参数类型描述
messagetext订阅成功的消息或存在错误
errorsobjectarray(令牌的错误体)令牌的错误

令牌的错误体

参数类型描述
push_tokentext推送令牌
errorobject(错误响应的正文)错误

错误响应的正文

参数类型描述
codeint错误代码
statustext状态
messagetext详细错误

取消订阅主题的推送通知

需要包含Authorization标题:Authorization: Bearer $ss_token

请求正文

参数类型描述
push_tokensstring array需要从主题中取消订阅的推送令牌

成功响应的正文

参数类型描述
messagetext订阅成功的消息或存在错误
errorsobjectarray(令牌的错误体)令牌的错误

令牌的错误体

参数类型描述
push_tokentext推送令牌
errorobject(错误响应的正文)错误

错误响应的正文

参数类型描述
codeint错误代码
statustext状态
messagetext详细错误

通过主题发送推送通知的示例

订阅主题hello

POST  \'https://vkpns-topics.rustore.ru/v1/projects/{project_id}/topics/{topic}/batch_subscribe\' HTTP /2Content-Type: application /jsonAuthorization: Bearer \$ss_token{    \`\`\"push_tokens\" : \[        \`\`\"kHrfTow3AjqdgUeCJLwbIHd7c0\...\...\" ,        \`\`\"9mbJVS0-2e0cCcIx7X5nxMIgp8\...\...\"    \`\`\]}

成功的响应

HTTP/ 2 200{    \`\`\"message\" :  \"success\"}

部分成功的响

HTTP/ 2 200{    \`\`\"message\" :  \"1 error(s)\" ,    \`\`\"errors\" : \[        \`\`{            \`\`\"push_token\" :  \"9mbJVS0-2e0cCcIx7X5nxMIgp8\...\...\" ,             \`\`\"error\" : {                \`\`\"code\" :  1001 ,              \`\`\"status\" :  \"FORBIDDEN\" ,                \`\`\"message\" :  \"s2s token invalid\"            \`\`}        \`\`}    \`\`\]}

取消订阅主题hello

POST  \'https://vkpns-topics.rustore.ru/v1/projects/{project_id}/topics/{topic}/batch_unsubscribe\' HTTP /2Content-Type: application /jsonAuthorization: Bearer \$ss_token{    \`\`\"push_tokens\" : \[        \`\`\"kHrfTow3AjqdgUeCJLwbIHd7c0\...\...\" ,        \`\`\"9mbJVS0-2e0cCcIx7X5nxMIgp8\...\...\"    \`\`\]}

成功的响应

HTTP/ 2 200{    \`\`\"message\" :  \"success\"}

部分成功的响

HTTP/ 2 200{    \`\`\"message\" :  \"1 error(s)\" ,    \`\`\"errors\" : \[        \`\`{            \`\`\"push_token\" :  \"9mbJVS0-2e0cCcIx7X5nxMIgp8\...\...\" ,             \`\`\"error\" : {                \`\`\"code\" :  1001 ,              \`\`\"status\" :  \"FORBIDDEN\" ,                \`\`\"message\" :  \"s2s token invalid\"            \`\`}        \`\`}    \`\`\]}

向主题hello发送消息hello

POST  \'https://vkpns-topics.rustore.ru/v1/projects/Lpvk29a2Al2P6tWu-a-aN3PKwO6-qvXZ/topics/hello/publish\' HTTP /2Content-Type: application /jsonAuthorization: Bearer \$ss_token{    \`\`\"message\" : {        \`\`\"notification\" :{            \`\`\"body\" : \"This is a notification message!\" ,            \`\`\"title\" : \"Message\" ,            \`\`\"image\" : \"https://image-hosting.org/284239234.jpeg\"        \`\`}    \`\`}}

成功的响应

HTTP/ 2 200{    \`\`\"message\" :  \"payload has been successfully published to topic hello\"}

错误示例BAD_REQUEST

HTTP/ 2 400{    \`\`\"code\" :  2000 ,    \`\`\"status\" :  \"BAD_REQUEST\" ,    \`\`\"message\" :  \"failed to parse request: invalid character \'s\' after object key:value pair\"}

错误示例FORBIDDEN

HTTP/ 2 403{    \`\`\"code\" :  1001 ,    \`\`\"status\" :  \"FORBIDDEN\" ,    \`\`\"message\" :  \"s2s token invalid\"}