我正在尝试弄清楚如何(自动)通知或提示我的 Android 应用程序(正在进行开放测试)的用户更新到最新版本。我使用 Android Studio 开发了该应用程序,并使用 Google Play 开发者控制台发布了它。
我最终希望发生的是,用户收到通知,有新的更新可用,并让他选择安装它。
我正在考虑如何让用户从 Google Play 收到通知,告知有新的更新可用。如果他点击该通知,Google Play 控制台将打开并向他显示我的应用程序有更新,他可以安装该更新。但我也愿意接受其他选项,如果它们对用户来说更方便的话。
如果您能根据自己的经验提出最佳实践建议,我们将不胜感激。
根据我在here阅读的内容,当我打开应用程序包时,页面右上角应该有某种“恢复工具”。但没有。
所以我想知道,这是否仅适用于“生产中”的应用程序,而不适用于“开放测试”或任何其他测试。但我无法得到任何明确的信息。
我还读到,提示是自动处理的,但可能需要一段时间才能发生。但我不知道在哪里设置以及需要多长时间。
在提及 Google Play Console 时,您提到的“恢复工具”仅适用于处于开放测试阶段的应用程序,并且生产中的应用程序无法访问。
自动更新的推出可能需要一些时间。用户可能无法立即从 Google Play 收到更新。有时它们可以随着时间的推移被释放。
您可以使用 Google Play 提供的应用内更新 API 在应用内有可用更新时通知用户。使用此方法比仅依赖外部警报更加用户友好。
// Import the necessary libraries in your app build.gradle
implementation 'com.google.android.play:core:1.10.0'
// Check for updates in your activity or fragment
AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(context);
// Returns an intent to check for an update
Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();
appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
if (appUpdateInfo.updateAvailability() ==
UpdateAvailability.UPDATE_AVAILABLE
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)) {
// Request the update
try {
appUpdateManager.startUpdateFlowForResult(
appUpdateInfo,
AppUpdateType.FLEXIBLE,
this, // Specify your activity
MY_REQUEST_CODE);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
}
}
});