グループベースのメッセージング
グループメッセージングを使用すると、単一のAPI呼び出しでデバイスのグループにメッセージを送信できます。この場合、グループのメンバーシップはアプリサーバーによって管理されます。これにより、ユーザーが複数のデバイスを所有している場合、すべてのデバイスを1つのグループに追加して、そのグループにメッセージを送信することで、すべてのデバイスにメッセージを送信できます。
グループにメッセージを送信する前に、グループに追加する各デバイスの登録IDを取得する必要があります。
グループの作成
グループを作成するには、そのグループに含まれる登録IDのリストを指定して、グループ名にPOSTリクエストを送信します。ADMから、成功した登録IDの数と失敗した登録IDのリストが返されます。
リクエスト形式
POST /v1/messaging/group/operations
Host: api.amazon.com
Authorization: Bearer (アクセストークン)
Content-Type: application/json
{
"operation": "create",
"group_name": "app_group_name",
"registration_ids": ["regId1","regId2","regId3"]
}
POST URLは2行目(Host)と1行目(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の追加/削除
登録IDをグループに追加する場合はadd
operation
を、登録IDをグループから削除する場合はremove
operation
を使用します。
以下は、グループに登録IDを追加するリクエストの例です。
リクエスト形式
POST /v1/messaging/group/operations
Host: api.amazon.com
Authorization: Bearer (アクセストークン)
Content-Type: application/json
{
"operation": "add",
"group_name": "app_group_name",
"registration_ids": ["regId1","regId2"]
}
POST URLは2行目(Host)と1行目(POST)で構成されます。これらを組み合わせると、以下のような完全なURLを取得できます。
https://api.amazon.com/v1/messaging/group/operations
レスポンス形式
以下のレスポンスは、1つの登録IDがグループに追加され、regId1
が追加されなかったことを示します。
{
"success":1,
"failure":2,
"failed_registration_ids":["regId1"]
}
グループからの登録IDリストの取得
グループから登録IDのリストを取得するには、オペレーションパラメーターをretrieve
に設定してPOSTリクエストを送信します。
リクエスト形式
POST /v1/messaging/group/operations
Host: api.amazon.com
Authorization: Bearer (アクセストークン)
Content-Type: application/json
{
"operation": "retrieve",
"group_name": "app_group_name"
}
POST URLは2行目(Host)と1行目(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 (アクセストークン)
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は2行目(Host)と1行目(POST)で構成されます。これらを組み合わせると、以下のような完全なURLを取得できます。
https://api.amazon.com/v1/messaging/group/messages
レスポンス形式
{
"success":1,
"failure":2,
"failed_registration_ids":["regId1","regId2"]
}