サーバー構築不要!スマートフォンアプリ向けの新クラウド

トップ >ドキュメント >REST API リファレンス:プッシュ通知登録

共通ドキュメント

プッシュ通知登録

プッシュ通知登録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以上

ページの先頭へ