Show Menu
トピック×

Android プレーヤーの実装

ここでは、Android プレーヤーの設定について説明します。使用可能な設定ファイルやオプションと、開発およびテストに使用する設定に関する推奨事項について説明します。
さらに、プレーヤーをクラッシュから回復させるソリューションとして、 ウォッチドッグ ​があります。アプリケーションは、ウォッチドッグサービスに登録し、アプリケーション自体がアライブであることを知らせるメッセージを定期的に送信する必要があります。ウォッチドッグサービスに、所定の時間内にキープアライブメッセージが届かないと、ウォッチドッグサービスは、デバイスをリブートしてクリーンリカバリを試みるか(ウォッチドッグサービスが十分な権限が持つ場合)、アプリケーションの再起動を試みます。

Android プレーヤーのインストール

AEM Screens 用の Android プレーヤーを実装するには、同プレーヤーをインストールしてください。
AEM 6.4 Player のダウンロード​ ページにアクセスします。

アドホック方式

アドホック方式を使用すると、最新の Android プレーヤー(**.exe)をインストールできます。 AEM 6.4 Player のダウンロード​ ページにアクセスします。
アプリケーションをダウンロードしたら、以下の手順に従ってプレーヤーのアドホックインストールを完了します。
  1. 左上隅を長押しして、管理パネルを開きます。
  2. 左のアクションメニューから「 設定 」に移動し、接続する AEM インスタンスの場所(アドレス)を入力して、「 保存 」をクリックします。
  3. 左側のアクションメニューから「 デバイスの****登録 」リンクに移動して、デバイス登録プロセスのステータスを確認します。
状態 」が「 登録済み 」の場合は、「 デバイス ID 」フィールドに値が入力されます。
状態 」が「 未登録 」の場合は、 トークン ​を使用してデバイスを登録できます。

Android ウォッチドッグを実装する

Android のアーキテクチャ上、デバイスをリブートするには、アプリケーションがシステム権限を持っている必要があります。そのためには、製造元の署名キーを使用して apk に署名する必要があります。この署名をおこなわないと、ウォッチドッグはデバイスをリブートするのではなく、プレーヤーアプリケーションを再起動します。

製造元のキーを使用した Android apk への署名

PowerManager HDMIControlServices など、Android の特権付き API にアクセスするには、製造元のキーを使用して Android apk に署名する必要があります。
前提条件:
以下の手順を実行する前に、Android SDK をインストールしてください。
次の手順に従って、製造元のキーを使用して Android apk に署名します。
  1. Google Play または AEM Screens Player のダウンロード ページから apk をダウンロードします。
  2. 製造元のプラットフォームキーを入手して、 pk8 ファイルと pem ファイルを取得します。
  3. find ~/Library/Android/sdk/build-tools -name "apksigner" を使用して、Android SDK の apksigner ツールを見つけます。
  4. <pathto> /apksigner sign --key platform.pk8 --cert platform.x509.pem aemscreensplayer.apk
  5. Android SDK の zip align ツールへのパスを見つけます。
  6. <pathto> /zipalign -fv 4 aemscreensplayer.apk aemscreensaligned.apk
  7. adb install を使用して、デバイスに ***aemscreensaligned.apk ***をインストールします。

Android ウォッチドッグの実装

Android ウォッチドッグサービスは、 AlarmManager を使用した cordova プラグインとして実装されます。
次の図に、ウォッチドッグサービスの実装を示します。
1.初期化 :cordova プラグインの初期化時、システム権限を持っているかどうか、さらに、リブート権限を持っているかどうかの確認がおこなわれます。これらの 2 つの条件を満たしている場合は、リブートのペンディングインテントが作成され、条件を満たしていない場合は、(Launch Activity に基づいて)アプリケーションを再起動するためのペンディングインテントが作成されます。
2.キープアライブタイマー :15 秒おきにイベントをトリガーするためにキープアライブタイマーが使用されます。このイベントの間に、(アプリケーションをリブートまたは再起動する)既存のペンディングインテントをキャンセルし、次の 60 秒の間に新しいペンディングインテントを登録する(最終的にリブートを延期する)必要があります。
Android では、 AlarmManager は、アプリケーションがクラッシュして、そのアラーム配信が API 19(Kitkat)から正確におこなわれなくても実行可能な pendingIntents を登録するために使用されます。タイマーの間隔と AlarmManager の ** pendingIntents ** のアラームとの間にいくらかの時間を設けるようにしてください。
3.アプリケーションのクラッシュ :クラッシュした場合、AlarmManager に登録されているリブートのペンディングインテントはリセットされず、(cordova プラグインの初期化時に使用可能な権限に応じて)アプリケーションのリブートまたは再起動を実行します。