基于组的消息传递
组消息传递可让您在单个API调用中向一组设备发送消息,其中组成员身份由应用服务器管理。通过组消息传递,用户可以将所有设备添加到单个组,并向该组发送消息,进而向所有设备发送消息。
在向组发送消息之前,必须获得要添加到组中的每个设备的注册ID。
创建组
如果要创建组,需向组名发送POST请求,其中包含将成为该组一部分的注册ID列表。ADM会送回成功注册ID的计数和失败注册ID的列表。
请求格式
POST /v1/messaging/group/operations
Host: api.amazon.com
Authorization: Bearer (ACCESS_TOKEN)
Content-Type: application/json
{
"operation": "create",
"group_name": "app_group_name",
"registration_ids": ["regId1","regId2","regId3"]
}
POST URL由第二行(Host)和第一行(POST)组成。当您将这些一起添加时,将获得完整的URL,如下所示:
https://api.amazon.com/v1/messaging/group/operations
group_name
充当所有操作的标识符,例如add
、remove
或向组发送下游消息的send
操作。务必将group_name
保存在服务器上,或将其与您服务器上的唯一标识符相关联。
注意以下group_name
要求︰
- 组名称由字母数字字符组成。
- 组名称不含专有或机密信息。
响应格式
部分成功的响应格式如下:
{
"success":1,
"failure":2,
"failed_registration_ids":["regId1","regId2"]
}
完全成功的响应格式如下:
{
"success":3,
"failure":0
}
上述两种情况都会创建ADM组。如果success
字段指示0
,则不会创建组。
在组中添加或删除注册ID
使用add
operation
向组中添加注册ID,并且可使用remove
operation
从组中删除注册ID。
以下是向组添加注册ID的请求的示例。
请求格式
POST /v1/messaging/group/operations
Host: api.amazon.com
Authorization: Bearer (ACCESS_TOKEN)
Content-Type: application/json
{
"operation": "add",
"group_name": "app_group_name",
"registration_ids": ["regId1","regId2"]
}
POST URL由第二行(Host)和第一行(POST)组成。当您将这些一起添加时,将获得完整的URL,如下所示:
https://api.amazon.com/v1/messaging/group/operations
响应格式
下面的响应表示已成功将1个注册ID添加到组中,但未能添加regId1
。
{
"success":1,
"failure":2,
"failed_registration_ids":["regId1"]
}
在组中检索注册ID列表
要从组中检索注册ID列表,需发送POST请求,并将操作参数设置为retrieve
。
请求格式
POST /v1/messaging/group/operations
Host: api.amazon.com
Authorization: Bearer (ACCESS_TOKEN)
Content-Type: application/json
{
"operation": "retrieve",
"group_name": "app_group_name"
}
POST URL由第二行(Host)和第一行(POST)组成。当您将这些一起添加时,将获得完整的URL,如下所示:
https://api.amazon.com/v1/messaging/group/operations
响应格式
{
"registration_ids":["regId1","regId2",..]
}
向组发送下游消息
向组发送下游消息类似于向主题发送消息。不同之处在于,对于基于组的消息传递,将"topic":"SomeTopic"
替换为"group_name":"group_name"
,并将URL更改为组消息传递URL。
请求格式
POST /v1/messaging/group/messages
Host: api.amazon.com
Authorization: Bearer (ACCESS_TOKEN)
Content-Type: application/json
Accept: application/json
{
"group_name": "group_name",
"data":{"key1":"value1","key2":"value2"},
"notification":{
"title":"Notification title",
"body":"Notification Body for ADM"
}
}
POST URL由第二行(Host)和第一行(POST)组成。当您将这些一起添加时,将获得完整的URL,如下所示:
https://api.amazon.com/v1/messaging/group/messages
响应格式
{
"success":1,
"failure":2,
"failed_registration_ids":["regId1","regId2"]
}