以下部分对几个与AEM Screens项目相关的常见问题解答提供了答案。
列出的强制性检查,在提出问题之前,应由主要支持或客户端支持尝试。
http://localhost:24502
. 检查所有内容下载是否正确。CTRL + ALT +I
以显示开发控制台以查看日志。要避免字段中出现空白或灰色的屏幕,请创建默认的全局渠道或计划,并将其分配给优先级最低的每个显示屏1。 如果内容更新出现问题(由于网络、播放器、服务器或复制原因),因为播放器已将此内容缓存在磁盘上,因此该内容应该可以正常播放并避免出现灰屏。
所有其他内容(如渠道或计划)的优先级将大于1,因此其他内容具有优先级,而全局渠道或计划内容(优先级为1)将仅作为回退选项播放。
“联机渠道”将会在实时环境中显示更新的内容,而“脱机渠道”则会显示缓存的内容。
选择渠道,然后从操作栏中导航到渠道属性。 检查 开发人员模式(强制渠道联机) 在 渠道 选项卡以使渠道联机。
渠道角色是实际运行渠道的抽象,以便作者可以直接专注于通用体验。 您可以将其视为一种标记,用于在其上下文(显示或计划)中唯一标识渠道。
对于 静态引用,则分辨率仅会遵循指定的路径。
对于 动态引用,则在将渠道分配给显示屏(而非计划)后,会出现解决方案。 显示路径将成为渠道的上下文,其分辨率按以下方式(优先级从高到低)进行:
等等,直到您到达位置文件夹并立即停止该位置(因此,您无法引用渠道文件夹中的渠道,例如,仅引用位置子树中的渠道)。
使用构建的自定义客户端代码时 clientlib
在AEM Screens渠道中,需要执行以下步骤,以确保 clientlib
已成功在渠道中加载文件(manifest.json
)和将包含的路径 clientlib
.
从渠道编辑器中按照以下步骤操作:
clientlib
.当前只能在创作实例上注册。 虽然注册服务未经过身份验证,但它只会在AEM中创建待处理设备,而不会实际注册设备或分配任何显示屏。
要注册设备(这意味着在AEM中为设备创建用户),您仍需要对AEM进行身份验证,并且当前需要手动按照注册向导完成注册。 理论上,恶意用户可能会创建多个挂起的设备,但如果没有AEM登录,则无法注册任何设备。
注册请求是POST请求。
建议从会话中获取设备ID,而不是作为参数传递。 这将清理服务器日志、浏览器缓存等。 当前不是安全问题。 请注意,当服务器上没有状态更改时,将使用语义GET,当状态更改时,将使用POST。
您无法拒绝注册请求。 注册请求应会在中配置的超时后过期 Adobe Experience Manager Web Console
. 默认情况下,此值设置为一天,并存储在内存缓存中。
请检查以下可能性,以解决空白屏幕问题:
您需要启用Apache Sling反向链接过滤器允许为空。 这是在AEM Screens Player和AEM Screens服务器之间优化控制协议操作所必需的。
如果播放器找不到AEM Screens Server DNS,则可能会出现此问题。 您可以尝试使用IP地址进行连接。 要获取服务器的IP,请使用: arp <server_dns_name>.
使用纯Android API的跨平台Android监视程序已经是APK的一部分。 无需其他软件,但根据您使用的设备,您可能需要放弃apk才能获得完全电源周期(Powermanager api)的系统权限。 如果它没有使用制造商密钥辞职,它将退出并重新启动应用程序,但不会重新启动电源。
有关如何实施Android播放器的更多信息,请参阅 实施Android播放器.
根据您对监控和警报的需求,新增的AEM Screens通知服务会在设备一段时间内未ping通知您。 第三方工具将取决于您的操作系统(OS)、其功能和客户的特定需求。
有关可在何处监视设备活动的更多信息,请参阅 AEM Screens通知服务.
在开发人员模式下,ChromeOS播放器可以作为Chrome浏览器插件安装,而无需使用实际的Chrome播放器设备。 要进行安装,请执行以下步骤:
AEM Screens播放器启动时,会向 /content/screens/svc.ping.json,当播放器收到404错误时。 播放器会发起身份验证请求以针对发布实例进行身份验证。 如果发布实例中存在自定义错误处理程序,请确保在 /content/screens/svc.ping.json.
请按照以下步骤在任何Android播放器上打开保持清醒:
Windows播放器中没有窗口模式。 始终为全屏模式。
按照以下步骤对连续向发送请求的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
.
检查您的调度程序配置是否允许在 /filters
.
请参阅 配置Screens过滤器 以了解更多详细信息。
检查调度程序重写规则是否正在将任何屏幕路径重写为其他路径。
检查是否 /etc/map
规则 作者 或 发布 实例和屏幕路径与 sling:match
并在内部重定向到其他路径。 解析中的确切URL /system/console/jcrresolver
有助于识别 发布 实例会将这些URL重写到任何其他路径。
检查Apache Sling资源解析程序工厂配置是否导致内部重写。
您可以通过以下方式获取显示屏和设备的详细信息:
内部JS API
ContextHub存储:在 /libs/screens/clientlibs/contexthub
以显示渠道、设备和显示信息。
请按照以下步骤使用这些ContentHub存储值:
编辑渠道属性,并在个性化选项卡中将ContextHub路径设置为值(如上所述)
在渠道JS中,您可以使用:
ContextHub.getStore('screens-device');
ContextHub.getStore('screens-display');
ContextHub.getStore('screens-channels');
为了避免出现日志错误,请禁用Livefyre :
禁用Livefyre包:
https://<host>:<port>/system/console/bundles
com.adobe.cq.social.cq-social-livefyre
禁用Livefyre poller:
/etc/importers/polling/livefyre-poller/jcr:content
AEM Screens会为产品使用的查询创建索引定义。
如果有 查询遍历警告 在 error.log
,为查询创建自定义索引。 请参阅 配置索引 以了解更多详细信息。
您还可以在 Oak文档.
要启用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
和需要添加到清单的静态文件的文件夹。
必须安装最低版本的AEM 6.5功能包8才能使AMS连接器正常工作。 请参阅 可用性 以获取Screens功能包的最低版本。
该服务用于定义创作和发布实例的公共主机名,然后使用这些值更新设备服务器URL和ContextHub定位。
Screens中的CQ Link Externalizer服务可以通过以下方式进行配置:
http://localhost:4502/system/console/configMgr
author/publish
根据需要输入