借助 Google Play 企业版 iframe,您可以直接在 EMM 控制台中嵌入 Google Play 企业版,从而为客户提供统一的移动设备管理体验。
iframe 包含标题栏和可展开的侧边菜单。用户可以通过此菜单前往不同的页面:
- 搜索应用:允许 IT 管理员搜索和浏览 Google Play 应用、查看应用详情以及选择应用。
- 专用应用:让 IT 管理员可以为其企业发布和管理专用应用。
- 网站应用:允许 IT 管理员将网站快捷方式发布和分发为应用。
- 整理应用:IT 管理员可以配置应用在用户设备上的 Play 商店应用中的整理方式。
默认情况下,iframe 中的所有网页均处于启用状态,但可以单独停用(请参阅将 iframe 添加到控制台)。
功能
本部分介绍了托管式 Google Play iframe 中提供的功能。如需了解如何嵌入 iframe 并实现这些功能,请参阅将 iframe 添加到控制台。
搜索应用
在“搜索应用”页面(如图 1所示)中,IT 管理员可以搜索、浏览和选择 Google Play 应用。
搜索框
默认情况下,页面上会启用标题栏中的搜索框。搜索框支持自动补全等功能,并会返回 Google Play 上公开列出的应用的搜索结果。搜索结果会显示在 iframe 中。
专用应用
借助“专用应用”页面,IT 管理员可以直接通过 EMM 控制台发布和管理专用应用。为简化 IT 管理员的专用应用发布流程,该页面提供了以下功能:
- 代表企业静默创建 Play 管理中心账号,并向 IT 管理员授予管理员访问权限。
- 免除之前发布应用时需要支付的 25 美元 Play 管理中心注册费。
- 仅需提供应用的 APK 和名称。
- 最短只需 10 分钟即可发布应用(相比之下,在 Play 管理中心内需要 2 小时)。
注意:从“专用应用”页面发布的应用无法变为公开应用。
IT 管理员首次在 iframe 中发布应用时,iframe 会代表企业静默创建一个 Play 管理中心账号。如果他们进行高级修改,系统会提示他们使用 Google 账号(可以是任何 Google 账号,例如 Gmail、Cloud Identity)登录。 此 Google 账号会被添加为企业的 Play 管理中心账号的管理员。之后,IT 管理员可以使用自己的 Google 账号直接登录 Play 管理中心,在其中执行以下操作:
- 添加和管理管理员账号。
- 添加应用的详细信息,包括说明、屏幕截图等。
- 取消发布应用。
如需了解 IT 管理员如何使用“专用应用”页面,请访问 Google Play 企业版帮助中心。
“选择”按钮
应用发布后,IT 管理员可以在应用详情页面中修改其标题和 APK。应用详情页面还会显示一个 SELECT 按钮(请参阅图 2)。您需要指定 IT 管理员点击此按钮时执行的操作(请参阅第 3 步中的 onproductselect
)。处理 iframe 事件)。
Web 应用
借助“Web 应用”页面,IT 管理员可以将网站快捷方式作为专用应用发布到 Google Play 企业版。Web 应用可通过其软件包名称 (productId
) 进行标识,通常需要 10 分钟才能发布。发布后,这些应用会自动获得企业批准,然后就像任何其他已获批准的应用一样分发给用户。Web 应用与其他受管 Play iframe 功能兼容:可在 Play 搜索页面中进行搜索,并且可以添加到合集中。
Web 应用创建表单需要填写标题、HTTPS 或 HTTP 网址以及图标图片(512 x 512 JPG 或 32 位 PNG)。此外,IT 管理员可以从以下三个显示选项中进行选择:
- 全屏:应用会在全屏模式下打开(隐藏设备的状态栏和导航栏)。
- 独立脚本(默认):应用会显示设备的状态栏和导航栏。
- 极简界面:应用会显示设备的状态栏和导航栏、应用的网址以及刷新选项。对于 HTTP 网址,这是唯一可用的选项。
IT 管理员还可以在“Web 应用”页面中修改和删除 Web 应用。删除 Web 应用后,系统会将其从用户的 Google Play 企业版商店中移除,但如果该应用已安装在用户设备上,用户可能仍可以访问该应用。如需从用户设备中删除 Web 应用,请参阅删除应用。如需了解如何创建和修改 Web 应用,请参阅 Google Play 企业版帮助中心。
“选择”按钮
网站应用发布后,其详情页面会显示一个“选择”按钮。您需要指定 IT 管理员点击此按钮时要执行的操作(例如分发应用)(请参阅第 3 步中的 onproductselect
)。处理 iframe 事件)。
整理应用
在“整理应用”页面中,IT 管理员可以将应用整理为集合(也称为集群)。例如,IT 管理员可以为常用应用创建必备应用集合,或为与跟踪支出、记录行程等相关的应用创建支出集合。集合会显示在用户设备上的 Play 商店首页中。
EMM 必须在 iframe 网址的参数中使用
SELECT mode
,才能搜索应用并将应用添加到合集中。
在用户设备上,Play 商店应用仅会显示适用于用户(或设备)的收藏中的应用。如果合集不包含可供用户(或设备)使用的任何应用,则该合集不会显示在 Play 商店中。
IT 管理员还可以在“整理应用”页面中修改、删除和复制现有集合。如需了解如何执行这些任务,请参阅 Google Play 企业版帮助中心中的用户说明。
将 iframe 添加到您的控制台
第 1 步:生成 Web 令牌
如需生成用于标识企业的 Web 令牌,请调用 Enterprises.createWebToken
。以下示例展示了如何使用 Java 版 Google Play EMM API 客户端库检索令牌。
默认情况下,iframe 中的所有网页都处于启用状态。生成网站令牌时,您可以指定要停用的网页。以下示例会停用“专用应用”“Web 应用”和“整理应用”。
public AdministratorWebToken getAdministratorWebToken( String enterpriseId) throws IOException { AdministratorWebTokenSpec tokenSpec = new AdministratorWebTokenSpec(); tokenSpec.setParent("https://my-emm-console.com"); tokenSpec.setPlaySearch(new AdministratorWebTokenSpecPlaySearch()); tokenSpec.setPrivateApps(new AdministratorWebTokenSpecPrivateApps().setEnabled(false)); tokenSpec.setWebApps(new AdministratorWebTokenSpecWebApps().setEnabled(false)); tokenSpec.setStoreBuilder(new AdministratorWebTokenSpecStoreBuilder().setEnabled(false)); return androidEnterprise .enterprise() .createWebToken(enterpriseId, tokenSpec) .execute(); }
在控制台中呈现 iframe 时,您需要添加返回的令牌以及其他参数。
第 2 步:渲染 iframe
以下示例展示了如何呈现受管理的 Play iframe:
<script src="https://apis.google.com/js/api.js"></script>
<div id="container"></div>
<script>
gapi.load('gapi.iframes', function() {
var options = {
'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT',
'where': document.getElementById('container'),
'attributes': { style: 'width: 600px; height:1000px', scrolling: 'yes'}
}
var iframe = gapi.iframes.getContext().openChild(options);
});
</script>
此代码会在容器 div
中生成一个 iframe。如上所述,您可以使用“attributes”选项设置要应用于 iframe 标记的属性。
网址参数
下表列出了 iframe 的所有可用参数,这些参数可作为网址参数添加到网址中,例如:
'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT&showsearchbox=TRUE',
参数 | 网页 | 必填 | 说明 |
---|---|---|---|
token |
不适用 | 是 | 从第 1 步返回的令牌。 |
iframehomepage |
不适用 | 否 | 呈现 iframe 时显示的初始页面。可能的值包括 PLAY_SEARCH 、WEB_APPS 、PRIVATE_APPS 和 STORE_BUILDER (整理应用)。如果未指定,系统会根据以下优先顺序确定要显示哪个页面:1. PLAY_SEARCH , 2. PRIVATE_APPS , 3.
WEB_APPS , 4. STORE_BUILDER 。 |
locale |
不适用 | 否 | 一个格式正确的 BCP 47 语言标记,用于本地化 iframe 中的内容。如果未指定,则默认值为 en_US 。
|
mode |
搜索应用 | 否 |
SELECT :让 IT 管理员选择应用。APPROVE (默认):允许 IT 管理员选择、批准和取消批准应用。
|
showsearchbox |
搜索应用 | 否 | TRUE (默认):显示搜索框,并从 iframe 中发起搜索查询。FALSE :
搜索框未显示。
|
search |
搜索应用 | 否 | 搜索字符串。如果指定了此属性,iframe 会将 IT 管理员定向到包含指定字符串的搜索结果。 |
第 3 步:处理 iframe 事件
您还应在集成过程中处理以下事件。
事件 | 说明 |
---|---|
onproductselect |
用户选择或批准应用。这会返回一个包含以下内容的对象:{
"packageName": The package name of the app, e.g. "com.google.android.gm",
"productId": The product ID of the app, e.g. "app:com.google.android.gm",
"action": The type of action performed on the document. Possible values are:
"approved", "unapproved" or "selected." If you implement the iframe in |
onproductselect
:
iframe.register('onproductselect', function(event) { console.log(event); }, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);