Logo
モバイルプッシュ通知とアプリ内メッセージ
API 経由でモバイルプッシュを送信する
API 経由でモバイルプッシュを送信する

APIによるモバイルプッシュの送信

NTT CPaaSは、モバイルプッシュ通知用メッセージを送信したり、そのメッセージに関する分析情報を取得したりできるようにする信頼性の高いAPIを提供しています。このAPIは、トランザクション、情報やプロモーション関連のユースケースに使用できます。

APIによるモバイルプッシュの送信

モバイルプッシュ通知用メッセージを1人以上の受信者に送信したい時は、Send Push notifications (プッシュ通知を送信 (opens in a new tab)メソッドを使用します。APIの構造は、どのチャネルにも対応できるように統一されていますので、アプリと容易に統合できます。モバイルプッシュ通知パラメーターを使用すると、特定のモバイルアプリケーションのユーザーまたはユーザーのセグメントをターゲットにすることができます。

以下のフィールドの構成を完了します。

Sender (送信者)

アプリケーションプロファイルの識別子です。NTT CPaaSのWebインターフェイスで作成した アプリケーションプロファイル のアプリケーションコードまたはアプリケーションIDを使用します。

Destination (送信先)

モバイルプッシュ通知用メッセージを単一の受信者に送信する場合は、次のいずれかのパラメータータイプを使用します:

  • External user ID (外部ユーザーID)
  • Email (メールアドレス)
  • Phone number (電話番号)
  • Registration (登録)

モバイルプッシュ通知用メッセージを複数の受信者に送信する場合は、Multiple (複数) を使用します。

詳しくは、このページの関連セクションをご参照ください。

パーソナライズされていないデバイスを持つ単一の受信者をターゲットにする場合

パーソナライズされていないデバイスとは、パーソナライズ化に必要な標準属性 (外部ユーザーID、メールアドレスまたは電話番号) のいずれにも関連付けられていないエンドユーザーのデバイスのことです。

パーソナライズされていないデバイスにモバイルプッシュ通知用メッセージを送信するには、次の操作を行います。

  • 送信先のタイプ としてREGISTRATION (登録) を指定します。
  • プッシュ通知登録IDを指定します。この値は、インストールするすべてのモバイルアプリケーションにデフォルトで使用できます。

コードサンプル

json
    "destinations": [
	{
	"pushRegistrationId": "DBE0B0B6-668E-491E-8EE8-2A3DB2C71CBE",
	"type": "REGISTRATION"
	}
	]

プッシュ通知登録ID

次の表に、プッシュ通知登録IDに関する情報を示します。

送信先パラメーターType説明
pushRegistrationId文字列特定のアプリケーションのインスタンスとデバイスの組み合わせを一意に識別するパラメーターです。

このパラメーターは、Mobile SDKで収集できます。

詳細については、次のいずれかの該当ドキュメントをご参照ください。
Android
iOS
Huawei
Flutter
React Native
Cordova

パーソナライズされたデバイスを持つ単一の受信者をターゲットにする場合

パーソナライズされたデバイスとは、パーソナライズされた標準属性 (外部ユーザーID、メールアドレスまたは電話番号) の1つ以上に紐づけられているエンドユーザーのデバイスのことです。

次のいずれかを送信先アドレスとして使用します。

送信先パラメーターType説明
externalUserId文字列パーソンプロファイルで設定されている外部ユーザーIDのことです。
phoneNumber文字列国際形式のMSISDNのことです。例:‪‪‪417930267

/>/>/>この値は、People内のエンドユーザーのパーソンプロファイルのContact information (連絡先情報)タブで使用できます。
email文字列エンドユーザーのメールアドレスのことです。

この値は、People 内のエンドユーザーのパーソンプロファイルの Contact information (連絡先情報) タブで使用できます。

これらは、デフォルトでは使用できないタイプのアドレスです。Mobile SDKまたはPeople APIで定義する必要があります。

コードサンプル

json
    "destinations": [
	{
	"externalUserId": "customer_21234",
	"type": "EXTERNAL_USER_ID"
	}
	]
備考

externalUserId、phoneNumberまたはemailを使用して複数のデバイスがパーソンプロファイルにリンクされている場合、プッシュ通知はデフォルトですべてのデバイスに配信されます。

プライマリーデバイスにのみプッシュ通知を送信したい時は、*<destinations>セクションで<targetOnlyPrimaryDevices>*というパラメーターを使用します。

OR演算子を使って複数の受信者をターゲットにする場合

モバイルプッシュ通知用メッセージを複数の受信者に送信するには、次の操作を行います。

  • 送信先の タイプ として MULTIPLE (複数) を指定します。
  • 送信先パラメーターに複数の値を指定するには、<OR>演算子を使用します。

コードサンプル

json
    "destinations": [
     {
        "$or": [
          {
             "externalUserId": "customer_21234"
           },
           {
             "externalUserId": "customer_21235"
           }
         ],
         "type": "MULTIPLE"
     }
]

デバイス属性を使って複数の受信者をターゲットにする場合

デバイス属性に基づいて複数の受信者をターゲットにすることができます。

これらの送信先アドレスタイプは、デフォルトで有効になっています。

名前Type説明
プラットホーム文字列指定できる値はAndroidまたはiOSです。
sdkVersion文字列GitHubで確認できるSDKのバージョン情報です。
Android用Mobile SDKのリリース
iOS用Mobile SDKのリリース
Huawei用Mobile SDKのリリース

プラグイン用リリース:
Flutter
React Native
Cordova
osVersion文字列オペレーティングシステムのバージョン情報です。
deviceManufacturer文字列デバイスの製造元情報です。
iOSの場合はApple
、Androidの場合はSamsung、Asusなどです。

インストールしている特定のデバイスの値を確認したい場合は、People 内のパーソンプロファイルのContact information (連絡先情報)タブ>Mobile Application (モバイルアプリケーション)セクションをご参照ください。
deviceModel文字列デバイスの機種情報です。例:iPhone 6、iPhone 5s (GSM+CDMA)、LG-D855など。iOSモデルの詳細については、iOS機種一覧 (opens in a new tab) をご参照ください。

インストールしている特定のデバイスの値を確認したい場合は、People 内のパーソンプロファイルのContact information (連絡先情報)タブ>Mobile Application (モバイルアプリケーション)セクションをご参照ください。
applicationVersion文字列アプリケーションのバージョン情報です。
osLanguage文字列モバイルデバイスで設定されている言語です。このパラメーターは、アプリケーションロジックで上書きできます。
deviceSecureブール値デバイスに設定されている生体認証またはパスコードのことです。
notificationsEnabled ブール値エンドユーザーがモバイルアプリケーションの通知を有効にしたデバイスのみをターゲットにしたい場合は、 true に設定します。

次の送信先アドレスの種類は、デフォルトでは使用できません。Mobile SDK で定義する必要があります。

名前Type説明
{custom field}文字列インストール関連のカスタム属性パラメーターのどのフィールドにも適用します。

カスタム属性の実装方法に関する詳細については、下記のいずれかの該当ドキュメントをご参照ください。.
Android用SDK
iOS用SDK
Huawei 用SDK
Flutter用プラグイン
React Native用プラグイン
Cordova

モバイルプッシュ通知用メッセージを複数の受信者に送信するには、次の操作を行います。

  • 送信先の タイプ として MULTIPLE (複数) を指定します。
  • 送信先パラメーターに複数の値を指定したい場合は、<and>演算子と <or>演算子を使用します。

次の例では、すべてのiOSデバイスをターゲットにしています。

コードサンプル

json
    "destinations": [
     {
        "$or": [
          {
             "platform": "iOS"
           }
         ],
         "type": "MULTIPLE"
     }
]

高度なターゲティング

必要なユーザーセグメントを作成し、そのセグメントにモバイルプッシュ通知用メッセージを送信するには、次の操作を行います。

  • 送信先の タイプ として MULTIPLE (複数) を指定します。
  • <and>演算子と <or> 演算子を使用します。

例1

この例では、特定の電話番号に紐づけられている受信者が持っているすべての iOS デバイスがターゲットになります。

コードサンプル
json
"destinations": [
     {
        "$and": [
          {
             "platform": "iOS"
           }, 
          {
             "phoneNumber": "441134960001"
           }
         ],
         "type": "MULTIPLE"
     }
]

例2

この例では、以下の基準を両方とも満たす受信者のみがターゲットになります。

  • カスタムデバイス属性である*Device type (デバイスタイプ)Personal (個人用)またはBusiness (業務用)*のどちらかであること。
  • ターゲットにするデバイスが iOSであること。
コードサンプル
json
"destinations": [
     {
        "$and": [
          {
             "platform": "iOS"
           }, 
          {
             "DeviceType": "personal"
           }
           ],
        "$or": [
           {
            "DeviceType": "business"
           } 
           ],
         "type": "MULTIPLE"
     }
]

アプリケーション内でのプッシュ通知のミラーリング

Send push API (プッシュ通知送信用API) を使用すると、以下のシナリオでアプリケーション内に通知を表示できるようになります。

  • プッシュ通知を表示するだけでなく、アプリ内でも通知を表示できるようにしたい場合。 例: アプリケーションを使用しているが、プッシュ通知を表示できないエンドユーザーに対してトランザクション情報をサポートする場合。
  • プッシュ通知を表示せずに、アプリケーション内でのみ通知を表示できるようにしたい場合。このシナリオでは、通知は通知センターに表示されません。このオプションを使用するには、Silent (サイレント) をプッシュ通知タイプとして選択して有効にします。

メッセージ形式

アプリケーション内で通知を表示したい場合、以下の形式で表示できます:

  • Modal (モーダル):この表示形式を選択すると、通知が画面の一部に重なるようにポップアップとして表示されます。モーダルポップアップ形式は通常、エンドユーザーの注意を十分に引いて、何かを行うように促したい時に選択します。
  • Banner (バナー):この表示形式を選択すると、通知がモバイルアプリのコンテンツ上に小さな通知として一時的に表示されます。バナーとして表示される通知は、モバイルデバイスの画面の上部または下部に表示され、数秒後に自動的に閉じます。バナー形式は通常、アプリを操作中のエンドユーザーに、その操作を中断させることなく、何かを知らせる必要がある時に選択します。

SDKの対応バージョン

アプリ内でメッセージを表示できるSDKバージョンは、以下の通りです。

SDKモーダルポップアップ対応バージョンバナー対応バージョン
Android用SDK1.13.0以降2.0.0以降
iOS用SDK3.6.0以降5.0.0以降
Huawei用SDK1.0.0以降1.0.0以降
Flutter全バージョン全バージョン
React Native全バージョン全バージョン
Cordova用プラグイン0.7.0以降1.0.0以降

通知パラメーター

アプリ内で通知を送信するには、notificationOptionsに以下のパラメーターを追加します。

パラメーター説明
showMirroredPushアプリ内でメッセージを表示できるようにします。
mirroredPushStyle 通知をアプリケーション内でバナー形式で表示するか、モーダルポップアップ形式で表示するかを定義します。
mirroredPushExpirationPeriodフローがアプリ内で通知を配信する最大期間を指定します。
mirroredPushExpirationTimeUnitアプリ内に通知を表示する有効期限の時間単位を設定します。分または時間を選択します。
ボタンmirroredPushStyleMODAL (モーダル) に設定されている場合は、ボタンを定義することもできます。
mirroredPushDismissTitleDismiss (無視) ボタンのテキストを指定します。
mirroredPushOpenTitleOpen (開く) ボタンのテキストを指定します。
onTapButtonActionエンドユーザーがアプリ内の通知の [プライマリー]ボタンをタップした時に実行するアクションを指定します。

APIによる統計データの取得

一括で送信されたプッシュ通知用メッセージの統計データを取得するには、 一括プッシュ通知用メッセージ統計メソッド (opens in a new tab)を使用します。

備考

一括送信リクエストに含まれている各メッセージに関する詳細な配信レポートを取得する方法を詳しく知りたい時は、NTT CPaaS API開発者ハブで入手できる プッシュ通知用メッセージの送信レポート (opens in a new tab) について詳述しているドキュメントをご参照ください。

クエリパラメーター

パラメーターType説明
bulkId文字列送信リクエストを一意に識別するIDです。

応答形式

パラメーターType説明
totalSent 整数送信されたメッセージの合計数を示します。
delivered整数配信されたメッセージの合計数を示します。
seen整数既読されたメッセージの合計数を示します。
エラーerrorユーザーに配信されなかったメッセージを示します。
deliverydeliveryメッセージの一括送信に関する配信情報が得られます。

エラー

パラメーターType説明
registration整数ユーザーがアプリをアンインストールしたために登録無効のエラーが発生したことにより、配信されなかったメッセージを示します。
expired整数有効期間が切れたために配信されなかったメッセージのことです。特定のプッシュ通知用アプリケーションで通知を無効にしたユーザー数を示します。
cloud整数APNSまたはFCMクラウドのエラーが原因で配信されなかったメッセージを示します。クラウドサービスの一時的なエラーが原因で発生します。

配信

パラメーターType説明
配信率のことです。この配信率は、特定の一括送信プロセスで配信されたメッセージの合計数と送信されたメッセージの合計数の比率で算出します。

OMNI APIによるプッシュ通知の送信

OMNI APIは、定義された順序に従って別のチャネルへの自動フォールバックを有効にします。

OMNI APIを使用してプッシュ通知を送信するには、以下の操作を行う必要があります:

  • OMNIシナリオの作成
  • OMNIシナリオに基づくメッセージの送信
  • 配信レポートの取得 (任意)

OMNIシナリオの作成

OMNIシナリオを作成するには、順番に実行するOMNIステップを定義する必要があります。

シナリオに基づいてプッシュ通知を送信するには、モバイルアプリケーションのセットアップ中に生成された送信者 ("from": "APPLICATION CODE") としてプッシュ通知("channel": "PUSH")とAPPLICATION CODEを使用する必要があります。

OMNIシナリオの作成方法について詳しく知りたい時は、NTT CPaaS ドキュメントハブで入手できるモバイルアプリケーションプロファイルの作成 と題した記事をご参照ください。 また、NTT CPaaS API開発者ハブでは、OMNIシナリオの作成方法 (opens in a new tab)ついて詳述しているドキュメントもご参照いただけます。

最も一般的なOMNIシナリオは、SMSをフォールバックチャネルとして使用したプッシュ通知を送信するシナリオです。このようなシナリオを作成する方法については、下記のコードスニペットをご参照ください。

json
    {
      "name" : "push + SMS scenario",
      "flow": [
        {
          "from": "APPLICATION CODE",
          "channel": "PUSH"
        },
        {
          "from": "YOUR_REGISTERED_SMS_SENDER",
          "channel": "SMS"
        }
      ],
      "default": true
    }

OMNIシナリオに基づくメッセージの送信

OMNIシナリオ (keyパラメーターで識別) を作成したら、定義された通信チャネルを介してOMNIメッセージを送信できるようになります。

備考

NTT CPaaSのWebインターフェイス上でプッシュ通知用メッセージを送信できるようにするには、プラットフォームに少なくともモバイルアプリケーションのプロファイルが1つ登録されている必要があります。詳細な手順については、モバイルアプリケーションプロファイルの作成 と題したドキュメントをご参照ください。

1つまたは複数のメッセージを異なるチャネルに送信する場合は、 高度なOMNIメッセージ送信メソッド (opens in a new tab)を使用する必要があります。

受信したプッシュ通知は、様々なオプションを使って処理できます。

名前必須デフォルト値Type説明
vibrationEnabled不可trueブール値通知を届いた時にデバイスを振動させます (Androidのみ対応)。
soundEnabled不可trueブール値デバイスに通知が届いた時に、そのことを音で知らせます。
soundName不可-文字列デバイスに通知が届いた時に再生されるカスタムサウンドに付ける名前のことです。通知音ファイルはアプリ内にある必要があります。再生時間は最大30秒です。ファイルの拡張子は、iOSでは必須ですが、Androidでは任意です。カスタムサウンド (例:notification_sound.wav) は、 soundEnabledがfalseに設定されていると再生されない可能性があります 。詳細については、AndroidまたはiOSでの使用法をそれぞれご確認ください。
badge不可整数バッジカウンターのことです (iOSのみ対応)。
contentUrl不可文字列通知に表示される画像のURLのことです。リッチプッシュ通知は、iOS 10またはAndroid 4.1.+ を搭載したデバイスで使用できます。同機能をサポートしているMobile SDKのバージョンは、iOSの場合は2.5.8以降で、Androidの場合は1.6.4以降です 。
category不可文字列アクション可能な通知のカテゴリーIDのことです。同機能をサポートしているMobile SDKのバージョンは、Androidの場合は 1.6.16 以降で、iOSの場合は 2.6.9 以降です 。事前定義されたカテゴリーID:mm_accept_decline - Accept (承認)とDecline (拒否) ボタンのアクション。
inAppStyle不可文字列設定可能な値は、MODALまたは BANNERです。ユーザーにアプリケーションで行動を促す対話形式のメッセージを送信する場合は、 MODALに設定します。標準のバナー形式でメッセージを表示する場合は、 BANNER に設定します。 MODALは、iOS 3.6.0 以降、Android 1.13.0 以降、Cordova 0.7.0 以降、React Native 1.0.0 以降でサポートされています。 BANNERは、iOS 5.0.0以降、Android 2.0.0以降、Cordova 1.0.0以降、React Native 1.0.0 以降でサポートされています。
isSilent 不可ブール値プッシュ通知用メッセージをサイレントモードで送信するには、 trueに設定します。サイレントモードで送信するメッセージは、デバイスのロック画面と通知センターには表示されません。サイレントメッセージを使用すると、モバイルアプリケーションにカスタムデータを配信したり、アプリ内に通知を表示したりできます。
title不可モバイルプロジェクト内で設定されたアプリケーション名のことです。文字列通知の件名です。この件名はエンドユーザーに表示されます。iOS 10+またはAndroid 4.1+が必要です。(Androidについては、カスタムファームウェアに依存する場合があります。)
webViewUrl不可文字列モバイルアプリケーション内で外部ウェブページを開くためのURL (ウェブビュー) のことです。
inboxTopic不可文字列メッセージを受信トレイに保存するための大文字と小文字を区別するトピック名のことです。指定したアカウントのトピック名が存在しない場合、メッセージの送信は拒否されます。

このコードスニペットは、OMNI APIでオプションを使用してプッシュ通知を送信する方法を示しています。

json
    {
      "scenarioKey": "key",
      "destinations": [
        {
          "to": {
            "phoneNumber": "phone number"
          }
        }
      ],
      "push": {
        "text": "This PUSH message will pop up on your mobile device.",
        "customPayload": {
          "contentUrl": "https://someurl.com/content",
          "deepLink": "myApp://some/link"
        },
        "notificationOptions": {
          "vibrationEnabled": true,
          "soundEnabled": true,
          "soundName": "sound.wav",
          "badge": 1,
          "contentUrl": "http://www.mydomain.com/images/image1.jpg",
          "category": "mm_accept_decline",
          "inAppStyle": "MODAL",
          "title": "This is some title"
        },
        "targetOnlyPrimaryDevices": true,
        "includeNotificationsDisabledDevices": true
      },
      "sms": {
        "text": "This is the SMS failover message"
      }
    }

配信レポートの取得

OMNIレポート (opens in a new tab)メソッドを使用すると、送信したメッセージのステータスを確認したり、配信レポートを取得したりできます。

Logo

ご不明点は

サポートまでお問い合わせ

ください

© NTTCom Online Marketing Solutions Corporation