プッシュ通知

メモ

単一ページアプリケーションフレームワークを基にしたクライアント側レンダリング(React など)が必要なプロジェクトでは、SPA エディターを使用することをお勧めします。詳細情報を参照してください。

重要な通知を AEM Mobile アプリユーザーに即座に警告できることは、モバイルアプリとそのマーケティングキャンペーンの価値にとって重要です。ここでは、アプリがプッシュ通知を受信できるようにするために必要な手順と、AEM Mobileから電話にインストールされているアプリにプッシュを設定して送信する方法について説明します。 また、プッシュ通知にディープリンク機能を設定する方法についても説明します。

メモ

プッシュ通知は保証型配信ではありません。むしろお知らせに近いものです。全ユーザーがプッシュ通知を受信するように最大限の努力が払われていますが、保証型配信メカニズムではありません。Also, the time to deliver a push can vary from less than a second to up to half an hour.

AEM でプッシュ通知を使用するには、さまざまなテクノロジーがいくつか必要になります。まず、プッシュ通知サービスプロバイダーを使用して通知とデバイスを管理する必要があります(AEMはまだこれを行いません)。 Two providers are configured out-of-the-box with AEM: Amazon Simple Notification Service (or SNS), and Pushwoosh. 次に、指定したモバイル OS 向けのプッシュテクノロジーは、適切なサービスである Apple のプッシュ通知サービス(APNS。iOS デバイス用)、Google Cloud Messaging(GCM。Android デバイス用)を経由する必要があります。AEMは、これらのプラットフォーム固有のサービスと直接通信しませんが、プッシュを実行するには、AEMから、通知と共に一部の関連する設定情報を提供する必要があります。

インストールおよび設定(下記)が完了すると、次のように機能します。

  1. プッシュ通知が AEM に作成されて、サービスプロバイダー(Amazon SNS または Pushwoosh)に送信されます。
  2. サービスプロバイダーが、プッシュ通知を受信してコアプロバイダー(APNS または GCM)に送信します。
  3. コアプロバイダーが、プッシュ通知を受け取るように登録されているすべてのデバイスに通知をプッシュします。各デバイスに対して、携帯電話データネットワークまたはWiFi (デバイスで現在使用可能な方)を使用します。
  4. 通知用に登録されているアプリが実行中でない場合、通知はデバイスに表示されます。ユーザーが通知をタップすると、アプリが開始され、アプリ内に通知が表示されます。 アプリケーションが既に実行されている場合は、アプリケーション内通知のみが表示されます。

AEM のこのリリースでは、iOS と Android のモバイルデバイスをサポートしています。

概要および手順

AEM Mobile アプリでプッシュ通知を使用するには、次のおおまかな手順を実行する必要があります。

通常、AEM開発者は次の操作を行います。

  1. Apple および Google メッセージングサービスに登録します。
  2. プッシュメッセージングサービスに登録して設定します。
  3. アプリにプッシュサポートを追加します。
  4. テスト用に電話を準備します。

AEM管理者は次の操作を実行できます。

  1. AEM アプリでのプッシュの設定
  2. アプリのビルドおよびデプロイ
  3. プッシュ通知の送信
  4. ディープリンクの設定(オプション)**

手順 1:Apple および Google メッセージングサービスへの登録

Using the Apple Push Notification Service (APNS)

Go to the Apple page here to become familiar with the Apple Push Notification Service.

To use APNS you will need a Certificate file (a .cer file), a push Private Key (a .p12 file) and a Private Key Password from Apple. Instructions on how to do that can be found here.

Google Cloud Messaging(GCM)サービスの使用

メモ

Google は、GCM を Firebase Cloud Messaging(FCM)という類似のサービスに置き換えます。FCM について詳しくは、こちらを参照してください。

Go to the Google page here to become familiar with Google Cloud Messaging for Android.

You will need to follow the steps here to Create a Google API project, Enable the GCM Service, and Obtain an API Key. Android デバイスにプッシュ通知を送信するには、API キー​が必要になります。Also, record your Project Number, which is also sometimes called a GCM Sender Id.

以下に、GCM API キーを作成する別の方法を示します。

  1. Log into google and go to the Google's Developer page.
  2. リストからアプリを選択します(または新しいアプリを作成します)。
  3. Under Android Package Name, enter your app id, i.e. com.adobe.cq.mobile.weretail.outdoorsapp. (問題が解決しない場合は、「test.test」を使用して再試行します)。
  4. Continue To Choose and configure services」をクリックします。
  5. 「Cloud Messaging」を選択し、「Enable Google Cloud Messaging」をクリックします。
  6. 新しいサーバー API キー(「Server API Key」)と(新規または既存の)送信者 ID(「Sender ID」)が表示されます。
