通知
Fire TVデバイスは、Android通知APIを介してAndroidの標準的な通知をサポートしています。この通知は「通知センター」に表示されます(以下参照)。
通知の概要
通知とは、アプリのユーザーインターフェイス以外の場所に表示されるユーザー向けメッセージを指します。Amazon Fire TVではAndroid通知APIがサポートされていますが、いくつかの制限があります。
通常、通知はアプリのアップデートをユーザーに知らせるために使用されます。たとえば、以下のようなケースが考えられます。
- 新しいコンテンツが利用可能になった。
- ゲームに新しいレベルが導入された。
- 既存のシリーズで新エピソードが視聴可能になった。
- ライブTVのチャンネル編成が変更になった。
- アプリで新しいゲームパックが利用可能になった。
- 新機能が登場した。
- 新しいバッジやリワードを獲得した。
- 新しいリリースがあった。
Amazon Fire TV対応アプリの通知機能を利用すれば、スマートフォンで受け取る一般的な通知と同様のエクスペリエンスを提供することができます。通知は、何らかの形でアプリを再度利用するようにユーザーを促すための手段とも言えます。
Amazon Fire TVがサポートする通知の種類
Amazon Fire TVで作成できる通知の種類は以下のとおりです。
ヘッドアップ通知
Amazon Fire TVでは、Androidのヘッドアップ通知がサポートされています。Androidデバイスでは通常、ヘッドアップ通知はフローティングウィンドウとして画面の上部に表示されます。ユーザーはこのウィンドウで何らかの操作を行うことができます(例:ほかのアプリを使用しているときに通話を受ける)。
Fire TVの場合、ヘッドアップ通知は画面の下部に表示され、数秒後に消える仕様になっています。通知の表示中に、ユーザーは何らかの操作を実行することができ、ボタンをクリックしたり、戻るボタンで通知を消去したりすることができます。
未消去のヘッドアップ通知はすべて通知センターに表示されるので、都合のよいタイミングで通知を確認することができます。以前は、ユーザーがヘッドアップ通知を見逃した場合、確認する方法がありませんでした。
ヘッドアップ通知を作成する際は、必ず以下のように通知の優先度を高く設定してください。
.setPriority(Notification.PRIORITY_HIGH) // ヘッドアップ通知は優先度を高く設定する必要があります
Amazon Fire TVではプログレスバーの表示および複数の通知表示はサポートされていません。レイアウトに関しては、ヘッドアップ通知の高さは通常のレイアウトのみに制限されています(拡張レイアウトはありません)。
トースト
ほとんど使用されませんが、Fire TVはトーストもサポートしています。トーストはアプリ内で短い時間表示されてから消える小さなポップアップウィンドウです。トーストのメッセージに対してアクションを取ることはできません。ヘッドアップ通知とは異なり、通知センターに保存されることもありません。
標準の通知
標準の通知は情報提供を目的としていて、画面の右下隅にポップアップ表示されるヘッドアップ通知とは異なり、フォアグラウンドアクティビティを妨げることはありません。アプリからの通知は、表示されるとすぐに通知センターに追加されます。
通知センターは、[設定] メニュー内に表示されます。未読の通知がある場合は、[設定] の横に小さなベルが表示されます。
[設定] で [通知] を選択すると、本ドキュメントで「通知センター」と呼んでいる画面が開きます。
通知センターでは、新着順に通知がリストにまとめられています。アプリにアップデートがある場合、Amazon Fire TVアプリストアクライアントを介して自動的に通知が送信される仕様になっています。以下の例を見ると、2つのアプリにアップデートがあることがわかります。
アイコンをクリックすると、利用可能なアップデートが表示され、アップデートを行うかどうかを選択することができます。
通知には、通知の理由が伝わる情報を含めてください。通知が選択されたときにアプリを起動させるオプションのインテントを含めることも可能です。たとえば、インテントに関連付けられた特定のアクティビティに対するディープリンクを使用して、ユーザーがアプリを起動できるようにすることができます。
アップデートが完了すると、ユーザーはアプリの起動を促されます。
また、デバイスごとにアプリ通知のオンとオフを切り替えることもできます(より細かな通知の構成は不可)。 アプリ通知を制御する場合は、[環境設定] > [通知設定] > [アプリの通知] の順に移動します。
さらに、[制限なし] を選択して、ヘッドアップ通知が画面に表示されないようにすることもできます(標準の通知は引き続き通知センターに表示され、メインナビゲーションの [設定] にベルのアイコンが表示されます)。
すべての通知は、ユーザーが通知に対処するか、通知を消去するか、アプリ通知を無効にするか、またはアプリによって通知が削除されるまで、通知センターに表示されます。
ヘッドアップ通知として表示された際に消去されなかった通知は、通知センターに表示されます。
各通知には、受信した時刻や日付が表示されます。
ユーザーが通知センターにアクセスすると、通知をクリックしたかどうかにかかわらず、[設定] のベルアイコンは削除されます。
通知の要件
通知の要件を以下に示します。
機能 | 説明 | 必須・任意 |
---|---|---|
大きな画像 | 通知カードでタイル画像として使用される画像です(通知センターに表示されます)。画像の縦横比は16:9である必要があります。画像コンテナのサイズは228dp x 128dpなので、このサイズと同じかそれ以上の大きさにしてください。大きな場合は縮小されます。詳細については、setLargeIcon(英語のみ)を参照してください。大きな画像が提供されない場合、大きい方のアプリアイコンが使用されます。 | 任意 |
アクション | アプリの起動またはディープリンクを行うAndroidインテントです。 | 任意 |
タイトル | 通知のタイトルです。 | 必須 |
説明 | 通知の概要です。 | 必須 |
アクションテキスト | メニューボタンのテキスト(デフォルトは「今すぐ起動」)です。このテキストは、緊急の通知にのみ表示されます。 | 任意 |
優先度 | Androidにおける通知の優先度です(範囲は-2~+2)。優先度が+1または+2(HIGHまたはMAX)の場合、通知は「緊急の通知」と見なされます。デフォルトの優先度は0です。 | 任意 |
コードサンプル
コードサンプルおよび通知作成の技術的な手順については、Androidドキュメントの通知の概要を参照してください。
システム通知
Amazon Fire TVでは、ユーザーに対してシステム通知も送信されます。サードパーティアプリではシステムメッセージ通知を複製または開始することはできません。しかし、重要な情報なのでここで取り上げます。Fire TVの一般的なシステム通知には、以下のようなものがあります。
- 低バッテリーステータス
- ヘッドホンの接続解除
- Bluetoothのペアリング
- アプリのダウンロード/インストール完了
- その他システムアップデート
これらの通知は画面の隅に小さなポップアップとして表示され、すべてのコンテンツの上に重ねて表示することができます。また、システム通知も通知センターに保存されます(ただし、最初に表示されたときにユーザーが通知を消去した場合は保存されません)。
Amazon Fire TVでは、アプリにアップデートがあるときにも通知が表示されます。これはFire TVアプリストアのクライアントがトリガーするもので、該当アプリ自体が作成するものではありません。
アプリアップデートに関して、Fire TVでは2種類のメッセージが作成されます。「必須のアップデート」メッセージは、アプリのアイコン上に表示される視覚的なプロンプトで、新しいアップデートが利用可能であることを示します。
もう1つのアップデートメッセージは、デバイスのダイアログボックスを介してユーザーに通知されます。ユーザーがアプリやゲームで新しいセッションを開始すると、新機能の詳細と共に、 [今すぐアップデート] と [後でアップデート] のオプションが表示されます。
アプリがインストールされると、起動の準備が整っていることを知らせるクイック通知が表示されます。
廃止されたAmazon Fire TV通知APIからの移行
以前のAmazon Fire TVでは、TVでの使用を目的としたカスタム通知APIが使用されていましたが、Fire OS 5の段階で廃止となりました。現在もFire TV通知APIを使用している場合、通知は引き続き機能しますが、このAPIは今後Fire TVから削除される予定です。標準のAndroid(Lollipop)通知APIへの移行を強くお勧めします。
Amazon通知APIから移行する場合は、以下の手順に従います。
AmazonNotification
とAmazonNotificationManager
への参照、およびcom.amazon.device.notification
パッケージへの参照をすべて削除します。これらは、Android通知APIのNotification
クラスとNotificationManager
クラスに置き換えることができます。AmazonNotification.setType()
メソッドおよびTYPE_INFO
とTYPE_MEDIA_INFO
定数への参照を削除します(Androidの通知では、これらの種類を指定することができません)。