我只是尝试在google play核心库API提供的应用程序更新服务中实现。
在发布了较新版本的应用程序后进行了内部测试。我在play store中获得了更新版本的应用程序,如图1所示。但是,我无法看到“更新”按钮在同一页上,正如屏幕上的-2。另外,应用程序是禁用的,以更新根据代码的实现。请帮我处理这件事。谢谢。屏幕肖像1屏幕肖像2
`
private AppUpdateManager appUpdateManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
appUpdateManager = AppUpdateManagerFactory.create(this);
InAppUpdate.setImmediateUpdate(appUpdateManager, this);
}
@Override
protected void onResume() {
super.onResume();
InAppUpdate.setImmediateUpdateOnResume(appUpdateManager, this);
}
}
和
public class InAppUpdate {
public static int REQUEST_APP_UPDATE = 302;
public static void setImmediateUpdate(AppUpdateManager appUpdateManager, Activity activity) {
appUpdateManager
.getAppUpdateInfo()
.addOnSuccessListener(
appUpdateInfo -> {
// Checks that the platform will allow the specified type of update.
if ((appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE)
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
// Request the update.
try {
appUpdateManager.startUpdateFlowForResult(
appUpdateInfo,
AppUpdateType.IMMEDIATE,
activity,
REQUEST_APP_UPDATE);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
}
}
});
}
public static void setImmediateUpdateOnResume(AppUpdateManager appUpdateManager, Activity activity) {
appUpdateManager
.getAppUpdateInfo()
.addOnSuccessListener(
appUpdateInfo -> {
if (appUpdateInfo.updateAvailability()
== UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS) {
// If an in-app update is already running, resume the update.
try {
appUpdateManager.startUpdateFlowForResult(
appUpdateInfo,
AppUpdateType.IMMEDIATE,
activity,
REQUEST_APP_UPDATE);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
}
}
});
}
public static void setFlexibleUpdate(AppUpdateManager appUpdateManager, Activity activity) {
InstallStateUpdatedListener installStateUpdatedListener = installState -> {
if (installState.installStatus() == InstallStatus.DOWNLOADED) {
Snackbar snackbar =
Snackbar.make(
activity.findViewById(android.R.id.content),
activity.getString(R.string.in_app_snack_bar_message),
Snackbar.LENGTH_INDEFINITE);
//lambda operation used for below action
snackbar.setAction(activity.getString(R.string.in_app_snack_bar_action_title), view ->
appUpdateManager.completeUpdate());
snackbar.setActionTextColor(activity.getResources().getColor(R.color.in_app_snack_bar_text_color))
;
snackbar.show();
} else
Log.e("UPDATE", "Not downloaded yet");
};
appUpdateManager
.getAppUpdateInfo()
.addOnSuccessListener(
appUpdateInfo -> {
// Checks that the platform will allow the specified type of update.
if ((appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE)
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)) {
// Request the update.
try {
appUpdateManager.startUpdateFlowForResult(
appUpdateInfo,
AppUpdateType.FLEXIBLE,
activity,
REQUEST_APP_UPDATE);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
}
}
});
appUpdateManager.registerListener(installStateUpdatedListener);
}
public static void setFlexibleUpdateOnResume(AppUpdateManager appUpdateManager, Activity activity) {
appUpdateManager
.getAppUpdateInfo()
.addOnSuccessListener(
appUpdateInfo -> {
if (appUpdateInfo.updateAvailability()
== UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS) {
// If an in-app update is already running, resume the update.
try {
appUpdateManager.startUpdateFlowForResult(
appUpdateInfo,
AppUpdateType.FLEXIBLE,
activity,
REQUEST_APP_UPDATE);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
}
}
});
}
}`
请确保设备中安装的app是比推送发布的app更低的版本。
有多种方法可以更新Electron应用. 最简单并且获得官方支持的方法是利用内置的Squirrel框架和Electron的autoUpdater模块。 Updating Applications There are several ways to update an Electron application. The easiest and officially supported one is
有多种方法可以更新Electron应用. 最简单并且获得官方支持的方法是利用内置的Squirrel框架和Electron的autoUpdater模块。 使用 update.electronjs.org Electron 团队维护 update.electronjs.org,一个免费开源的网络服务,可以让 Electron 应用使用自动更新。 这个服务是设计给那些满足以下标准的 Electron 应
我们有一个应用程序,利用在应用程序计费。我们看到的问题如下: 当使用较高版本代码的构建被上传到Play Developer控制台时,In App Billing将停止在设备上的应用程序(使用较低版本代码)上工作,表示“应用程序未配置为计费”。 这很好,在测试的时候,但问题是--当应用程序在Google Play商店中时,会有什么行为?当您替换应用程序(以执行更新)时,处于野生状态(具有较低版本代码
我已经构建了一个Kafka Streams应用程序。这是我的第一个,所以我正在从概念验证的思维模式转变为“我如何将其产品化?”心态。 tl; dr版本:我正在寻找kafka流部署建议和技巧,特别是与更新应用程序代码相关的建议和技巧。 我已经找到了很多关于Kafka和Streams API如何工作的文档,但是我找不到任何关于实际部署Streams应用程序的文档。 初始部署似乎相当简单-有很好的文档可
了解如何在收到有可用的新版本通知后更新 Creative Cloud 应用程序。 更新 Creative Cloud 应用程序 Adobe Creative Cloud 桌面应用程序会通知您已安装的应用程序之一是否有可用的更新。更新应用程序以便直接访问新增功能、性能改进以及错误修复。操作方法如下。 注意:有关更新应用程序至 Adobe Creative Cloud 2017 版本的详细信息,请参阅
如果1要更新应用程序,请从控制台执行操作。。1.单击部署。2.选择应用程序名称并单击更新选项。3、在这里,他可以改变: 现在在我的应用程序中没有指定计划路径,所以要更新应用程序,我只更改源路径。应用程序已成功更新。 我想通过提供新的源路径,使用wlst命令更新应用程序。有可能吗? 喜欢 updateApplication('backoffice','path\ to\ the\ ear\ file