本节介绍如何配置Android播放器。 它提供了配置文件、可用选项的信息,以及有关开发和测试所使用的设置的建议。
此外, 监视程序 是从崩溃中恢复播放器的解决方案。 应用程序需要在监视服务中注册自己,然后定期向其活动的服务发送消息。 如果监视服务在规定时间内未收到保持活动状态消息,则该服务将尝试重新启动设备以进行干净恢复(如果它具有足够的权限)或重新启动应用程序。
要实施适用于AEM Screens的Android播放器,请安装适用于AEM Screens的Android播放器。
访问 AEM 6.5播放器下载 页面。
如果您使用的是AEM Screens 6.5.5 Service Pack,则必须为Android播放器设置环境。
设置 登录令牌Cookie的SameSite属性 从 Lax to 无 从 Adobe Experience Manager Web控制台配置 在所有AEM创作和发布实例上。
应遵循以下步骤:
导航到 Adobe Experience Manager Web控制台配置 使用 http://localhost:4502/system/console/configMgr
.
搜索 AdobeGranite令牌身份验证处理程序.
设置 登录令牌Cookie的SameSite属性 从 Lax to 无.
单击保存。
临时方法允许您安装最新的Android播放器(.exe)。 访问 AEM 6.5播放器下载 页面。
下载应用程序后,请按照播放器中的步骤完成临时安装:
长按左上角以打开管理面板。
导航到 配置 从左侧操作菜单中,输入要连接到的AEM实例的位置(地址)并单击 保存.
导航到 设备 注册 从左侧操作菜单链接以检查设备注册过程的状态。
如果 州 is 已注册,您会注意到 设备ID 字段。
如果 州 is 未注册,则可以使用 令牌 来注册设备。
由于Android的架构,重新启动设备需要应用程序具有系统权限。 为此,您需要使用制造商的签名密钥对apk进行签名,否则,监视程序将重新启动播放器应用程序,而不会重新启动设备。
访问Android的某些特权API,例如 PowerManager 或 HDMIControlServices,则需要使用制造商的密钥对android apk进行签名。
先决条件:
在执行以下步骤之前,您应该已安装Android SDK。
请按照以下步骤使用制造商的密钥对android应用程序进行签名:
从Google Play或 AEM Screens Player下载 页面
从制造商处获取平台密钥,以获取 pk8 和 pem 文件
在android sdk中使用查找~/Library/Android/sdk/build-tools -name "apksigner"找到apksigner工具
<pathto> /apksigner符号 — key platform.pk8 —cert platform.x509.pem aemscreensplayer.apk
在android sdk中查找zip对齐工具的路径
<pathto> /zipalign -fv 4 aemscreensplayer.apk aemscreensalids.apk
安装 aemscreensalpids.apk 使用adb安装到设备
跨Android监视程序服务是作为cordova插件使用 AlarmManager.
下图显示了监视程序服务的实现:
1. 初始化 在初始化cordova插件时,会检查权限以查看我们是否具有系统权限,从而检查重新启动权限。 如果满足这两个条件,则会创建挂起的重新启动意图,否则会创建挂起的重新启动应用程序意图(基于应用程序的启动活动)。
2. 保持活动计时器 “保持活动”计时器用于每15秒触发一次事件。 在该事件中,您需要取消现有的挂起意图(重新启动或重新启动应用程序),并在将来的相同60秒内注册新的挂起意图(实质上是延迟重新启动)。
在Android中, AlarmManager 用于注册 pendingIntents 即使应用程序崩溃且其警报发送方式与API 19(Kitkat)不准确,也可以执行该操作。 在计时器的间隔和 AlarmManager的 pendingIntent的 警报。
3. 应用程序崩溃 在发生崩溃时,AlarmManager中注册的“重新引导的pendingIntent”不再重置,因此它会执行应用程序的重新引导或重新启动(具体取决于在初始化cordova插件时可用的权限)。
批量推出Android播放器时,需要配置播放器以指向AEM实例,并配置其他属性,而无需在管理员UI中手动输入这些属性。
Android播放器42.0.372中提供了此功能。
请按照以下步骤在Android播放器中允许批量配置:
创建名为的配置JSON文件 player-config.default.json
.
请参阅 JSON策略示例 以及描述 策略属性.
使用MDM、ADB或Android Studio文件资源管理器将此策略JSON文件拖放到 sdcard 文件夹。
部署文件后,使用MDM安装播放器应用程序。
当播放器应用程序启动时,它将读取此配置文件,并指向适用的AEM服务器,可在该服务器中注册并随后进行控制。
此文件为 只读 首次启动应用程序时,无法用于后续配置。 如果在删除配置文件之前启动了播放器,则只需在设备上卸载并重新安装应用程序即可。
下表汇总了具有示例策略JSON的策略属性以供参考:
策略名称 | 用途 |
---|---|
服务器 | 指向Adobe Experience Manager服务器的URL。 |
分辨率 | 设备的分辨率。 |
rebootSchedule | 重新启动的计划适用于所有平台。 |
enableAdminUI | 启用管理员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设备均具有 sdcard 文件夹(无论是 sdcard 是否插入。 此文件在部署后将与Downloads文件夹处于同一级别。 Samsung Knox等一些移动设备管理程序可能会提到这一点 sdcard 文件夹位置显示为 内部存储.
批量部署Android播放器时,使用AEM手动注册每个播放器会很繁琐。 强烈建议使用EMM(企业移动性管理)解决方案(如VMWare Airwatch、MobileIron或Samsung Knox)来远程配置和管理您的部署。 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中配置的代码相同,则播放器应该能够自动注册自己。 如果您配置了默认显示屏,则还可以下载和显示一些默认内容(稍后可根据您的方便情况更改这些内容)。
此外,您还应与EMM供应商确认AppConfig支持。 最受欢迎的,例如 VMWare Airwatch, 移动铁, 索蒂, Blackberry UEM, IBMMaas360 和 Samsung Knox 其中包括支持此行业标准。
AEM Screens提供远程控制功能。 请在此处了解有关此功能的更多信息: Screens远程控制