開発者コンソール

リリースノート


リリースノート

ADMに次のアップデートが行われました。

Fire OS 7で優先度の高いメッセージを送信するためのADMアップデート(2020年9月25日)

優先度の高いメッセージの送信をサポートできるよう、ADMがアップデートされました。デバイスがDozeモードの場合でも、ADMは優先度の高いメッセージの配信を試みます。デバイス側で変更を加える必要はありません。新バージョンのADMを実行するデバイスでは、優先度が「normal」(通常)と「high」(高)のメッセージがサポートされます。メッセージリクエストの本文にpriority(優先度)パラメーターを追加するには、ADMに変更を加える必要があります。デフォルトでのメッセージの優先度は「normal」に設定されています。 アプリが1日に受信できる優先度「high」のメッセージの数は、アプリスタンバイバケットに基づいて制限されます。この上限に達すると、優先度が「high」のメッセージは優先度が「normal」のメッセージに変換されます。

アプリスタンバイバケット 優先度「high」のメッセージ
アクティブ 制限なし
ワーキングセット 制限なし
高頻度 1日あたり10件
低頻度 1日あたり5件

Fire OS 7で発生するクラッシュに対応するためのADM SDKアップデート(2019年12月13日)

ADM SDKがバージョン1.1.0にアップデートされました。ADM SDKはこちらからダウンロードできます。このアップデートでは、Fire HD 10(2019)などのFire OS 7において、プッシュ通知の送信時にアプリがバックグラウンドでクラッシュする問題が修正されています。

以前のリリースでは、ADMはIntentServiceを使用して、バックグラウンドで実行中のクライアントアプリにメッセージを送信していました。Fire OS 7では、IntentServiceはAndroid 8.0(APIレベル26)で課されるすべてのバックグラウンド実行制限の対象となります。たとえば、Androidドキュメントのバックグラウンドサービスの制限事項によれば、以下のような制限があります。

IntentServiceはサービスであるため、バックグラウンドサービスに対する新しい制限事項の対象になります。そのため、IntentServiceに依存する多くのアプリは、Android 8.0以降を対象にすると正常に動作しません。こうした理由から、Androidサポートライブラリ26.0.0に新しいJobIntentServiceクラスが導入されました。このクラスはIntentServiceと同じ機能を提供しますが、Android 8.0以降で実行されるときにサービスではなくジョブを使用します。

アプリがバックグラウンドで実行中にADMメッセージを受信できるようにするには、JobIntentServiceを使用する必要があります。この新しいクラスは、Android 8.0以降で実行される場合、サービスの代わりにジョブを使用します。

ADMMessageHandlerJobBaseは、JobIntentServiceを使用してバックグラウンドでメッセージを配信する新しいクラスです。これまでのADMMessageHandlerBaseに置き換えて、このクラスを使用してください。ADMとやり取りを行うアプリを作成する場合は、ハンドラーでADMMessageHandlerJobBaseを拡張する必要があります。実装例については、登録とメッセージの処理を実装するを参照してください。また、リリースの一環として更新されたAmazon Device Messaging(ADM)のセットアップ方法およびアプリのマニフェストを更新するも参照してください。