メモ

サーバー API キーを記録します。この値は、プッシュプロバイダーのサイトで入力します。

手順 2:プッシュメッセージングサービスの登録および設定

AEM は、プッシュ通知に 3 つのサービスのうちいずれかを使用するように設定されています。

  • Amazon SNS
  • Pushwoosh
  • Adobe Mobile Services

Amazon SNS および Pushwoosh の設定を使用すると、AEM 画面内からプッシュ通知を送信できます。

Adobe Mobile Services ** の設定を使用すると、Adobe Analytics アカウントを使用して Adobe Mobile Services 内からプッシュ通知を設定および送信できます(ただし、AMS プッシュ通知を有効にするには、この設定をおこなってアプリをビルドする必要があります)。

Amazon SNS メッセージングサービスの使用

メモ

AmazonSNSの情報と、新しいAWSアカウントを作成するためのリンクはこちら。 1 年間無料のアカウントを入手できます。

Amazon SNS を使用しない場合には、この手順をスキップできます。

次の手順に従って、プッシュ通知用に Amazon SNS を設定します。

  1. Amazon SNS への登録

    1. アカウント ID を記録します。形式は12桁で、スペースやダッシュは使用できません。 "123456789012"と表示されます。
    2. 現在の地域が「us-east」または「eu」であることを確認します。後の手順(ID プールの作成)でそのどちらかが必要になるからです。
    3. After registering, log into the management console and select SNS (Push Notification Service). 「Get Started」(はじめに)が表示されたらクリックします。
  2. アクセスキーおよび ID の作成

    1. 画面右上のログイン名をクリックし、メニューから「Security Credentials」を選択します。
    2. Click on Access Keys, and in the space below, click Create New Access Key.
    3. Click Show Access Key, and copy and save the Access Key ID and Secret Access Key shown. キーをダウンロードするオプションを選択した場合には、ダウンロードした csv ファイルにそれらと同じ値が記載されています。
    4. このページでは、他のセキュリティ関連の証明書などを管理できます。
    メモ

    アクセスキーは、複数のアプリで使用できます。

    「AWS サンドボックス」アカウントを使用する組織でも、同様に以下の手順に従います。

    1. 画面右上のログイン名をクリックし、メニューから「My Security Credentials」を選択します。
    2. 左側のアクションのリストから「Users」をクリックして、ユーザー名を選択します。
    3. 「Security credentials」タブをクリックします。
    4. ここからキーを表示し、新規のキーを作成します。後で使用するためにキーを保存します。
  3. トピックの作成

    1. Create Topic」をクリックし、トピック名を選択します。「Topic ARN」、「Topic Owner」、「Region」、「Display name」などすべてのフィールドを記録します。
    2. Click Other Topic Actions > Edit Topic Policy. Under Allow these users to subscribe to this topic, select Everyone.
    3. Update Policy」をクリックします。
    メモ

    開発、テスト、デモなどの、様々なシナリオに合わせて複数のトピックを作成できます。残りのSNS構成は同じままにできます。 別のトピックでアプリを作成します。 そのトピックに送信されるプッシュ通知は、そのトピックで作成されたアプリでのみ受信されます。

  4. プラットフォームアプリケーションの作成

    1. Applications/Create Platform Application をクリックします。名前を選択し、プラットフォーム(iOS の場合は APNS、Android の場合は GCM)を選択します。プラットフォームに応じて、他のフィールドにも入力する必要があります。

      1. APNS の場合、P12 ファイル、パスワード、証明書および秘密鍵をすべて入力する必要があります。These should have been obtained in the step Using the Apple Push Notification Service (APNS) above.
      2. GCM の場合、API キーを入力する必要があります。This should have been obtained in the step Using the Google Cloud Messaging (GCM) service above.
    2. サポート対象のプラットフォームごとに 1 回、上述の手順を繰り返します。iOS と Android の両方にプッシュできるようにするには、2 つのプラットフォームアプリケーションを作成する必要があります。

  5. ID プールの作成

    1. Use Cognito to create an Identity Pool, which will store basic data of unauthenticated users. ただし、現在、Amazon・コグニトがサポートしている地域は「米国東部」と「eu」のみです。
    2. ID プールに名前を付け、「Enable access to unauthenticated identities」ボックスをオンにします。
    3. 次のページ(Your Cognito identities require access to your resources **)で、「Allow」をクリックします。
    4. ページの右上で、「Edit identity pool」リンクをクリックします。** IDプールIDが表示されます。 後で使用するために、このテキストを保存します。
    5. 同じページで、「Unauthenticated role」の隣にあるドロップダウンを選択し、「Cognito_<プール名>UnauthRole」という役割が選択されていることを確認します。変更を保存します。
  6. アクセスの設定

    1. Login to Identity and Access Management (IAM)
    2. 「Roles」を選択します。
    3. 前の手順で作成した役割(Cognito_<ID プール名>Unauth_Role という名前)をクリックします。表示された「ロールARN」を記録します。
    4. 「Inline Policies」をまだ開いていない場合は開きます。1Click_Cognito_<yourIdentityPoolName>Unauth_Role_1234567890123のような名前のポリシーが表示されます。
    5. 「Edit Policy」をクリックします。ポリシードキュメントの内容を次のJSONスニペットに置き換えます。

    {

    "Version": "2012-10-17",

    "Statement": [

    {

    "アクション": [

    "mobileanalytics:PutEvents",

    "cognito-sync:*",

    "SNS:CreatePlatformEndpoint",

    "SNS:Subscribe"

    ],

    "効果": 「許可」、

    "Resource": [

    "*"

    ]

    }

    ]

    }

    1. Apply Policy」をクリックします。

