借助 Google Play 企业版 iframe,您可以嵌入 Google Play 企业版 直接在 EMM 控制台中操作,以便为客户提供统一的移动管理 体验
![Google Play 企业版 iframe](https://developers.google.cn/static/android/work/play/emm-api/images/managed-google-play-iframe.png?authuser=9&hl=zh-cn)
iframe 包含一个标题栏和一个可展开的侧边菜单。在菜单中 用户可以导航到不同的页面:
- 搜索应用:允许 IT 管理员搜索和浏览 Google 播放应用、查看应用详情和选择应用。
- 专用应用:让 IT 管理员能够发布和管理专用应用 应用。
- Web 应用:IT 管理员用来发布和分发网站 快捷方式作为应用。
- 整理应用:允许 IT 管理员配置应用的显示方式 在用户设备上的 Play 商店应用内整理得井井有条
默认情况下,所有网页在 iframe 中处于启用状态,但可以单独停用 (请参阅将 iframe 添加到控制台)。
功能
本部分介绍了 Google Play 企业版 iframe 提供的功能。 有关如何嵌入 iframe 并实现这些功能的信息,请参见 将 iframe 添加到控制台。
将 iframe 添加到您的控制台
第 1 步:生成网络令牌
要生成用于标识企业的网络令牌,请调用
Enterprises.createWebToken
。
以下示例展示了如何使用 Google Play EMM 检索令牌
适用于 Java 的 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
以下示例展示了如何呈现 Google 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。属性
可以通过“属性”设置选项,如
。
网址参数
下表列出了可添加到网址的 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);