Amazon Device Messaging(ADM)のセットアップ方法


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など)

プロジェクトを構成する前に、Amazon Mobile App SDKをダウンロードします。同SDKをダウンロードすると、プログラム材料使用許諾契約に同意したものとみなされます。次に、SDKのコンテンツを任意の場所に展開してください。

ADMをAndroid Studioに追加する

IDEベースのプロジェクトでADMを使用するには、ADMライブラリを外部JARとしてプロジェクトに追加します。ADMはどの開発環境でも使用できますが、このセクションではADMをAndroid Studioに追加する方法について説明します。追加方法は以下のとおりです。

  1. 必ずAndroid Studioの最新バージョンをダウンロードし、インストールしておいてください。
  2. Android Studioで新規Androidプロジェクトを作成するか、既存のプロジェクトを開きます。
  3. フォルダ構造をAndroidからProjectに変更します。

    change-folder-structure
    Android Studioでフォルダ構造を変更する
  4. appフォルダでlibsフォルダを見つけます。

    find-libs-in-apps-folder
    appフォルダでlibsフォルダを見つける
  5. ADMのzipファイルを展開した場所からamazon-device-messaging-1.0.1.jarファイルをコピーします。
  6. jarファイルをlibsフォルダに貼り付けます。

    paste-jar-in-libs
    libsにjarファイルを貼り付ける
  7. jarファイルを右クリックし、[Add as library] を選択します。

    add-library
    jarファイルをライブラリとして追加する

    これにより、自動的にcompile files('libs/amazon-device-messaging-1.0.1.jar')コマンドがbuild.gradleファイルに追加されます。

  8. ライブラリはコンパイル時にのみ必要で、実行時には必要ないため(必要なクラスとメソッドはAmazonデバイスに含まれています)、compile filesをprovided filesに変更します。変更前:

    dependencies {
        compile files('libs/amazon-device-messaging-1.0.1.jar')
    }
    

    変更後:

    dependencies {
        provided files('libs/amazon-device-messaging-1.0.1.jar')
    }
    

コマンドラインからADMを追加する

この手順を実行する前に、アプリの統合方法に記載の説明に従って、AndroidManifest.xmlファイルを更新します。また、Apache ANTがインストールされていることを確認します(環境変数のANT_HOMEJAVA_HOMEPATHが、正しく定義されている必要があります)。

  1. ディレクトリをAndroid SDKのtools/パスに変更します。
  2. 以下の構文を使用してコマンドを実行します。ここで、<パス>はプロジェクトを作成する場所、<ターゲットのAndroidプラットフォーム>はプロジェクト用のAndroidプラットフォームを表します。利用可能なプラットフォームの一覧を表示するには、android list targetsを実行します。

    android create project --path <パス> --target <ターゲットのAndroidプラットフォーム> --activity ADMActivity --package com.example.amazon.adm
    
  3. 新規プロジェクトのルートで、ext_libsという名前の新しいディレクトリを作成します。
  4. Amazon Mobile App SDKのAndroid/DeviceMessaging/libディレクトリに移動し、新しいext_libsディレクトリにjarファイルをコピーします。
  5. 新規プロジェクトのルートで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>
    
  6. プロジェクトをビルドするには、プロジェクトのルートディレクトリで次のコマンドを実行します。

    ant debug
    

アプリをテストするプロジェクトを構成する際も、必ず同様の手順を実行します。

Proguardを構成する

Proguardを使用する場合は、proguard.cfgファイルを編集して次の構成を追加します。

#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