Pushwoosh メッセージングサービスの使用

Pushwoosh を使用しない場合には、この手順をスキップできます。

Pushwoosh を使用するには:

  1. Pushwoosh への登録

    1. pushwoosh.com に移動し、新しいアカウントを作成します。
  2. API アクセストークンの作成

    1. Pushwooshサイトで、APIアクセスメニュー項目に移動してAPIアクセストークンを生成します。 これは、安全に記録する必要があります。
  3. 新しいアプリを作成

    1. Android をサポートする場合には、GCM API キーを指定する必要があります。
    2. アプリを設定するときには、フレームワークとして Cordova を選択します。
    3. iOS をサポートする場合には、証明書ファイル(.cer)、プッシュ証明書(.p12)および秘密鍵のパスワードを指定する必要があります。これらは、Apple の APNS サイトから入手済みです。フレームワークには、Cordovaを選択します。
    4. Pushwoosh が、そのアプリのアプリ ID を「XXXXX-XXXXX」という形式で生成します。各 X は 16 進数値(0 ~ F)です。
メモ

2つ目のアプリが同じアプリID(およびその他の関連値)を持つAEMで設定されている場合: APIアクセストークンとGCM Id(GCM Id)を参照)、AEM上の2番目のアプリを介して送信されるプッシュ通知は、そのアプリIDを持つ他のアプリに送信されます。

手順 3:アプリへのプッシュサポートの追加

コンテンツ同期設定の追加

notificationsConfig という 2 つのコンテンツノードを(1 つは app-config に、もう 1 つは app-config-dev に)作成します。

  • /content/<your app>/shell/jcr:content/pge-app/app-config-dev/notificationsConfig
  • /content/<your app>/shell/jcr:content/pge-app/app-config/notificationsConfig

次のプロパティ(.content.xmlファイル)を使用します。
<jcr:root xmlns:jcr=" https://www.jcp.org/jcr/1.0 " xmlns:nt="https://www.jcp.org/jcr/nt/1.0 "
jcr:primaryType="nt:unstructured"
excludeProperties="[appAPIAccessToken]"
path="…/…/…/…"
targetRootDirectory="www"
type="notificationsconfig"/>

メモ

コンテンツ同期ハンドラーは、これらのノードを検索し、ノードがなければ pge-notifications-config.json ファイルを書き出しません。

クライアントライブラリの追加

次の手順に従って、プッシュ通知クライアントライブラリをアプリに追加する必要があります。

CRXDE Lite で以下の手順に従います。

  1. Navigate to /etc/designs/phonegap/<app name>/clientlibsall.
  2. プロパティペインで「埋め込み」セクションをダブルクリックします。
  3. 表示されるダイアログで、+ ボタンをクリックして新規クライアントライブラリを追加します。
  4. 新規テキストフィールドで、「cq.mobile.push」を追加し、「OK」をクリックします。
  5. もう 1 つ「cq.mobile.push.amazon」というエントリを追加し、「OK」をクリックします。
  6. 変更内容を保存します。
