The following updates have been made to ADM.
ADM Update to Send High Priority message on Fire OS 7
ADM has been updated to support the sending of high priority messages. ADM will attempt to deliver high priority messages even when the device is in doze mode. No changes are required on the device side. Devices that have the updated version of ADM will support ‘normal’ and ‘high’ priority messages. Changes need to be made to the service to add the priority parameter to the body of the message request. By default, the priority of messages is set to ‘normal.’ The number of 'high' priority messages an app can receive per day is limited by the app's standby bucket. Once the limit is reached, 'high' priority messages will be converted to 'normal' priority messages.
|App Standby Bucket||High Priority Messages|
|Working Set||No limit|
ADM SDK Update to Handle Crashes on Fire OS 7 (December 13, 2019)
The ADM SDK has been updated to version 1.1.0. You can download the ADM SDK here. This update fixes an issue that was causing apps on Fire OS 7 (such as the 2019 Fire HD 10) to crash in the background when push notifications were sent.
In previous releases, ADM used
IntentService to send messages to client applications running in the background. In FireOS 7,
IntentService is subject to all the background execution limits imposed with Android 8.0 (API level 26). For example, according to Background Service Limitations in the Android documentation:
IntentServiceis a service, and is therefore subject to the new restrictions on background services. As a result, many apps that rely on
IntentServicedo not work properly when targeting Android 8.0 or higher. For this reason, Android Support Library 26.0.0 introduces a new
JobIntentServiceclass, which provides the same functionality as
IntentServicebut uses jobs instead of services when running on Android 8.0 or higher.
In order for apps to receive ADM messages while running in the background, they must use a
JobIntentService. This newer class uses jobs instead of services when running on Android 8.0 or higher.
ADMMessageHandlerJobBase is a new class that will use
JobIntentService to deliver messages in the background. You should use this class in place of the old
ADMMessageHandlerBase. When creating an app which interacts with ADM, you should extend
ADMMessageHandlerJobBase in your handler. To follow along with an example, see Implement Handling for Registration and Messages. Additionally, see also Set Up Amazon Device Messaging and Update your App Manifest, which were also updated as part of the release.