AEM Screens FAQs
The following section provides answers to few of the commonly asked FAQs related to an AEM Screens project.
1. What is the difference between an online and an offline channel?
An Online Channel , will show the updated content in the real time environment whereas an Offline Channel , shows the cached content.
2. How do I make a channel online?
Select the channel and navigate to channel properties from the action bar. Check Developer mode (force channel to be online) under Channel tab to make the channel online.
3. What is the use of the Channel Role field?
The Channel Role, is the abstraction of the actual channel that is run so that the author can focus on the generic experience directly. You can think of it as a kind of tag that uniquely identifies the channel in its context (display or schedule).
4. How does actual channel resolution happen?
For static references , the resolution just follows the path that is specified.
For dynamic references , the resolution occurs once the channel is assigned to the display (not the schedule). The display path becomes the context for the channel and the resolution happens as follows (highest to lowest priority):
- The display has a child node that matches the referenced channel name
- The display has a sibling node that matches the referenced channel name
- The parent location of the display has a child node that matches the referenced channel name
- The grand-parent location of the display has a child node that matches the referenced channel name
And so on, until you reach the locations folder and stop there at the moment (so you cannot reference a channel that would be in the channels folder for instance, only channels in the locations sub-tree).
1. 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?
Currently Registration is only possible on the author instance. Although the registration service is unauthenticated it will only create a pending device in AEM and will not actually register the device or assign any display.
To register a device (which means creating a user for the device in AEM), you still need to authenticate to AEM and currently manually follow the registration wizard to complete registration. Theoretically, a malicious user may create several pending devices but cannot register any without an AEM login.
2. Is there a way to transform HTTP GET requests into HTTP POST with some form of authentication?
The registration request is a POST request.
It is recommended to obtain the device ID from the session rather than passed as parameter. This would clean up the server logs, browser cache, and so on. It is currently not a security issue. Please note that semantically GET is used when there is no state change on the server and POST is used when there is a state change.
3. Is there a way to decline a device registration request?
You cannot decline the registration requests. Instead the registration requests should expire after a timeout that is configured in Adobe Experience Manager Web Console . By default, this value is set to one day and is stored in a memory cache.
Device Monitoring and Health Reports
1. How do I troubleshoot, if my AEM Screens player shows blank screen?
Please check for the following possibilities to troubleshoot the blank screen issue:
- AEM is unable to push the Offline Content
- Channel does not have any content
- None of the assets are scheduled to show at current time
2. What do I do if AEM Screens player cannot register and its state is displayed as Failure?
You need to enable the Apache Sling Referrer Filter Allow Empty. This is required for optimal operation of the control protocol between AEM Screens Player and AEM Screens server.
- Navigate to Adobe Experience Manager Web Console Configuration
- Check the allow.empty option.
- Click Save .
3. How to troubleshoot if while registering an AEM Screens player, device shows FAILURE and the console logs display ENAME_NOT_FOUND error?
This issue may occur if the player is unable to find the AEM Screens Server DNS. You can try using the IP address to connect. To obtain the IP of server, use: arp <server_dns_name> .
4. Does AMS recommend implementing an Android Watchdog on all Devices? Is the Watchdog (Cordova) plugin included as part of the APK?
A cross platform Android watchdog using pure Android APIs is already a part of the apk. No additional software is needed but depending on the device you use, you may need to resign the apk to obtain system privileges for a full power cycle (Powermanager api). If it is not resigned using the manufacturer keys, it will quit and restart the application but not power cycle.
For more information on how to implement Android Player, please refer to Implementing Android Player .
5. What third-party remote monitoring and alerting tools (software) does Adobe/AMS recommend for monitoring each device?
Depending on what you desire out of the monitoring and alerts, a new feature AEM Screens Notifications service notifies you if a device has not pinged in a while. The third-party tools will depend on your Operating System (OS), its capabilities and the customer’s specific needs.
For more information on where you can monitor device activity, please refer to AEM Screens Notifications Service .
AEM Screens Player
1. How to Install ChromeOS player as Chrome Browser Plugin?
ChromeOS player can be installed as Chrome Browser plugin in developer mode without requiring actual chrome player device. For installation, follow the steps below:
- Click here to download the latest Chrome Player.
- Unzip and save it on disk.
- Open Chrome browser and select Extensions from the menu or directly navigate to chrome://extensions .
- Switch on the Developer mode from top right corner.
- Click on Load Unpacked from top left corner and load unzipped Chrome Player.
- Check AEM Screens Chrome Player plugin if is available in the list of extensions.
- Open a new tab and click the Apps icon from the top left corner, or directly navigate to chrome://apps .
- Click on AEM Screens Plugin to launch Chrome Player. By default, the player is launched in full screen mode. Press esc to exit full screen mode.
2. How to troubleshoot if Screens player is unable to authenticate through publish instance with custom error handler?
When AEM Screens player starts, it makes a request to /content/screens/svc.ping.json , when the player gets a 404 error. The player initiates an authentication request to authenticate against the publish instance. If there is a custom error handler in publish instance, please make sure that you return the 404 status code for anonymous user on /content/screens/svc.ping.json .
3. How to set the device screen stay on in an Android Player?
Follow the steps below to turn on Stay Awake in on any Android player:
- Navigate to Android player settings --> About
- Tap 7 times on the build number to enable Developer Options in Settings
- Navigate to Developer Options
- Enable Stay Awake
General Troubleshooting Tips
1. How to Disable Livefyre to avoid A/P Screens Error?
In order to disable Livefyre to avoid log errors :
- Disable Livefyre bundle:
- Navigate to https://<host>:<port>/system/console/bundles
- Search for the AEM Livefyre bundle: com.adobe.cq.social.cq-social-livefyre
- Click Stop
- Disable Livefyre poller:
- In CRXDE Lite, navigate to /etc/importers/polling/livefyre-poller/jcr:content
- Add a new property enabled type Boolean
- Set enabled property to false