Amazon Device Messaging(ADM)のセットアップ方法
アプリでAmazon Device Messaging(ADM)を使用するには、まずADM JARを開発環境に組み込む必要があります。Android Studioまたはコマンドラインを使用して、組み込みを行ってください。
前提条件
ADMアーキテクチャの概要については、Amazon Device Messaging(ADM)についてを参照してください。ADMの初期認証情報を取得するプロセスは、認証情報の取得方法に記載されています。
プロジェクトでADMを使用するには、開発用コンピューターに以下をインストールします。
- Android SDK(API 15以降)
- Android SDKのシステム要件(JDKなど)
上記のリソースは、Android Studioのインストール時に既に含まれています。
ADMをAndroid Studioに追加する方法
IDEベースのプロジェクトでADMを使用するには、ADMライブラリを外部JARとしてプロジェクトに追加します。ADMはどの開発環境でも使用できますが、このセクションではADMをAndroid Studioに追加する方法について説明します。追加方法は以下のとおりです。
- Amazon Device Messaging(ADM)SDKのダウンロードを行い、zipフォルダをアクセスしやすい場所に展開します。
- 必ずAndroid Studioの最新バージョンをダウンロードし、インストールしておいてください。
- Android Studioで新規Androidプロジェクトを作成するか、既存のプロジェクトを開きます。
-
フォルダ構造をAndroidからProjectに変更します。
-
appフォルダでlibsフォルダを見つけます。
- ADMのzipファイルを展開した場所からamazon-device-messaging-1.1.0.jarファイルをコピーします。
-
jarファイルをlibsフォルダに貼り付けます。
-
jarファイルを右クリックし、[Add as library] を選択します。
これにより、自動的に
implementation files('libs/amazon-device-messaging-1.1.0.jar')
コマンドがbuild.gradle
ファイルに追加されます。 -
最後に、ライブラリは実行時ではなくコンパイル時にのみ必要になるため、次の宣言で
implementation
をcompileOnly
に変更します。変更前:dependencies { implementation files('libs/amazon-device-messaging-1.1.0.jar') }
変更後:
dependencies { compileOnly files('libs/amazon-device-messaging-1.1.0.jar') }
警告: この手順をスキップすると、ランタイムエラーが発生します。
コマンドラインからADMを追加する方法
この手順を実行する前に、アプリの統合方法の説明に従って、AndroidManifest.xmlファイルを更新します。また、Apache ANTがインストールされていることを確認します(環境変数のANT_HOME
、JAVA_HOME
、PATH
が、正しく定義されている必要があります)。
- ディレクトリをAndroid SDKのtools/パスに変更します。
-
以下の構文を使用してコマンドを実行します。ここで、
<パス>
はプロジェクトを作成する場所、<ターゲットのAndroidプラットフォーム>
はプロジェクト用のAndroidプラットフォームを表します。利用可能なプラットフォームの一覧を表示するには、android list targets
を実行します。android create project --path <パス> --target <ターゲットのAndroidプラットフォーム> --activity ADMActivity --package com.example.amazon.adm
- 新規プロジェクトのルートで、ext_libsという名前の新しいディレクトリを作成します。
- Amazon Mobile App SDKのAndroid/DeviceMessaging/libディレクトリに移動し、新しいext_libsディレクトリにjarファイルをコピーします。
-
新規プロジェクトのルートでcustom_rules.xmlファイルを作成します。このファイルの内容は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?> <project name="custom_rules"> <path id="java.compiler.classpath.path"> <fileset dir="ext_libs" includes="*.jar"/> </path> <property name="java.compiler.classpath" refid="java.compiler.classpath.path" /> </project>
-
プロジェクトをビルドするには、プロジェクトのルートディレクトリで次のコマンドを実行します。
ant debug
アプリをテストするプロジェクトを構成する際も、必ず同様の手順を実行します。
Proguardを構成する
Proguardを使用する場合は、proguard-rules.pro
ファイルを編集して次の構成を追加します。
#ADMのjarファイルが格納されたディレクトリを指す必要があります
-libraryjars libs
-dontwarn com.amazon.device.messaging.**
-keep class com.amazon.device.messaging.** {*;}
-keep public class * extends com.amazon.device.messaging.ADMMessageReceiver
-keep public class * extends com.amazon.device.messaging.ADMMessageHandlerBase
-keep public class * extends com.amazon.device.messaging.ADMMessageHandlerJobBase