Ti ringraziamo per la visita. Questa pagina è per il momento disponibile solo in inglese.

Set up Amazon Device Messaging

To use Amazon Device Messaging (ADM) with your app, you first need to include the ADM JAR in your development environment. You can do this in different ways:

  • using Android Studio
  • using the command line

If you haven't already, see Overview for an overview of the ADM architecture. Obtain credentials describes the process of getting your initial credentials for ADM.

To use ADM in your project, install the following on your development computer:

  • The Android SDK (API 15 or higher)
  • Any Android SDK system requirements, including the JDK

Before configuring your project, download the Amazon Mobile App SDK. By downloading our Amazon Mobile App SDK, you agree to our Program Materials License Agreement. Extract the SDK contents to a location of your choice.

Adding ADM to Android Studio

To use ADM with your IDE-based project, you add the ADM library to your project as an external JAR. Although you can use ADM with any development environment, this section describes how to add ADM to Android Studio. To add ADM to Android Studio:

  1. Make sure you have downloaded and installed the current version of Android Studio.
  2. In Android Studio, create a new Android project or open an existing project.
  3. Change the folder structure from Android to Project.

    change-folder-structure
    Change the folder structure in Android Studio
  4. Search for the libs folder inside the app folder.

    find-libs-in-apps-folder
    Find the libs folder in the apps folder
  5. Copy the amazon-device-messaging-1.0.1.jar file from where you extracted the ADM zip file.
  6. Paste the JAR into the libs folder.

    paste-jar-in-libs
    Paste the jar file in libs
  7. Right click the JAR file and at end click Add as library.

    add-library
    Add jar file as library

    This automatically adds the compile files('libs/amazon-device-messaging-1.0.1.jar') command to the build.gradle file.

  8. Finally, because you need the library only for compile time and not for runtime as the Amazon device will have the necessary classes and methods, change the line from compile files to provided files. Change from this:

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

    to this:

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

Adding ADM from the command line

Before performing this procedure, update your AndroidManifest.xml file, as described in Integrate your app. Also ensure that you have Apache ANT installed, with your ANT_HOME, JAVA_HOME, and PATH environmental variables properly defined.

  1. Change directories into the Android SDK's tools/ path.
  2. Run a command with the following syntax, where <path> is the location where the project will be created, and <target Android platform> is the Android platform for which the project is intended. For a list of available platforms, run android list targets.

    android create project --path <path> --target <target Android platform> --activity ADMActivity --package com.example.amazon.adm
    
  3. At the root of your new project, create a new directory, called ext_libs.
  4. Navigate to the Android/DeviceMessaging/lib directory, in the Amazon Mobile App SDK, and copy the JAR file to your new ext_libs directory.
  5. At the root of your new project, create a custom_rules.xml file that contains the following:

    <?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. To build your project, run the following command from the root directory for your project:

    ant debug
    

Make sure that you take similar steps to configure the projects that test your app.

Configuring Proguard

If you use Proguard, edit the proguard.cfg file and add the following configuration:

#This should point to the directory where ADM's JAR is stored
-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