如何自动更新Android应用程序没有playstore?像Facebook应用程序或任何比赛应用程序

uidvcgyl  于 2023-04-04  发布在  Android
关注(0)|答案(6)|浏览(197)

应用程序如何在内部自动更新而不从Playstore更新?我的意思是应用程序的内部数据被更改(通过互联网)而不从Playstore更新.对于例如任何比赛应用程序,或Facebook应用程序.这里的新闻源是自动更新.
专业术语是什么?
有教程吗?

ar7v8xwq

ar7v8xwq1#

如果你想检查你的应用是否有更新(不与Google Play交互),你必须轮询一个服务器(提供你的当前版本),让服务器检查是否有新版本可用。如果是这样,让服务器响应更新日志和新版本的URL。
幸运的是,有一些库可以做到这一点:

  • AppUpdater。Android库,用于检查您自己的服务器(或Google Play,Github等)上的更新。很棒的documentation。此库通过显示Material对话框,Snackbar或通知来通知您的应用程序的更新。
  • Android Auto Update .中文库,但应该做的伎俩,最流行的库之一这样做,但这可能只是因为Google Play在中国不可用.
  • AppUpdateChecker保持应用更新的一种简单的非市场方式。它只需要设置一个指向描述应用更改的JSON文档的URL。
  • Auto Updater此项目允许使用私有更新服务器(请参阅apk-updater)而不是Google Play更新器自动更新正在运行的APK应用程序。还附带服务器脚本。
  • SmartUpdates。较旧的库,但说明书是英语的,并且还提供了服务器脚本。
  • WVersionManager .检查更新,但实际更新必须从Play商店下载.
wa7juj8i

wa7juj8i2#

Mdlc的回答是关于更新应用程序本身,而不是内容。
最初的问题是如何创建一个具有动态内容的应用程序,例如Facebook或任何其他新闻源应用程序。
任何类型的应用程序都有两个部分:

  • 服务器
  • 客户端

服务器存储您需要的所有信息,客户端向服务器发出请求并显示信息。
假设服务器在数据库中存储了一个名为News#1的条目。客户端请求新闻列表,并返回array[News#1]作为响应,并在屏幕上显示一个磁贴。然后有人创建新条目News#2。在下一次请求服务器时,客户端将获得2个元素的数组:array[News#1, News#2]并显示此动态内容。
REST API客户端是我们的起点。

jgwigjjp

jgwigjjp3#

https://github.com/bitstadium/HockeySDK-Android/blob/develop/hockeysdk/src/main/java/net/hockeyapp/android/tasks/DownloadFileTask.java#L194 有一个完美的和仍然工作的实现打开下载的APK文件...

private fun install(downloadedAPK: File, context: Context) {
        val intent = Intent(Intent.ACTION_INSTALL_PACKAGE)
        intent.setDataAndType(Uri.fromFile(downloadedAPK),
                "application/vnd.android.package-archive")
        intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK

        var oldVmPolicy: StrictMode.VmPolicy? = null

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            oldVmPolicy = StrictMode.getVmPolicy()
            val policy = StrictMode.VmPolicy.Builder()
                    .penaltyLog()
                    .build()
            StrictMode.setVmPolicy(policy)
        }

        context.startActivity(intent)

        if (oldVmPolicy != null) {
            StrictMode.setVmPolicy(oldVmPolicy)
        }
    }
rks48beu

rks48beu5#

这是备用的
https://developer.android.com/guide/app-bundle/in-app-updates#update_readiness
尝试此谷歌图书馆从应用程序更新

dependencies {
implementation 'com.google.android.play:core:1.5.0'
...}
u0njafvf

u0njafvf6#

你可以试试这个图书馆:implementation 'com.github.vermat516:HelperLibrary:1.0.1'这是最好的,从我看来,我们只需要写的是:

new UniversalHelper(this).updateApp();

其余工作由库自动完成

这是对您的应用程序外观的响应[ This ]

相关问题