Google Play / App Store:强制更新应用

时间:2017-06-17 04:29:07

标签: android ios google-play app-store

比如说,用户已安装了应用。然后我向商店发布了一个新版本。现在,我希望所有用户在他们继续使用之前拥有更新的应用程序。

当然,我可以在服务器端放置一些标志,这将阻止使用旧版本,但这假设用户必须首先打开应用程序,然后更新它,然后使用它。或者,我可以创建一些推送通知,它会立即提醒所有用户更新。但我从未见过这样的通知,所以我认为这不是传统方式。

那么,有没有传统的方法呢?在新版本发布后,如何强制所有应用程序立即更新?最好是,当应用程序在后台时。

3 个答案:

答案 0 :(得分:2)

没有办法。用户控制他们的硬件,可能不想更新。并且Play商店本身可以控制它何时更新(它更喜欢在一夜之间这样做,它更喜欢在wifi而不是蜂窝数据上这样做)。如果你想要这个,那么要做的就是在服务器上进行版本检查并发送一个代码,该代码可以让你的服务器自己更新应用程序,或让它告诉用户从Play更新它。

答案 1 :(得分:0)

您可以使用需要随Play商店版本更新的api。然后检查安装的版本。如果它比您的Play商店版本旧,请先前往Play商店,然后再进行其他任何活动,并强制对其进行更新。我正在使用retrofit2来调用api。

    private int versionCode = BuildConfig.VERSION_CODE;
    private String versionName = BuildConfig.VERSION_NAME;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        GetAppVersion();
}

 private void GetAppVersion() {
        final DatabaseManager dm = new DatabaseManager(this);

        Retrofit retrofit = RetrofitSingleton.getInstance(getBaseContext());

        final CommonApiInterface commonApiInterface = retrofit.create(CommonApiInterface.class);

        commonApiInterface.GetAppCurrentVersion().enqueue(new Callback<AppVersionModel>() {
            @Override
            public void onResponse(Call<AppVersionModel> call, Response<AppVersionModel> response) {
                Boolean b = dm.update_TrackAppVersion(Integer.valueOf(response.body().getVersionCode()),response.body().getVersionName());
                if (versionCode < Integer.valueOf(response.body().getVersionCode())) {
                    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=YOUR PACKAGE NAME"));
                    startActivity(intent);
                }
            }

            @Override
            public void onFailure(Call<AppVersionModel> call, Throwable t) {
                Log.d("Error", "onFailure: "+t);
            }
        });
    }

答案 2 :(得分:0)

实际上有一种方法(最近发布)–使用Android in-app updates API。很棒的事情是,更新过程可以在用户不离开应用程序的情况下完成。

您可以使用AppUpdateManager获取应用更新信息,然后使用应用内更新API发起灵活的更新(提示用户更新应用内并允许下载背景,但允许用户选择是否要更新)或立即更新(全屏视图,不允许用户在更新前继续操作)。

in-app updates guide官方提供了示例代码和说明。