リモート通知の送信

 

概要

RESTful API を用いて、ユーザー宛にリモート通知を送信することが出来ます。

リモート通知は定型文のみの利用が可能です。

/remote_notification/@app/{groupId}
/remote_notification/@app/@all/{recipientId}
パラメータ名説明
groupId文字列

@all、@android、@ios のいずれか指定できます。

リクエスト本文内 JSON に recipientId の指定がない場合:
@all: アプリの全ユーザにリモート通知を送信します。
@android: アプリの Android ユーザだけにリモート通知を送信します。
@ios: アプリの iOS ユーザだけにリモート通知を送信します。

リクエスト本文内 JSON に recipientId の指定がある場合:
@all: recipientId で指定されたユーザに送信されます。
@android: Android 端末だけを対象に、recipientId で指定されたユーザに送信されます。
@ios: iOS 端末だけを対象に、recipientId で指定されたユーザに送信されます。

recipientIdユーザ ID

単一ユーザ指定でリモート通知を送信する場合、送信対象のユーザ ID

署名方式

  • 2-legged(Trusted モデル)
  • 3-legged(Proxy モデル)

3-legged(Proxy モデル) 方式ではブロードキャスト(@all、@android、@ios)送信ができません。

Please refer here for the details of authentication flow and here for how to sign request to generate the Authorization header.

HTTP メソッド

POST

リクエストヘッダー

  • Authorization ヘッダーは必須になります。
  • Content-Type: application/json; charset=utf-8

URL クエリパラメータ

なし

リクエスト本文

下記パラメータを持つ JSON 文字列。詳細については下記実例をご参照下さい。

名前説明必須
recipientIdユーザ ID 配列ユーザ指定でリモート通知を送信する場合、最大 1000 人のユーザを対象に配列に指定できます。
@all、@android、@iOS と併用。
No
payloadオブジェクト下記リモート通知の内容や設定などを含むオブジェクト。Yes
payload.message文字列リモート通知のメッセージ内容です。通知バーに表示されます。
UTF-8の文字列で指定してください。
Yes
payload.badge数値iOS のみ。
iOS端末にリモート通知が送信された場合、badge の数値は受信側のアイコンのバッジとして
使用されます。badge が指定されない場合は数字は特に送信されません。
Android端末の場合は、badge が送信されても影響は有りません。
No
payload.sound文字列iOS のみ。
iOS端末にリモート通知が送信された場合、受信側の警告音として使用されます。
sound はアプリケーションに含まれた音声ファイル名になります。
音声ファイルが存在しない場合、"default"が指定された場合、デフォルトの警告音が再生されます。
Android端末の場合は、sound が指定されていても無視され音は再生されません。
No
payload.collapseKey文字列

Android のみ。
Android端末にリモート通知が送信された場合、対象端末がオフラインのときに、
最後のメッセージだけが送信されるようにするための任意の文字列になります。
Android端末上では、任意の文字列で上書きされて表示されます。
ただし、リモート通知は通知の順序の保証がありませんので、本当に最後のメッセージか
というのは保証できません。また、collapseKey が指定されていない場合は、
全て同じ文字列が指定されます。iOS端末の場合は、collapseKey が指定されていても無視されます。

No
payload.style文字列Android のみ。
Android端末にリモート通知が送信された場合、通知領域のスタイルとして使用されます。
スタイルが指定されていない、またはスタイルが使用できない場合は、
デフォルトのスタイルが指定されます。有効なスタイルは"normal"と"largeIcon"になります。
Native / Unity SDK の場合、Android 2.3以上でのみ使用できます。
詳細につきましては、
こちらをご確認下さい。iOS端末の場合は、style が指定されていても無視されます。
No
payload.iconUrl文字列Android のみ。
Android端末にリモート通知が送信された場合、かつ style が指定されている場合、iconUrl は、
Androidの通知領域に表示されるイメージを決定するために使用されます。
iOS端末の場合は、iconUrl が指定されていても無視されます。
No
payload.extrasオブジェクト任意の1階層分の連想配列を Key/Value の形式で設定することができます。
例){ "foo" : "1", "bar" : "twenty one" }
No

レスポンスコード

HTTP ステータスコード

HTTP ステータスメッセージ

説明

201

Created

データの作成が成功した場合

202

Accepted

データの更新が成功した場合

400

Bad Request

クライアント側のリクエストデータが不正です

401

Unauthorized

認証エラーです

403

Forbidden

リソースは存在するが認証エラー以外の理由でアクセス出来ない場合です

404

Not Found

存在しないリソースです

429

Too Many Requests

リクエスト数が制限を超えた場合です
Game to All User 通知については、1 時間に 1 度のみ送信できます

500

Internal Server Error

API サーバー側のエラーです

503

Service Unavailable

一時的に API が利用不可となっている場合です

レスポンス本文

  • リモート通知の送信結果。空の場合があります。
  • Content-Type: application/json; charset=utf-8

実例

アプリの全ユーザにブロードキャスト通知送信(2-legged(Trusted モデル))
Base String
HTTP リクエスト
HTTP レスポンス

 

限定された複数ユーザにブロードキャスト通知送信(2-legged(Trusted モデル))
Base String
HTTP リクエスト
HTTP レスポンス
Game-to-User リモート通知を一人のユーザに送信します(2-legged(Trusted モデル))
Base String
HTTP リクエスト
HTTP レスポンス
User-to-User リモート通知を一人のユーザに送信します(3-legged(Proxy モデル))
Base String
HTTP リクエスト
HTTP レスポンス

PREVIOUS

デバイストークンの登録状態確認

NEXT

リモート通知予約機能の使い方