メモ

アプリのスペースの都合で、プッシュ通知を削除したか、使用していない場合は、コンソールのエラーメッセージを避けるために、これらのクライアントライブラリをアプリから削除します。

手順 4:テスト用の電話の準備

メモ

プッシュ通知の場合、エミュレーターはプッシュ通知を受信できないので、実際のデバイスでテストする必要があります。

iOS

For iOS you will need to use a Mac OS computer and you need to join the iOS Developer Program. 一部の企業は、すべての開発者が利用できる会社ライセンスを持っています。

XCode 8.1 では、プッシュ通知を使用する前に、プロジェクトの「Capabilities」タブに移動し、「Push Notifications」のトグルをオンに切り替える必要があります。

Android

To install the app on an Android phone using CLI (see below: Step 6 - Build and deploy the app), you first must put the phone in "developer mode." See Enabling On-device Developer Options for details on doing this.

手順 5:AEM アプリでのプッシュの設定

ビルドして設定済みのモバイルデバイスにデプロイする前に、使用するメッセージングサービス用に通知設定をおこなう必要があります。

  1. プッシュ通知に適切な認証グループを作成します。
  2. 適切なユーザーとして AEM にログインし、「アプリ」タブをクリックします。
  3. 「アプリケーション」をクリックします。
  4. クラウドサービスを管理タイルを検索し、鉛筆をクリックして、クラウド設定を変更します。
  5. 通知設定として、「Amazon SNS 接続」、「Pushwoosh 接続」または「Adobe Mobile Services」を選択します。
  6. プロバイダーのプロパティを入力し、「送信」をクリックして保存し、「完了」をクリックします。AMSの場合を除き、この段階ではリモートでの検証は行われません。
  7. クラウドサービスを管理タイルに、入力した設定が表示されます。

手順 6:アプリのビルドおよびデプロイ

注意: PhoneGapアプリケーションの構築に関する説明は 、こちらも参照してください。

PhoneGap を使用してアプリをビルドしてデプロイするには、2 つの方法があります。

注意: プッシュ通知はプッシュプロバイダー(AppleまたはGoogle)とデバイスの間で異なるプロトコルを使用するので、プッシュ通知テストではエミュレーターは十分ではありません。 現在の Mac/PC ハードウェアおよびエミュレーターは、これをサポートしていません。

  1. PhoneGap Build は、PhoneGapが提供するサービスです。PhoneGapは、アプリを自社のサーバー上で作成し、デバイスに直接ダウンロードできるようにするサービスです。 Refer to the PhoneGap Build documentation to learn how to set up and use PhoneGap Build.

  2. PhoneGap Command Line Interface (CLI)を使用すると、コマンドラインで豊富なPhoneGapコマンドを使用して、アプリの作成、デバッグ、デプロイを行うことができます。 Refer to the PhoneGap developer documentation to learn how to set up and use PhoneGap CLI.

手順 7:プッシュ通知の送信

新規通知を作成して送信するには、次の手順に従います。

  1. 新規通知の作成

    • AEM Mobile アプリのダッシュボードで、プッシュ通知タイルを探します。
    • 右上のメニューで、「作成」を選択します。このボタンは、クラウド設定が最初に設定されるまで使用できません。
    • 通知を作成ウィザードで、タイトルおよびメッセージに入力し、「作成」ボタンをクリックします。これで、通知をすぐに送信するか、後で送信する準備ができました。 編集したり、メッセージやタイトルを変更して保存したりできます。
  2. 通知の送信

    • アプリダッシュボードで、プッシュ通知タイルを探します。
    • 通知を選択するか、右下の「詳細」ボタン(. . )をクリックして、通知のリストを表示します。 また、このリストは、通知の送信準備ができているか、既に送信されているか、送信中にエラーが発生したかを示します。
    • 1 つの通知(のみ)のチェックボックスを選択し、リストの上方にある「通知を送信」ボタンをクリックします。表示されるダイアログで、「キャンセル」または「送信」を行うことができます。
  3. 結果の処理

    • プッシュ通知サービス(Amazon SNS または Pushwoosh)が送信要求を受信し、要求が有効であることを確認してネイティブのプロバイダー(APNS および GCM)に正常に送信した場合には、送信ダイアログがメッセージなしで閉じます。通知リストで、その通知のステータスが「送信済み」と表示されます。

    • プッシュ送信が失敗した場合、ダイアログには問題の発生を示すメッセージが表示されます。通知リストでは、その通知のステータスが「エラー」と表示されますが、問題が修正された場合は、通知を再度送信できます。 エラーのイベント時に、サーバーエラーログに追加のエラー情報が表示されます。

    • iOS と Android のプッシュ通知には、プラットフォームの違いがいくつかあります。その中には

      • CLI によるビルドでアプリが起動するのは、アプリを Android にデプロイした後です。iOSでは、手動で開始する必要があります。 起動時にプッシュ登録手順が行われるので、Androidアプリはすぐにプッシュ通知を受け取ることができます(Androidアプリは起動および登録されるため)が、iOSアプリは受け取りません。
      • Android では「OK」ボタンのテキストはすべて大文字です(アプリ内通知で追加されたその他のボタンも大文字です)が、iOS ではそうではありません。

