Jai*_*odi 3 android app-update in-app-update google-play-core
我正在按照以下链接在我的 android 实时应用程序中提供应用程序更新体验或功能。
链接在这里:https : //developer.android.com/guide/playcore/in-app-updates#java
从链接内容来看,我正在实施立即应用更新功能。
到目前为止,我已完成以下步骤:
实现如下代码:
首先添加依赖项: implementation 'com.google.android.play:core:1.7.1'
然后,在 Splash Activity 中,
// Creates instance of the manager.
final AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(SplashActivity.this);
// Returns an intent object that you use to check for an update.
Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();
// Checks that the platform will allow the specified type of update.
appUpdateInfoTask.addOnSuccessListener(new OnSuccessListener<AppUpdateInfo>() {
@Override
public void onSuccess(AppUpdateInfo appUpdateInfo) {
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
// For a flexible update, use AppUpdateType.FLEXIBLE
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
// Request the update.
try {
appUpdateManager.startUpdateFlowForResult(appUpdateInfo, AppUpdateType.IMMEDIATE, SplashActivity.this,500);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
}
}else
{
//Continuing with the Application flow
}
}
Run Code Online (Sandbox Code Playgroud)
问题是:当我生成签名的 APK 并安装在我的 android 设备中时。
在日志中出现以下错误:
Auth: [GoogleAccountDataServiceImpl] getToken() -> BAD_AUTHENTICATION. Account: <ELLIDED:9494777414>, App: com.google.android.gms, Service: oauth2:https://www.googleapis.com/auth/emeraldsea.mobileapps.doritos.cookie
Run Code Online (Sandbox Code Playgroud)
可能是什么问题?
得到解决方案:
在测试应用程序更新功能时:
您安装的应用版本和版本代码必须低于 Play 商店中的应用版本和版本代码。
在真正的 Android 设备而不是 AVD 或模拟器中测试它。
问题中的代码是正确的,但必须处理 onActivityResult 方法中的回调。
来自谷歌,
通过内部应用共享,您可以通过将要测试的 app bundle 上传到 Play 管理中心,快速与内部团队和测试人员共享 app bundle 或 APK。
您还可以使用内部应用共享来测试应用内更新,如下所示:
在您的测试设备上,确保您已经安装了满足以下要求的应用版本:
该应用是使用内部应用共享 URL 安装的 支持应用内更新 使用低于应用更新版本的版本代码 按照 Play 管理中心的说明在内部共享您的应用。确保您上传的应用版本使用的版本代码高于您已在测试设备上安装的版本代码。在测试设备上,仅单击应用程序更新版本的内部应用程序共享链接。不要从点击链接后看到的 Google Play 商店页面安装该应用程序。
从设备的应用程序抽屉或主屏幕打开应用程序。该更新现在应该可用于您的应用程序,您可以测试应用程序内更新的实现。
就这样。
| 归档时间: |
|
| 查看次数: |
461 次 |
| 最近记录: |