当Play商店发布新版本时,Android应用程序将自动更新

时间:2020-06-10 06:01:22

标签: java android google-play

我在Play商店中更新了我的应用程序的新版本。想要在已经安装了应用程序的手机中进行自动更新。我做了这项工作。

dependencies {
    compile 'org.jsoup:jsoup:1.10.2'
}

MainActivity中,我做了这项工作-

 public class MainActivity extends AppCompatActivity {

    String newVersion;

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

        new FetchAppVersionFromGooglePlayStore().execute();
    }

    class FetchAppVersionFromGooglePlayStore extends AsyncTask<String, Void, String> {

        protected String doInBackground(String... urls) {
            try {
                return
                        Jsoup.connect("https://play.google.com/store/apps/details?id=" + "com.directed.android.smartstart" + "&hl=en")
                        .timeout(10000)
                        .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
                        .referrer("http://www.google.com")
                        .get()
                        .select("div[itemprop=softwareVersion]")
                        .first()
                        .ownText();

            } catch (Exception e) {
                return "";
            }
        }

        protected void onPostExecute(String string) {
            newVersion = string;
            Log.d("new Version", newVersion);
        }
    }
}

但是,仍然无法正常工作。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我相信您想要的是支持应用程序内更新。如official docs所述,应用程序内更新会在可用更新的情况下向用户显示一个对话框,并且由用户选择是否要更新。

它是这样的:

enter image description here

我个人觉得不错,因为作为一名Android开发人员,我希望我的用户在考虑到隐私和安全问题的情况下保持最新状态。并且不强制用户更新维护用户体验。

这样,您就不必在内置的AppUpdateManager中使用JSOUP了。 您应该阅读official docs : Support in-app updates

编辑:您可以进一步设置并检查更新优先级,以评估是否需要更新。如官方文件所述:

Google Play开发者API允许您设置每次更新的优先级。这使您的应用可以决定向用户推荐更新的强烈程度。例如,考虑以下用于设置更新优先级的策略:

UI的次要改进:低优先级更新;既不要求灵活性 也不立即更新。

性能改进::中等优先级 更新请求灵活的更新。

关键安全更新:高优先级更新;需要立即更新。

为了确定优先级,Google Play使用介于0和5之间的整数值,其中> 0是默认值,而5是最高优先级。设置 更新的优先级,请使用下面的inAppUpdatePriority字段 Google Play开发者API中的Edits.tracks.releases。优先可以 仅在推出新版本时设置,无法更改 以后。

优先级是相关的,因为它会改变用户可见的更新对话框的频率,因为每次进行次要更新时都会困扰用户,这不是一个好的UX。