AMS プッシュ通知では、AMS サーバーから通知を作成し、送信する必要があります。AMSは、AWSおよびPushwooshでAEM通知が提供する機能を超える追加のプッシュ通知機能を提供します。

メモ

プッシュ通知は保証型配信ではありません。むしろお知らせに近いものです。全ユーザーがプッシュ通知を受信するように最大限の努力が払われていますが、保証型配信メカニズムではありません。Also, the time to deliver a push can vary from less than a second to up to half an hour.

プッシュ通知でのディープリンクの設定

ディープリンクとは プッシュ通知のコンテキストでは、これは、アプリを開くか、アプリ内の指定した場所に(開いている場合に)転送するかを許可する手段です。

では、これはどのように機能するでしょうか。プッシュ通知の作成者は、視覚的なパスブラウザーを利用して、オプションで通知にボタンラベル(「Show me!」など)を追加したり、通知内にリンクを記載するページを選択したりできます。送信すると、プッシュが通常どおりに発生しますが、アプリ内メッセージでは「OK」ボタンが「解除」ボタンに置き換えられ、指定した新しいボタン(「Show me!」)も表示される点が異なります。「新規」ボタンをクリックすると、アプリ内の指定されたページに移動します。 「解除」をクリックすると、単にメッセージが消去されます。

アプリが開かれていない場合は、シェードが通常どおりに表示されます。シェードで通知に対してアクションを実行すると、アプリが開き、プッシュ通知で設定された内容に基づいてユーザーにディープリンクボタンが表示されます。

通知を作成し、オプションのディープリンクのボタンテキストおよびリンクパスを追加します。

注意

ダッシュボードのプッシュ通知タイルにアクセスするには、以下の手順に従います。

  1. クラウドサービスを管理​タイルの右上隅の編集アイコンをクリックします。

    chlimage_1-108

  2. Pushwoosh 接続」を選択します。「次へ」をクリックします。

    chlimage_1-109

  3. プロパティの詳細を入力して、「送信」をクリックします。

    chlimage_1-110

    設定を送信すると、ダッシュボードに​プッシュ通知​タイルが表示されます。

    chlimage_1-111

通知を作成ウィザード

ダッシュボードに​プッシュ通知​タイルが表示されたら、通知を作成ウィザードを使用してコンテンツを追加します。

  1. プッシュ通知​タイルの右上隅にある追加記号をクリックし、通知を作成ウィザード​を表示します。

    chlimage_1-112

  2. リンクパス内の参照アイコンをクリックすると、ユーザーにアプリのコンテンツ構造が表示されます。

    パスを選択したら、チェックアイコンをクリックします。

    chlimage_1-113

    メモ

    リンクボタンのテキストは20文字までに制限されています。

    エンドユーザーが最新バージョンのアプリケーションを持っておらず、リンクされたパスを利用できない場合、ディープリンクのアクションを確認すると、ユーザーがアプリのメインページに移動します。

  3. 通知を作成ウィザード​の「テキスト詳細」に入力し、「作成」をクリックします。

    chlimage_1-114

    プッシュ通知​タイルから、作成したプッシュ通知をクリックして、詳細を表示します。

    プロパティの編集、通知の送信、通知の削除をおこなえます。

    chlimage_1-115

メモ

追加情報:

PushwooshおよびAmazonSNSは、6.4リリース以降はサポートされなくなり、パッケージ共有のアドオンとして使用できるようになります。

次の手順

Once you understand the details on push notifications for your app, see AEM Mobile Content Personalization.

このページ