REST API リファレンス
- ドキュメントトップ
-
共通
-
プッシュ通知
-
会員管理・認証
-
データストア
-
ファイルストア
-
スクリプト
共通ドキュメント
プッシュ通知登録
Contents |
プッシュ通知登録APIについて
プッシュ通知の登録を行います。
基本仕様
- APIパス:/push
- メソッド:POST
リクエストヘッダー
シグネチャやAPIキーなどの詳細は「共通フォーマット」を参照してください。
フィールド名 | 内容 |
---|---|
Content-Type | application/json |
リクエストコンテント
パラメータ名 | 説明 | データ型 | 必須 | 備考 |
---|---|---|---|---|
deliveryTime | 配信時刻 | 日付 | △ | |
immediateDeliveryFlag | 即時配信 | 真偽値 | △ | |
target | ターゲット | 配列 | ios, android のどちらか、もしくは両方の値の配列 | |
searchCondition | 検索条件 | オブジェクト | ||
title | タイトル | 文字列 | ||
message | メッセージ | 文字列 | ||
userSettingValue | ユーザー設定値 | オブジェクト | ||
deliveryExpirationDate | 配信期限日 | 日付 | ||
deliveryExpirationTime | 配信期限時間 | 文字列 | ||
action | アクション | 文字列 | Android端末のみ設定可能 | |
dialog | ダイアログ通知有効化フラグ | 真偽値 | Android端末のみ設定可能 | |
badgeIncrementFlag | バッジ数増加フラグ | 真偽値 | iOS端末のみ設定可能 | |
badgeSetting | バッジ数 | 数値 | iOS端末のみ設定可能 | |
sound | 音楽ファイル | 文字列 | iOS端末のみ設定可能 | |
contentAvailable | content-availableフラグを1と設定 | 真偽値 | iOS端末のみ設定可能 | |
richUrl | リッチプッシュURL | 文字列 | ||
category | カテゴリ | 文字列 | ||
acl | ACL | オブジェクト |
- 配信時刻か、即時配信のどちらかが指定されている必要があります。
- ターゲット、検索条件が未指定の場合、全端末へ配信処理が行われます。
- 配信処理では、APNs証明書(iOS端末)/Androidプッシュ通知設定ファイル(Android端末)の確認が行われます。正しく設定していない場合、配信エラーとなるので注意してください。プッシュ通知自体が正常に登録された場合であっても、実際に配信される際に、指定したターゲット(iOS/Android)に関する以下のチェック条件がNGの場合には、配信エラー(ステータス:4)が返却されます。プッシュ通知を登録する前に、必ず証明書・プッシュ通知設定ファイルを登録しておいてください。
- iOS:証明書の存在チェック & 配信時刻に対する証明書の有効期限範囲内チェック
- Android:プッシュ通知設定ファイルの存在チェック
- ユーザー設定値には、プッシュ通知に含める独自情報をJSON形式で設定できます。
- pushIdはシステムで使用するキー値なので使用不可です。
- JSONデータのパラメータには、以下の文字が使用できません。
- ダブルクォーテーション「"」
- ドット「.」
- 先頭にドル記号「$」
- 配信期限日と配信期限時間は、どちらかしか設定できません。
- 配信期限時間は、時間単位または日単位の指定が可能です。
- 時間単位指定の場合:{"deliveryExpirationTime":"3 hour"}
- 日単位指定の場合:{"deliveryExpirationTime":"3 day"}
- 未指定時の初期値は「(空文字)」となります。
- 検索条件は、JSON形式で配信端末のキーと値を指定します。
- 配信端末登録時に、任意の情報を設定することで、検索条件を拡張することも可能です。
- ACL未指定時の初期値はシステム側であらかじめ設定されているデフォルト値になります。 詳細はACLフォーマットをご覧ください。
検索条件の例
"searchCondition": {
"channels": "ch1",
"appVersion": "1.0"
}
- アクション、ダイアログ通知有効化フラグは、Android端末への配信時に設定可能です。
- ダイアログ通知機能をアプリ側で実装していない場合は、ダイアログ通知有効化フラグが無視され、通常のプッシュ通知になります。
- バッジ数増加フラグ、バッジ数、音楽ファイル、content-availableは、iOS端末への配信時に設定可能です。
- content-availableの項目の挙動はAPNsのドキュメントを参照してください。
- contentAvailableは、falseもしくは設定されない場合、送信されるプッシュ通知のペイロードにcontent-available項目は設定されません。
- バッジ数増加フラグの初期値は「true」です。
- バッジ数の初期値は「null」です。
- content-available、バッジ数増加フラグの両方を「true」に設定することはできません。
- content-available、バッジ数増加フラグのどちらか1つでも「true」の場合は、バッジ数に「null」以外の値は設定できません。
- 音声ファイルを空欄に指定すれば、デフォルト通知音をオフにすることができます。
※ペイロードについての注意
アプリがバックグラウンドにいる状態でペイロードを取得するために配信を登録する場合、content-availableをtrue指定する必要があります。
なお、アプリがフォアグラウンドにいる場合は、content-availableがfalseもしくは設定しない場合でも取得可能です。
ペイロードの内容についてもご確認ください。
(iOS 13.6以降で動作確認をした結果です。)
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"}
お探しの内容が見つからなかった場合はユーザーコミュニティ
もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。
推奨画面サイズ1024×768px以上