开发者控制台

基于组的消息传递

基于组的消息传递

组消息传递可让您在单个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充当所有操作的标识符,例如addremove或向组发送下游消息的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,并且可使用removeoperation从组中删除注册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"]
}