A3L Messagingサンプルアプリ
このページでは、A3L Messaging SDKを使用して作成されたサンプルアプリについて説明します。このアプリの目的は、A3L Messagingの統合方法を示すことです。このアプリを実行するにあたり、コードの記述は不要ですが、構成は設定する必要があります。このアプリは、Google Play対応デバイスとFire OSデバイスの両方にインストールできます。このアプリでは、アプリがインストールされているデバイスにプッシュ通知を送信できます。プッシュ通知を送信するには、サーバー側の認証情報が必要となります。
サンプルアプリプロジェクトのダウンロード
まず、A3L Messagingサンプルアプリをダウンロードします。このファイルには、サンプルアプリの構成・ビルドに使用できるAndroidプロジェクトが含まれています。
プロジェクトのビルド時に「SDK location not found」というエラーが発生した場合は、プロジェクトのルートにあるlocal.propertiesファイルに、Android SDKの場所を示す行を追加します。
例:
- Windowsの場合は、
sdk.dir=C:\\Users\\<ユーザー名>\\AppData\\Local\\Android\\sdk
という行を追加します。 - Macの場合は、
sdk.dir=/Users/<ユーザー名>/Library/Android/sdk
という行を追加します。
<ユーザー名>
は実際のユーザー名に置き換えてください。
サンプルアプリの統合
サンプルアプリでは、デバイス側の認証情報とサーバー側の認証情報の両方が必要です。デバイス側の認証情報はアプリ内に存在し、クラウドメッセージングが機能するうえで必要となります。サーバー側の認証情報は、通常はセキュリティで保護されたサーバー環境で使用する必要がありますが、このアプリではデモンストレーションのために、アプリ自体で使用します。ただし、こうするとセキュリティ保護が適用されなくなるため、実際のプロジェクトでは、サーバー側の認証情報はアプリ内で使用しないでください。
サンプルアプリを実行するには、4つの構成ファイルを設定する必要があります。
ファイル名 | 場所 | 構成のタイプ | メッセージングのタイプ |
---|---|---|---|
api_key.txt 取得方法については、デバイス側の構成の手順1を参照してください。 |
app/src/main/assets/ | デバイス側 | ADM |
adm_server_configuration.json 取得方法については、サーバー側の構成の手順1を参照してください。 |
app/src/main/assets/ | サーバー側 | ADM |
google-services.json 取得方法については、デバイス側の構成の手順2を参照してください。 |
app/ | デバイス側 | FCM |
fcm_server_configuration.json 取得方法については、サーバー側の構成の手順2を参照してください。 |
app/src/main/assets/ | サーバー側 | FCM |
このサンプルアプリの統合ガイドは、デバイス側の構成とサーバー側の構成の2つのパートに分かれています。
デバイス側の構成
まず、Amazon Device Messaging(ADM)とFirebase Cloud Messaging(FCM)の両方について、デバイス側の構成を取得します。
認証情報の生成中に、アプリのパッケージ名の入力が必要となる場合があります。サンプルアプリのパッケージ名は、com.example.SampleA3LMessagingApp
です。
-
ADMの場合は、開発者コンソールにアクセスし、認証情報を取得します。次に、プロジェクトにAPIキーを追加します。開発者コンソール内のアプリの [アプリサービス] セクションでセキュリティプロファイルを関連付けて、アプリのデバイスメッセージングを必ず有効にしてください。
-
FCMの場合は、Firebaseプロジェクトを作成し、アプリをFirebaseに登録します。次に、google-services.jsonという構成ファイルを取得して、そのファイルをプロジェクトに追加します。
サーバー側の構成
次に、ADMとFCMのサーバー側の構成を取得します。
-
ADMの場合は、assetsフォルダにあるadm_server_configuration.jsonに、クライアントIDとクライアントシークレットを追加します。ADMサーバー構成のJSONの例は以下のようになります。
{ "client_id": "<クライアントID>", "client_secret": "<クライアントシークレット>" }
-
FCMの場合は、Googleサービスアカウントキーを作成し、手順に従ってキーをJSONファイルとしてダウンロードします。既存のサービスアカウントキーを使用することもできます。ダウンロードしたJSONの内容をコピーして、assetsフォルダにあるfcm_server_configuration.jsonに貼り付けます。FCMサーバー構成のJSONの例は以下のようになります。
{ "type": "service_account", "project_id": "<プロジェクトID>", "private_key_id": "<キーID>", "private_key": "-----BEGIN PRIVATE KEY-----\n<プライベートキー>\n-----END PRIVATE KEY-----\n", "client_email": "<サービスアカウントのEメール>", "client_id": "<クライアントID>", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/<サービスアカウントのEメール>" }
サンプルアプリのテスト
- 4つの構成ファイルの設定がすべて完了したら、アプリをビルドします。
- Google Playサービスが有効になっているAndroidデバイス、またはFire OSデバイスに、アプリをインストールします。
- アプリを開きます。ようこそページが表示され、デバッグ用のプレースホルダーテキストと [SEND PUSH NOTIFICATION] ボタンが表示されます。
- [SEND PUSH NOTIFICATION] をクリックします。通知トレイを確認するように促すトーストメッセージが表示されます。また、プレースホルダーテキストが表示されていた位置に、デバイスIDを含むデバッグステートメントも表示されます。
- デバイスの通知トレイで、メッセージが正常に配信されたことを確認します。