ここでは、Android プレーヤーの設定について説明します。使用可能な設定ファイルやオプションと、開発およびテストに使用する推奨設定について説明します。
さらに、プレーヤーをクラッシュから回復させるソリューションとして、ウォッチドッグがあります。アプリケーションは、ウォッチドッグサービスに登録し、アプリケーション自体がアライブであることを知らせるメッセージを定期的に送信する必要があります。ウォッチドッグサービスに、所定の時間内にキープアライブメッセージが届かないと、ウォッチドッグサービスは、デバイスをリブートしてクリーンリカバリを試みるか(ウォッチドッグサービスが十分な権限が持つ場合)、アプリケーションの再起動を試みます。
AEM Screens 用の Android プレーヤーを実装するには、同プレーヤーをインストールしてください。
AEM 6.5 Player のダウンロードページにアクセスします。
AEM Screens 6.5.5 Service Pack を使用している場合は、Android プレーヤー用の環境を設定する必要があります。
AEM オーサーインスタンスおよびパブリッシュインスタンスの Adobe Experience Manager Web コンソール設定で、login-token cookies の SameSite 属性を Lax から None に設定します。
次の手順に従います。
http://localhost:4502/system/console/configMgr
を使用して、Adobe Experience Manager Web コンソールの設定に移動します。
Adobe Granite トークン認証ハンドラーを検索します。
login-token cookie の SameSite 属性を Lax から None に設定します。
「保存」をクリックします。
アドホック方式を使用すると、最新の Android プレーヤー(.exe)をインストールできます。AEM 6.5 Player のダウンロードページにアクセスします。
アプリケーションをダウンロードしたら、以下の手順に従ってプレーヤーのアドホックインストールを完了します。
左上隅を長押しして、管理パネルを開きます。
左のアクションメニューから「設定」に移動し、接続する AEM インスタンスの場所(アドレス)を入力して、「保存」をクリックします。
左側のアクションメニューから「デバイスの登録」リンクに移動して、デバイス登録プロセスのステータスを確認します。
「状態」が「登録済み」の場合は、「デバイス ID」フィールドに値が入力されます。
「状態」が「未登録」の場合は、トークンを使用してデバイスを登録できます。
Android のアーキテクチャ上、デバイスをリブートするには、アプリケーションがシステム権限を持っている必要があります。そのためには、製造元の署名キーを使用して apk に署名する必要があります。この署名を行わないと、ウォッチドッグはデバイスをリブートするのではなく、プレーヤーアプリケーションを再起動します。
PowerManager や HDMIControlServices など、Android の特権付き API にアクセスするには、製造元のキーを使用して Android apk に署名する必要があります。
前提条件:
以下の手順を実行する前に、Android SDK をインストールしてください。
次の手順に従って、製造元のキーを使用して Android apk に署名します。
Google Play または AEM Screens Player のダウンロードページから apk をダウンロードします。
製造元のプラットフォームキーを入手して、pk8 ファイルと pem ファイルを取得します。
find ~/Library/Android/sdk/build-tools -name "apksigner" を使用して、Android SDK の apksigner ツールを見つけます。
<pathto> /apksigner sign --key platform.pk8 --cert platform.x509.pem aemscreensplayer.apk
Android SDK の zip align ツールへのパスを見つけます。
<pathto> /zipalign -fv 4 aemscreensplayer.apk aemscreensaligned.apk
adb install を使用して、デバイスに aemscreensaligned.apk をインストールします。
Android ウォッチドッグサービスは、AlarmManager を使用した cordova プラグインとして実装されます。
次の図に、ウォッチドッグサービスの実装を示します。
1.初期化:cordova プラグインの初期化時、システム権限を持っているかどうか、さらに、リブート権限を持っているかどうかの確認が行われます。これらの 2 つの条件を満たしている場合は、リブートのペンディングインテントが作成され、条件を満たしていない場合は、(Launch Activity に基づいて)アプリケーションを再起動するためのペンディングインテントが作成されます。
2.キープアライブタイマー:15 秒おきにイベントをトリガーするためにキープアライブタイマーが使用されます。このイベントの間に、(アプリケーションをリブートまたは再起動する)既存のペンディングインテントをキャンセルし、次の 60 秒の間に新しいペンディングインテントを登録する(最終的にリブートを延期する)必要があります。
Android では、AlarmManager は、アプリケーションがクラッシュして、そのアラーム配信が API 19(Kitkat)から正確に行われなくても実行可能な pendingIntents を登録するために使用されます。タイマーの間隔と AlarmManager の pendingIntent のアラームとの間にいくらかの時間を設けるようにしてください。
3.アプリケーションのクラッシュ:クラッシュした場合、AlarmManager に登録されているリブートのペンディングインテントはリセットされず、(cordova プラグインの初期化時に使用可能な権限に応じて)アプリケーションのリブートまたは再起動を実行します。
Android プレーヤーを一括で展開する場合、管理者 UI で手動で入力しなくても、AEM インスタンスを指すようにプレーヤーをプロビジョニングし、他のプロパティを設定する必要があります。
この機能は Android プレーヤー 42.0.372 から利用できます。
次の手順に従って、Android プレーヤーで一括プロビジョニングを許可します。
player-config.default.json
という名前で設定 JSON ファイルを作成します。
JSON ポリシーの例と、様々なポリシー属性の使い方を説明した表を参照してください。
MDM、ADB、または Android Studio のファイルエクスプローラーを使用して、このポリシー JSON ファイルを Android デバイスの sdcard フォルダーにドロップします。
ファイルをデプロイしたら、MDM を使用してプレーヤーアプリケーションをインストールします。
プレーヤーアプリケーションが起動すると、この設定ファイルが読み取られ、そのファイルを登録し、その後制御できる適切な AEM サーバーが参照されます。
このファイルは、アプリケーションが初めて起動されたときは読み取り専用で、以降の設定には使用できません。設定ファイルがドロップされる前にプレーヤーが起動した場合は、デバイスでアプリケーションをアンインストールして、再インストールします。
次の表に、参照用のポリシー JSON の例と共にポリシー属性を示します。
ポリシー名 | 目的 |
---|---|
server | Adobe Experience Manager サーバーの URL。 |
resolution | デバイスの解像度。 |
rebootSchedule | 再起動するスケジュールは、すべてのプラットフォームに適用されます。 |
enableAdminUI | サイト上でデバイスを設定するための Admin UI を有効にします。設定が完了して実稼働になったら、false に設定します。 |
enableOSD | ユーザー用のチャネルスイッチャー UI を有効にし、デバイスのチャネルを切り替えます。設定が完了して実稼働になったら、false に設定することを検討します。 |
enableActivityUI | 有効にすると、ダウンロードや同期などのアクティビティの進行状況を表示します。トラブルシューティング用に有効にしておき、設定が完了して実稼働になったら無効にします。 |
enableNativeVideo | ビデオ再生でネイティブのハードウェアアクセラレーションを使用できるようにします(Android のみ)。 |
{
"server": "https://author-screensdemo.adobecqms.net",
"device": "",
"user": "",
"password": "",
"resolution": "auto",
"rebootSchedule": "at 4:00 am",
"maxNumberOfLogFilesToKeep": 10,
"logLevel": 3,
"enableAdminUI": true,
"enableOSD": true,
"enableActivityUI": false,
"enableNativeVideo": false,
"enableAutoScreenshot": false,
"cloudMode": false,
"cloudUrl": "https://screens.adobeioruntime.net",
"cloudToken": "",
"enableDeveloperMode": true
}
すべての Android デバイスには、実際の SD カードが挿入されているかどうかにかかわらず、sdcard フォルダーがあります。デプロイ時、このファイルは Downloads フォルダーと同じレベルにあります。Samsung Knox などの一部の MDM では、sdcard フォルダーの場所を内部ストレージと呼ぶ場合があります。
Android プレーヤーを一括デプロイする場合、プレーヤーを 1 つずつ手動で AEM に登録するのは非常に面倒です。VMWare Airwatch、MobileIron、Samsung Knox などの EMM(エンタープライズモビリティ管理)ソリューションを使用して、デプロイメントのプロビジョニングと管理をリモートで行うことを強くお勧めします。AEM Screens Android プレーヤーでは、業界標準の EMM AppConfig をサポートしているので、リモートプロビジョニングが可能です。
ユーザーにわかりやすいデバイス名を Android プレーヤーに割り当てて、そのデバイス名を Adobe Experience Manager(AEM)に送信することができます。この機能により、Android プレーヤーに名前を付けるだけでなく、適切なコンテンツを簡単に割り当てることもできます。
プレーヤー名は、登録にのみ選択できます。プレーヤーの登録後は、プレーヤー名を変更できなくなります。
Android プレーヤーに名前を設定するには、次の手順に従います。
Android プレーヤーの一括プロビジョニングを可能にするには、次の手順に従います。
お使いの Android デバイスが Google Play サービスをサポートしていることを確認します。
AppConfig をサポートしているお気に入りの EMM ソリューションに、お使いの Android プレーヤーデバイスを登録します。
EMM コンソールにログインし、Google Play から AEM Screens Player アプリケーションを入手します。
管理された設定または関連オプションを選択します。
これで、設定可能なプレーヤーオプション(サーバーや一括登録コードなど)のリストが表示されます。
これらのパラメーターを設定して保存し、ポリシーをデバイスにデプロイします。
デバイスは、アプリケーションと設定を同時に受信し、選択した設定を持つ正しい AEM サーバーを参照します。一括登録コードを設定することを選択し、AEM に設定した値と同じにしておくと、プレーヤーは自動的に登録されるはずです。デフォルトディスプレイを設定した場合は、一部のデフォルトコンテンツをダウンロードして表示することもできます(このコンテンツは後で都合に合わせて変更できます)。
また、AppConfig のサポートについては、EMM ベンダーに確認してください。中でも、VMWare Airwatch、Mobile Iron、SOTI、Blackberry UEM、IBM Maas360、Samsung Knox などの最も一般的なものは、この業界標準をサポートしています。
AEM Screens には、リモート制御機能が用意されています。この機能について詳しくは、Screens リモート制御を参照してください。