下文将为您提供有关在 Google Play 企业版商店中分发应用的实用信息。
安装应用
您可以在使用该政策的设备上安装 Google Play 商店中的 Android 应用。如需使用此功能,您需要知道要安装的应用的软件包名称。您可以通过以下两种方式查找应用的软件包名称:
应用的软件包名称位于 Google Play 商店页面的网址中。 例如,Google Chrome 应用页面的网址为
https://play.google.com/store/apps/details?id=com.android.chrome
,其软件包名称为com.android.chrome
。您可以在 EMM 控制台中嵌入 Google Play 企业版 iframe,以便客户浏览 Google Play 商店。当您的客户在 iframe 中选择应用时,EMM 控制台会在事件中收到软件包名称。
然后,您可以在设备的政策中添加该应用:
"applications":[
{
"installType":"FORCE_INSTALLED",
"packageName":"com.android.chrome",
},
],
当您将政策应用于设备时,该应用要么安装到设备上,要么添加到设备上的 Google Play 企业版商店中。
分发应用以进行封闭式测试
在 Play 管理中心内,应用开发者可以创建封闭式测试版(封闭式测试轨道),让一组测试人员测试其应用的预发布版本。这称为 封闭式测试。通过支持封闭式分发方式,组织可以测试第三方应用及其内部开发的所有专用应用。
在 Play 管理中心内设置封闭式测试时,应用开发者最多可以将目标组织为 100 个组织 (enterprises
)。您可以使用 Android Management API 检索针对企业的封闭式轨道,并使用政策将这些封闭式轨道分发到设备。
符合封闭式测试条件的应用
在设置封闭式测试之前,应用开发者必须确保其应用满足以下要求:
- 应用的正式版已在 Google Play 上发布(对于专用应用,则为 Google Play 企业版)
- 在 Google Play 管理中心内,系统会在应用的高级设置页面中启用 Google Play 企业版。
- 此应用的任何封闭式版本均符合版本代码要求。
将企业添加到封闭式测试
设置封闭式测试时,应用开发者可以通过添加组织 ID 来授予组织参与封闭式测试的权限。您的客户可以按照以下说明找到其组织 ID:
- 使用管理员账号登录 Google Play 企业版。
- 点击管理员设置。
- 复制“组织信息”框中的组织 ID 字符串,并将其发送给开发者。
对于专用应用,开发者还需要在应用“高级设置”页面的 Google Play 企业版标签页中添加每个参与该计划的企业的组织 ID。如需了解相关说明,请参阅通过 Play 管理中心发布专用应用。
向用户分发封闭式轨道
如需检索企业可用于指定应用的轨道列表,请调用 enterprises.applications
。对于指定应用,响应中包含的 appTrackInfo[]
列表包含以下内容:
trackId
:轨道的唯一标识符,取自 Play 管理中心内显示应用轨道信息的页面网址中的releaseTrackId
。trackAlias
:人类可读的轨道名称,可在 Play 管理中心内修改。
如需在用户设备上安装封闭式轨道,请在用户的设备政策中指定 accessibleTrackIds
:
"applications":[
{
"installType":"AVAILABLE",
"packageName":"com.google.android.gm",
"accessibleTrackIds":[
"123456",
"789101"
]
},
],
如果某项政策包含来自同一应用的多个轨道(如上例所示),则此政策会安装版本代码最高的轨道。
在某些情况下(例如以下情况),系统会自动从 enterprises.applications
调用中移除 trackId:
- 轨道的 APK 已提升到其他轨道或正式版轨道。
- 正式版在更新后的版本高于轨道。
- 开发者停止跟踪。
Google Play 企业版 iframe
借助 Google Play 企业版 iframe,您可以直接在 EMM 控制台中嵌入 Google Play 企业版,为客户提供统一的移动管理体验。
![managed-play-iframe](https://developers.google.cn/static/android/work/play/emm-api/images/managed-google-play-iframe.png?authuser=6&hl=lt)
iframe 包含一个标题栏和一个可展开的侧边菜单。用户可通过该菜单导航到不同的页面:
- 搜索应用:允许 IT 管理员搜索和浏览 Google Play 应用、查看应用详情以及选择应用。
- 专用应用:允许 IT 管理员发布和管理企业专用应用。
- Web 应用:允许 IT 管理员以应用的形式发布和分发网站快捷方式。
- 整理应用:允许 IT 管理员配置应用在用户设备上的 Play 商店应用中的整理方式。
特性
本部分介绍了 Google Play 企业版 iframe 中提供的功能。 如需了解如何嵌入 iframe 并实现这些功能,请参阅将 iframe 添加到控制台。
将 iframe 添加到您的控制台
第 1 步:生成网络令牌
调用 enterprises.webTokens.create
以生成用于标识企业的网络令牌。响应包含令牌的 value
。
- 将
parentFrameUrl
设置为托管 iframe 的父框架的网址。 - 使用
iframeFeature
指定要在 iframe 中启用的功能:PLAY_SEARCH
、PRIVATE_APPS
、WEB_APPS
、STORE_BUILDER
(整理应用)。如果未设置iframeFeature
,则 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 代码的属性。
网址参数
下表列出了可作为网址参数添加到网址中的所有 iframe 参数,例如:
'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT&showsearchbox=TRUE',
参数 | 网页 | 必需 | 说明 |
---|---|---|---|
token |
N/A | 是 | 第 1 步返回的令牌。 |
iframehomepage |
N/A | 不支持 | 呈现 iframe 时显示的初始页面。可能的值包括 PLAY_SEARCH 、WEB_APPS 、PRIVATE_APPS 和 STORE_BUILDER (整理应用)。如果未指定,则按照以下优先顺序确定显示哪个页面:1. PLAY_SEARCH 、2. PRIVATE_APPS 、3.
WEB_APPS 、4. STORE_BUILDER . |
locale |
N/A | 不支持 | 一个格式正确的 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);
将您自己的应用上传到 Google Play 商店
如果您或您的客户开发了 Android 应用,您可以通过 Google Play 管理中心将应用上传到 Play 商店。
如果您不希望自己的应用在 Play 商店中公开发布,可以使用 Google Play 管理中心将应用限制为仅供单个企业使用。另一种方法是使用 Google Play Custom App Publishing API 以编程方式发布专用应用。专用应用仅供其所属企业使用。它们仍然可以使用政策进行安装,但对企业外部的用户不可见。