华为应用市场:链接到商品详情中的应用
Huawei AppGallery: Linking to an app in the store listing
是否有可能 link 到 AppGallery 上的应用程序列表?
在 google 我们通常会这样做:
http://play.google.com/store/apps/details?id=com.example.myapp
我找到了这个页面:https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-applinking-createlinks-byagc,但这似乎和我问的不一样。
更新:
the user opens the app and an update is required, then we would like
to show a popup with a button that would take the user directly to
AppGallery, from where the newest version can be installed.
Joint operations services provides the capability of Updating an App。您的应用可以调用HMS Core SDK的更新API查看应用市场是否有更新版本,并弹窗询问用户是否更新应用
开发过程:
用户触发更新检查,例如,通过启动应用程序或在更新检查页面上手动执行检查。
应用调用JosApps.getAppUpdateClient请求初始化AppUpdateClient实例。
AppUpdateClient client = JosApps.getAppUpdateClient(this);
HMS Core SDK returnsAppUpdateClient当前应用实例
应用调用AppUpdateClient.checkAppUpdate方法请求更新检查。
public void checkUpdate() {
AppUpdateClient client = JosApps.getAppUpdateClient(this);
client.checkAppUpdate(this, new UpdateCallBack(this));
}
HMS Core SDK在应用市场查询最新应用版本信息
应用市场将应用版本信息回传给HMS Core SDK
HMS Core SDK将校验结果通过回调方式发送给应用
应用在回调结果中检查onUpdateInfo方法返回的ApkUpgradeInfo实例,检查是否有更新。
private static class UpdateCallBack implements CheckUpdateCallBack {
private ManinActivity apiActivity;
private UpdateCallBack(GameApiActivity apiActivity) {
this.apiActivity = apiActivity;
}
public void onUpdateInfo(Intent intent) {
if (intent != null) {
// Obtain the update status code. Default_value indicates the default return code when status cannot be obtained, which is determined by the app.
int status = intent.getIntExtra(UpdateKey.STATUS, DEFAULT_VALUE);
// Error code. You are advised to record it.
int rtnCode = intent.getIntExtra(UpdateKey.FAIL_CODE, DEFAULT_VALUE);
// Failure information. You are advised to record it.
String rtnMessage = intent.getStringExtra(UpdateKey.FAIL_REASON);
Serializable info = intent.getSerializableExtra(UpdateKey.INFO);
// Check whether the app has an update by checking whether info obtained is of the ApkUpgradeInfo type.
if (info instanceof ApkUpgradeInfo) {
// Call the showUpdateDialog API to display the update pop-up. The demo has an independent button for displaying the pop-up. Therefore, this API is not called here. For details, please refer to the checkUpdatePop() method.
apiActivity.showLog("There is a new update");
apiActivity.apkUpgradeInfo = (ApkUpgradeInfo) info;
}
apiActivity.showLog("onUpdateInfo status: " + status + ", rtnCode: " + rtnCode + ", rtnMessage: " + rtnMessage);
}
}
}
- 应用调用AppUpdateClient.showUpdateDialog方法请求为用户显示更新弹窗。
public void checkUpdatePop(boolean forceUpdate) {
AppUpdateClient client = JosApps.getAppUpdateClient(this);
client.showUpdateDialog(this, apkUpgradeInfo, forceUpdate);
Log.i(TAG, "checkUpdatePop success");
}
HMS Core SDK为用户弹窗更新
用户在更新确认页面选择更新应用
HMS Core SDK向应用市场请求下载最新的应用安装包
应用市场returns应用打包到HMS Core SDK。下载完成后HMS Core SDK开始安装应用
您可以使用华为应用市场提供的the badge service统计应用市场应用下载量,为用户提供静默安装服务。
当用户在频道中点击您的徽章时,用户将被重定向到 AppGallery 上您的应用详情页面。用户可以点击安装以自动下载并安装您的应用程序。
制作徽章
- 登录 AppGallery Connect 并点击应用内分发。
- 单击制作徽章 选项卡。
- 单击添加 并通过按关键字或应用 ID 搜索来添加应用。 (您只能为已发布的应用制作徽章。)
- 设置徽章类型、在、频道名称和[=57中显示徽章=]推荐人。推荐人是可选的。如果需要统计归因,需要设置参数。
- 单击“生成徽章”以获取徽章及其 link。
我想您并不是要在浏览器中打开,而是通过 AppGallery 做出反应的意图。
您可以使用适用于 AppGallery 和 Play 商店的 market://details?id=com.example.myapp
。
来自 AppGallery 的 AndroidManifest.xml
:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="market" android:host="details"/>
</intent-filter>
是否有可能 link 到 AppGallery 上的应用程序列表?
在 google 我们通常会这样做:
http://play.google.com/store/apps/details?id=com.example.myapp
我找到了这个页面:https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-applinking-createlinks-byagc,但这似乎和我问的不一样。
更新:
the user opens the app and an update is required, then we would like to show a popup with a button that would take the user directly to AppGallery, from where the newest version can be installed.
Joint operations services provides the capability of Updating an App。您的应用可以调用HMS Core SDK的更新API查看应用市场是否有更新版本,并弹窗询问用户是否更新应用
开发过程:
用户触发更新检查,例如,通过启动应用程序或在更新检查页面上手动执行检查。
应用调用JosApps.getAppUpdateClient请求初始化AppUpdateClient实例。
AppUpdateClient client = JosApps.getAppUpdateClient(this);
HMS Core SDK returnsAppUpdateClient当前应用实例
应用调用AppUpdateClient.checkAppUpdate方法请求更新检查。
public void checkUpdate() {
AppUpdateClient client = JosApps.getAppUpdateClient(this);
client.checkAppUpdate(this, new UpdateCallBack(this));
}
HMS Core SDK在应用市场查询最新应用版本信息
应用市场将应用版本信息回传给HMS Core SDK
HMS Core SDK将校验结果通过回调方式发送给应用
应用在回调结果中检查onUpdateInfo方法返回的ApkUpgradeInfo实例,检查是否有更新。
private static class UpdateCallBack implements CheckUpdateCallBack {
private ManinActivity apiActivity;
private UpdateCallBack(GameApiActivity apiActivity) {
this.apiActivity = apiActivity;
}
public void onUpdateInfo(Intent intent) {
if (intent != null) {
// Obtain the update status code. Default_value indicates the default return code when status cannot be obtained, which is determined by the app.
int status = intent.getIntExtra(UpdateKey.STATUS, DEFAULT_VALUE);
// Error code. You are advised to record it.
int rtnCode = intent.getIntExtra(UpdateKey.FAIL_CODE, DEFAULT_VALUE);
// Failure information. You are advised to record it.
String rtnMessage = intent.getStringExtra(UpdateKey.FAIL_REASON);
Serializable info = intent.getSerializableExtra(UpdateKey.INFO);
// Check whether the app has an update by checking whether info obtained is of the ApkUpgradeInfo type.
if (info instanceof ApkUpgradeInfo) {
// Call the showUpdateDialog API to display the update pop-up. The demo has an independent button for displaying the pop-up. Therefore, this API is not called here. For details, please refer to the checkUpdatePop() method.
apiActivity.showLog("There is a new update");
apiActivity.apkUpgradeInfo = (ApkUpgradeInfo) info;
}
apiActivity.showLog("onUpdateInfo status: " + status + ", rtnCode: " + rtnCode + ", rtnMessage: " + rtnMessage);
}
}
}
- 应用调用AppUpdateClient.showUpdateDialog方法请求为用户显示更新弹窗。
public void checkUpdatePop(boolean forceUpdate) {
AppUpdateClient client = JosApps.getAppUpdateClient(this);
client.showUpdateDialog(this, apkUpgradeInfo, forceUpdate);
Log.i(TAG, "checkUpdatePop success");
}
HMS Core SDK为用户弹窗更新
用户在更新确认页面选择更新应用
HMS Core SDK向应用市场请求下载最新的应用安装包
应用市场returns应用打包到HMS Core SDK。下载完成后HMS Core SDK开始安装应用
您可以使用华为应用市场提供的the badge service统计应用市场应用下载量,为用户提供静默安装服务。
当用户在频道中点击您的徽章时,用户将被重定向到 AppGallery 上您的应用详情页面。用户可以点击安装以自动下载并安装您的应用程序。
制作徽章
- 登录 AppGallery Connect 并点击应用内分发。
- 单击制作徽章 选项卡。
- 单击添加 并通过按关键字或应用 ID 搜索来添加应用。 (您只能为已发布的应用制作徽章。)
- 设置徽章类型、在、频道名称和[=57中显示徽章=]推荐人。推荐人是可选的。如果需要统计归因,需要设置参数。
- 单击“生成徽章”以获取徽章及其 link。
我想您并不是要在浏览器中打开,而是通过 AppGallery 做出反应的意图。
您可以使用适用于 AppGallery 和 Play 商店的 market://details?id=com.example.myapp
。
来自 AppGallery 的 AndroidManifest.xml
:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="market" android:host="details"/>
</intent-filter>