REST API リファレンス
-
共通
-
データストア
-
会員管理
-
プッシュ通知
-
ファイルストア
-
スクリプト
共通ドキュメント
プッシュ通知登録
Contents |
プッシュ通知登録APIについて
プッシュ通知の登録を行います。
基本仕様
- APIパス:/push
- メソッド:POST
リクエストヘッダー
シグネチャやAPIキーなどの詳細は「共通フォーマット」を参照してください。
フィールド名 | 内容 |
---|---|
Content-Type | application/json |
リクエストコンテント
パラメータ名 | 説明 | データ型 | 必須 | 備考 |
---|---|---|---|---|
deliveryTime | 配信時刻 | 日付 | △ | |
immediateDeliveryFlag | 即時配信 | 真偽値 | △ | |
target | ターゲット | 配列 | ||
searchCondition | 検索条件 | オブジェクト | ||
message | メッセージ | 文字列 | ||
userSettingValue | ユーザー設定値 | オブジェクト | ||
deliveryExpirationDate | 配信期限日 | 日付 | ||
deliveryExpirationTime | 配信期限時間 | 文字列 | ||
action | アクション | 文字列 | Android端末のみ設定可能 | |
title | タイトル | 文字列 | Android端末のみ設定可能 | |
dialog | ダイアログ通知有効化フラグ | 真偽値 | Android端末のみ設定可能 | |
badgeIncrementFlag | バッジ数増加フラグ | 真偽値 | iOS端末のみ設定可能 | |
badgeSetting | バッジ数 | 数値 | iOS端末のみ設定可能 | |
sound | 音楽ファイル | 文字列 | iOS端末のみ設定可能 | |
contentAvailable | content-available | 真偽値 | iOS端末のみ設定可能 | |
richUrl | リッチプッシュURL | 文字列 | ||
category | カテゴリ | 文字列 | ||
acl | ACL | オブジェクト |
- 配信時刻か、即時配信のどちらかが指定されている必要があります。
- ターゲット、検索条件が未指定の場合、全端末へ配信処理が行われます。
- 全端末への配信処理では、installation内のiOS端末/Android端末それぞれの有無に関わらず、最初にAPNs証明書(iOS端末)/APIキー(Android端末)両方の確認が行われます。両方を正しく設定していない場合、配信エラーとなるので注意してください。
- ユーザー設定値には、プッシュ通知に含める独自情報をJSON形式で設定できます。
- pushIdはシステムで使用するキー値なので使用不可です。
- JSONデータのパラメータには、以下の文字が使用できません。
- ダブルクォーテーション「"」
- ドット「.」
- 先頭にドル記号「$」
- 配信期限日と配信期限時間は、どちらかしか設定できません。
- 配信期限時間は、時間単位または日単位の指定が可能です。
- 時間単位指定の場合:{"deliveryExpirationTime":"3 hour"}
- 日単位指定の場合:{"deliveryExpirationTime":"3 day"}
- 未指定時の初期値は「(空文字)」となります。
- 検索条件は、JSON形式で配信端末のキーと値を指定します。
- 配信端末登録時に、任意の情報を設定することで、検索条件を拡張することも可能です。
- ACL未指定時の初期値はシステム側であらかじめ設定されているデフォルト値になります。 詳細はACLフォーマットをご覧ください。
- FCM対応したプッシュ通知を使用したい場合は以下の手順を実施してください。
- installationクラスに「pushType」フィールドを作成してください。その後、FCM対応したプッシュ通知を送りたいAndroid端末のレコードの「pushType」フィールドに「fcm」と入力してください。このフィールドに「fcm」と入力されたAndroid端末のみ、FCM対応したプッシュ通知を送信します。
検索条件の例
"searchCondition": {
"channels": "ch1",
"appVersion": "1.0"
}
- アクション、タイトル、ダイアログ通知有効化フラグは、Android端末への配信時に設定可能です。
- ダイアログ通知機能をアプリ側で実装していない場合は、ダイアログ通知有効化フラグが無視され、通常のプッシュ通知になります。
- バッジ数増加フラグ、バッジ数、音楽ファイル、content-availableは、iOS端末への配信時に設定可能です。
- content-availableの初期値は「false」です。
- バッジ数増加フラグの初期値は「true」です。
- バッジ数の初期値は「null」です。
- content-available、バッジ数増加フラグの両方を「true」に設定することはできません。
- content-available、バッジ数増加フラグのどちらか1つでも「true」の場合は、バッジ数に「null」以外の値は設定できません。
HTTPステータス
ステータスコード | 説明 |
---|---|
201 | 登録完了 |
レスポンスヘッダー
フィールド名 | 値 |
---|---|
Content-Type | application/json |
Location | http://mbaas.api.nifcloud.com/2013-09-01/push/オブジェクトID |
レスポンスコンテント
パラメータ名 | 説明 | データ型 | 備考 |
---|---|---|---|
createDate | 登録日時 | 日時 | |
objectId | オブジェクトID | 文字列 |
リクエストサンプル
curl -v -X POST \
-H "X-NCMB-Apps-Session-Token:Lbl1oCK8gLpyOawBOnbIFdpOx" \
-H "X-NCMB-Application-Key: 578ebb84b9036498858ce0aad14ed0b5a662a102ccca34f0033ff20a1f200786" \
-H "X-NCMB-Timestamp: 2013-08-14T15:46:25.543Z" \
-H "X-NCMB-Signature: eQc7tJMSctGUAuAZs9NUto/0KZa5kJyDKDCwwBHqnZ8=" \
-H "Content-Type: application/json" \
-d '{"immediateDeliveryFlag": true, "target":["android"], "message":"Please input your test messge","deliveryExpirationTime":"3 day"}' \
https://mbaas.api.nifcloud.com/2013-09-01/push
レスポンスサンプル
HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Location: http://mbaas.api.nifcloud.com/2013-09-01/push/qHcDdjIlTusGBS0l
{"createDate":"2013-08-30T05:04:19.045Z","objectId":"qHcDdjIlTusGBS0l"}