AEM Screens の FAQ aem-screens-faqs
次の節では、AEM Screens プロジェクトに関してよく寄せられる質問に対する回答を示します。
空白の画面の問題 blank-screen
1. 顧客が黒い画面やコンテンツが再生できない問題に直面した場合、応急処置のトラブルシューティング手順は何ですか? troubleshooting-blank-screen
- チャネルプレビューが動作しているかどうかを確認します。
- ディスプレイプレビューが動作しているかどうかを確認します。
- 同じディスプレイに、使用中のシステムのブラウザー拡張機能としてプレーヤーを登録してみて、これが動作しているかどうかを確認します。
- システム上でプレーヤーを実行しながら、
http://localhost:24502
に移動します。すべてのコンテンツが正しくダウンロードされているかどうかを確認します。 - アセットに適切なレンディションが作成され、正しいレンディションが再生されていることを確認します。
- スケジュールされたコンテンツがあるかどうか、および時間が正しいかどうかを確認します。プレーヤーで設定された時間が正しいかどうかを確認します。
- Inspect プレーヤーコンソールはログを記録し、エラーがないか確認します。右クリックし、コンソールログを確認します。Windows Player を使用している場合は、
CTRL + ALT +I
を押して開発コンソールを起動し、ログを表示します。
2. デフォルトのチャネルやスケジュールを作成して AEM Screens でグレーの画面の問題を解決するには、どうすればよいですか?
フィールドに空白またはグレーの画面が表示されないようにするには、デフォルトのグローバルチャネルまたはスケジュールを作成し、すべてのディスプレイに最も低い優先度 1 を割り当ててください。(ネットワーク、プレーヤー、サーバーまたはレプリケーションが原因で)コンテンツの更新で問題が発生した場合でも、このコンテンツは既にディスク上にキャッシュされているので、正常に再生され、グレーの画面は表示されません。
チャネルやスケジュールなど、他のすべてのコンテンツの優先度は 1 より大きいので、他のコンテンツが優先され、グローバルチャネルまたはスケジュールのコンテンツ(優先度 1)はフォールバックオプションとしてのみ再生されます。
チャネルの管理 channel-management
1. オンラインチャネルとオフラインチャネルの違いは何ですか? what-is-the-difference-between-an-online-and-an-offline-channel
オンラインチャネル では、最新のコンテンツがリアルタイム環境で表示されるのに対して、オフラインチャネル では、キャッシュされたコンテンツが表示されます。
2. チャネルをオンラインにするには、どうすればよいですか? how-do-i-make-a-channel-online
チャネルを選択し、アクションバーからチャネルのプロパティに移動します。「チャネル」タブで「開発者モード (チャネルをオンラインに強制)」をオンにして、チャネルをオンラインにします。
3. 「チャネルロール」フィールドは何に使用しますか? what-is-the-use-of-the-channel-role-field
「チャネルロール」は、作成者が汎用のエクスペリエンスに直接専念できるように、実行される実際のチャネルを抽象化したものです。チャネルをそのコンテキスト(ディスプレイまたはスケジュール)で一意に識別する一種のタグと考えることができます。
4. 実際のチャネル解決はどのように行われますか? how-does-actual-channel-resolution-happen
静的参照 の場合、解決は指定されたパスに従うだけです。
動的参照 の場合は、チャネルが(スケジュールではなく)ディスプレイに割り当てられると、解決が行われます。ディスプレイのパスがチャネルのコンテキストになり、解決は次のように(優先順位の高い順に)行われます。
- ディスプレイに、参照先のチャネル名と一致する子ノードがあります
- ディスプレイに、参照先のチャネル名と一致する兄弟ノードがあります
- ディスプレイの親の場所に、参照先のチャネル名と一致する子ノードがあります
- ディスプレイの祖父母の場所に、参照先のチャネル名と一致する子ノードがあります
場所フォルダーに到達するまでこのような解決を繰り返し、到達した時点で停止します(例えば、チャネルフォルダー内のチャネルを参照することはできません。参照できるのは、場所サブツリー内のチャネルだけです)。
5. AEM Screens チャネルにカスタム clientlib のオフライン設定をセットアップするにはどうすればよいですか?
ビルド済みのカスタムクライアント側コード clientlib
を AEM Screens チャネルで使用する場合は、clientlib
ファイルがチャネル(manifest.json
)に正常に読み込まれ、clientlib
のパスがファイルに確実に含まれるようにするために、次の手順を実行する必要があります。
チャネルエディターで次の手順に従います。
- チャネルを選択し、アクションバーの「編集」をクリックして、チャネルエディターを開きます。
- カスタム
clientlib
を追加するコンポーネントを選択します。 - 設定ボタン(レンチアイコン)をクリックします。
- 「オフライン設定」タブに移動し、カスタム clientlib のパスを「クライアント側ライブラリ」に追加します。
デバイスの登録 device-registration
1. デバイスのオンボーディングや登録のリクエストなどのエンドポイントを検出した場合、多数のデバイスをスクリプト化して、これらのデバイスを登録できます。これをブランチ Wi-Fi にロックする以外に、これらのリクエストのセキュリティを確保することは可能ですか? if-i-discover-endpoints-such-as-requests-for-device-onboarding-and-registration-i-can-script-a-large-number-of-devices-and-register-these-devices-besides-locking-this-to-a-branch-wi-fi-is-it-possible-to-secure-these-requests
現在、登録はオーサーインスタンス上でのみ可能です。登録サービスは認証されていませんが、保留中のデバイスを AEM に作成するだけで、実際にデバイスを登録したりディスプレイを割り当てたりすることはありません。
デバイスを登録する(つまり、デバイスのユーザーを AEM に作成する)には、やはり AEM に対する認証が必要です。現時点では、登録ウィザードに従って手動で登録を完了する必要があります。理論的には、悪意のあるユーザーが保留中のデバイスを複数作成する可能性がありますが、AEM にログインしない限り、デバイスを登録することはできません。
2. 何らかの認証形式で HTTP GET リクエストを HTTP POST リクエストに変換する方法はありますか? is-there-a-way-to-transform-http-get-requests-into-http-post-with-some-form-of-authentication
登録リクエストは POST リクエストです。
デバイス ID は、パラメーターとして渡すのではなく、セッションから取得することをお勧めします。これにより、サーバーログ、ブラウザーキャッシュなどがクリーンアップされます。現時点では、これでセキュリティ上の問題にはなっていません。なお、意味的には、GET は、サーバー上で状態変化がない場合に使用され、状態変化がある場合は POST が使用されます。
3. デバイス登録リクエストを拒否する方法はありますか? is-there-a-way-to-decline-a-device-registration-request
登録リクエストを拒否することはできません。代わりに、Adobe Experience Manager Web Console
で設定したタイムアウトの後に登録リクエストの有効期限が切れます。デフォルトでは、この値は 1 日に設定され、メモリキャッシュに保存されます。
デバイスの監視とヘルスレポート device-monitoring-and-health-reports
1. AEM Screens Player に空白の画面が表示される場合、トラブルシューティングを行うには、どうすればよいですか? how-do-i-troubleshoot-if-my-aem-screens-player-shows-blank-screen
画面が空白になる問題のトラブルシューティングを行うには、以下の可能性がないか確認してください。
- AEM がオフラインコンテンツをプッシュできない
- チャネルにコンテンツがない
- 現時点で表示予定のアセットがない
2. AEM Screens Player を登録できず、状態が失敗と表示される場合は、どうすればよいですか? what-do-i-do-if-aem-screens-player-cannot-register-and-its-state-is-displayed-as-failure
Apache Sling Referrer Filter の「Allow Empty」をオンにする必要があります。これは、AEM Screens Player と AEM Screens サーバーの間の制御プロトコルの最適な動作のために必要です。
- Adobe Experience Manager Web コンソールの設定 に移動します。
- 「allow.empty」オプションをオンにします。
- 「保存」をクリックします。
3. AEM Screens Player の登録中にデバイスに失敗と表示され、コンソールログに ENAME_NOT_FOUND エラーが表示される場合は、どのようにトラブルシューティングすればよいですか? how-to-troubleshoot-if-while-registering-an-aem-screens-player-device-shows-failure-and-the-console-logs-display-ename-not-found-error
この問題は、プレーヤーが AEM Screens サーバーの DNS を検出できない場合に発生する可能性があります。IP アドレスを使用して接続してみてください。サーバーの IP アドレスを取得するには、arp <server_dns_name> を使用します。
4. AMS では、すべてのデバイスに Android ウォッチドッグを実装することを推奨していますか?ウォッチドッグ(Cordova)プラグインは APK に含まれていますか? does-ams-recommend-implementing-an-android-watchdog-on-all-devices-is-the-watchdog-cordova-plugin-included-as-part-of-the-apk
純粋な Android API を使用するクロスプラットフォームの Android ウォッチドッグは、既に APK に含まれています。追加のソフトウェアは必要ありませんが、使用するデバイスによっては、APK に再署名して、完全な電源サイクル(電源のオン/オフ)を実行するためのシステム権限(PowerManager API)を取得しなければならない場合があります。製造元のキーを使用して再署名しない場合は、アプリケーションが終了して再起動しますが、電源サイクル(電源のオン/オフ)は行われません。
Android プレーヤーの実装方法について詳しくは、Android プレーヤーの実装 を参照してください。
5. Adobe/AMS では、各デバイスの監視にどのようなサードパーティ製リモート監視および警告ツール(ソフトウェア)を推奨していますか? what-third-party-remote-monitoring-and-alerting-tools-software-does-adobe-ams-recommend-for-monitoring-each-device
必要な監視および警告機能にもよりますが、新機能である AEM Screens 通知サービスでは、デバイスがしばらくの間 ping に応答しなかった場合にユーザーに通知します。サードパーティツールは、お使いのオペレーティングシステム(OS)とその機能、およびユーザー固有のニーズによって異なります。
デバイスアクティビティの監視について詳しくは、AEM Screens 通知サービス を参照してください。
AEM Screens Player aem-screens-player
1. Chrome OS プレーヤーを Chrome ブラウザープラグインとしてインストールするには、どうすればよいですか? how-to-install-chromeos-player-as-chrome-browser-plugin
Chrome OS プレーヤーは、実際の Chrome プレーヤーデバイスがなくても、開発者モードで Chrome ブラウザープラグインとしてインストールできます。インストールについては、次の手順に従います。
- ここをクリックして、最新の Chrome プレーヤーをダウンロードします。
- 解凍してディスクに保存します。
- Chrome ブラウザーを開き、メニューから「拡張機能」を選択するか、chrome://extensions に直接移動します。
- 右上隅の「デベロッパーモード」をオンにします。
- 左上隅の「パッケージ化されていない拡張機能を読み込む」をクリックし、解凍した Chrome プレーヤーを読み込みます。
- AEM Screens Chrome Player プラグインが拡張機能の一覧にあれば、それをオンにします。
- 新しいタブを開き、左上隅の「アプリ」アイコンをクリックするか、chrome://apps に直接移動します。
- 「AEM Screens プラグイン」をクリックして、Chrome プレーヤーを起動します。デフォルトでは、プレーヤーはフルスクリーンモードで起動します。Esc キーを押すと、フルスクリーンモードが終了します。
2. AEM Screens Player がカスタムエラーハンドラーでパブリッシュインスタンスを通じて認証できない場合、トラブルシューティングするには、どうすればよいですか? how-to-troubleshoot-if-screens-player-is-unable-to-authenticate-through-publish-instance-with-custom-error-handler
AEM Screens Player は、起動時に 404 エラーが発生すると、/content/screens/svc.ping.json への要求を行います。プレーヤーが認証要求を開始して、パブリッシュインスタンスに対して認証を行います。パブリッシュインスタンスにカスタムエラーハンドラーがある場合、匿名ユーザーに対しては、/content/screens/svc.ping.json の実行で必ず 404 のステータスコードを返すようにしてください。
3. Android プレーヤーでデバイスの画面が常に表示されるように設定するには、どうすればよいですか? how-to-set-the-device-screen-stay-on-in-an-android-player
次の手順に従って、任意の Android プレーヤーで「スリープモードにしない」をオンにします。
- Android プレーヤーの設定/端末情報 に移動します。
- ビルド番号を 7 回タップして、設定 の「開発者向けオプション」を有効にします。
- 開発者向けオプション に移動します。
- 「スリープモードにしない」をオンにします。
4. Windows プレーヤーのウィンドウモードを有効にする方法? enable-player
Windows Player にはウィンドウモードはありません。常にフルスクリーンモードになります。
5. AEM Screens プレーヤーがログインリクエストを継続的に送信する場合のトラブルシューティング方法? requests-login
次の手順に従って、AEM Screens プレーヤーが /content/screens/svc.json
および /libs/granite/core/content/login.validate/j_security_check
へ継続的にリクエストを送信する場合のトラブルシューティングを行います。
-
AEM Screens プレーヤーが起動すると、
/content/screens/svc.json
に対してリクエストを行います。プレーヤーが応答で 404 ステータスコードを取得すると、パブリッシュ インスタンスに対して/libs/granite/core/content/login.validate/j_security_check
を使用し、認証要求を開始します。パブリッシュ インスタンスにカスタムエラーハンドラーがある場合、/content/screens/svc.json
または/content/screens/svc.ping.json
で、匿名ユーザーに対して必ず 404 のステータスコードを返すようにしてさい。 -
ディスパッチャー設定によってこれらのリクエストが許可されているかどうかを
/filters
で確認します。詳しくは、Screens フィルターの設定を参照してください。
-
ディスパッチャーの書き換えルールによって、Screens のパスが別のパスに書き換えられているかどうかを確認します。
-
オーサー または パブリッシュ インスタンスに
/etc/map
パスがあるかどうか、および Screens のパスがsling:match
と一致し、内部的に別のパスにリダイレクトされているかどうかを確認します。/system/console/jcrresolver
で正しい URL を解決すると、これらの URL が パブリッシュ インスタンスによって他のパスに書き換えられているかどうかを識別できます。 -
Apache Sling Resource Resolver Factory の設定によって、内部で書き換えが行われているかどうかを確認します。
6. プレーヤー API からディスプレイとデバイスの詳細を取得する方法
ディスプレイとデバイスの詳細は、次の場所で取得できます。
-
内部 JS API
-
ContextHub ストア:
/libs/screens/clientlibs/contexthub
では、チャネル、デバイス、および表示情報を公開するための 3 つの ContextHub ストアが定義されています。次の手順に従って、ContentHub ストアの値を使用します。
-
チャネルのプロパティを編集し、パーソナライゼーションタブの ContextHub パスを値に設定します(上述)
-
チャネル JS では、次を使用できます。
code language-shell ContextHub.getStore('screens-device'); ContextHub.getStore('screens-display'); ContextHub.getStore('screens-channels');
-
トラブルシューティングに関する一般的なヒント general-troubleshooting-tips
1. Livefyre を無効にして A/P Screens エラーを回避するには、どうすればよいですか? how-to-disable-livefyre-to-avoid-a-p-screens-error
Livefyre を無効にしてログエラーを回避するには、次の手順に従います。
-
Livefyre バンドルを無効にする:
https://<host>:<port>/system/console/bundles
に移動します。- AEM Livefyre バンドル
com.adobe.cq.social.cq-social-livefyre
を検索します。 - 「停止」をクリックします。
-
Livefyre ポーラーを無効にする
- CRXDE Lite で、
/etc/importers/polling/livefyre-poller/jcr:content
に移動します。 - 新しいプロパティ enabled(Boolean 型)を追加します。
- enabled プロパティ を false に設定します。
- CRXDE Lite で、
2. Oak インデックス情報の追加方法 add-oak-index-info
AEM Screens は、製品で使用されるクエリのインデックス定義を作成します。error.log
に クエリトラバーサル WARN がある場合は、クエリのカスタムインデックスを作成します。詳しくは、「インデックスの設定」を参照してください。
Oak ドキュメントの追加リソースも参照できます。
3. v3 マニフェストを設定するための必須事項? configure-v3
v3 マニフェストを有効にするには、次の操作を行う必要があります。
-
Dispatcher を更新します。
詳しくは、マニフェストバージョン v3 に対応した Dispatcher の設定を参照してください。 -
カスタムコンポーネントを更新します。
詳しくは、カスタムハンドラーのテンプレートを参照してください。 -
/system/console/configMgr/configMgr/com.adobe.cq.screens.offlinecontent.impl.ContentSyncCacheFeatureFlag
でコンテンツ同期を無効にします。 -
/system/console/configMgr/com.adobe.cq.screens.offlinecontent.impl.OfflineContentServiceImpl
でスマート同期を有効にします。 -
channel/experience fragment/page components
を編集します。 -
「オフライン設定」タブに移動します。
-
clientlibs
およびマニフェストに追加する必要がある静的ファイルのフォルダーを入力します。
4. screens-cloud-ams-pkg-0.0.20 パッケージの後、screens-cloud-ams-pkg-0.0.16 と Screens コアバンドルがインストールされていて、アクティブでない場合は、どうすればよいですか?
コネクタを動作させるには、最低限のバージョンの AEM 6.5 機能パック 8 AMS をインストールする必要があります。 Screens 機能パックの最小バージョンを取得するには、使用可否を参照してください。
5. Screens で CQ Link Externalizer サービスを設定する方法を教えてください。
このサービスは、オーサーインスタンスとパブリッシュインスタンスのパブリックホスト名を定義するために使用され、値を使用してデバイスサーバーの URL を更新したり、ContextHub のターゲティングもおこなったりします。
Screens の CQ Link Externalizer サービスは、次の場所で設定できます。
http://localhost:4502/system/console/configMgr
に移動します。- Day CQ Link Externalizer
- 必要に応じて
author/publish
エントリのホスト名を変更します。