如何通知用户Android App更新?

dol*_*oug 53 android google-play

我已经建立了一个Android应用程序,现在在Play Market上.我不时会对它进行更新,我想让用户知道有新版本可用.

如何向应用用户发送通知更新?

Pra*_*nCG 68

您无需为此执行任何特定操作.由于您提到您使用的是Google Play,因此Google Play会对更新通知进行处理.

您只需要更高的APK更新versionCode,Google Play应该完成剩下的工作.

  • @doledoug,请确保1. Google Play中的通知 - 设置已勾选.2.手机中的背景日期设置 - 勾选帐户和同步. (4认同)
  • 我每次修改代码时都会在AndroidManifest.xml文件中更改android:versionCode属性,但我的手机上没有任何通知. (3认同)

小智 11

您可以通过多种方式执行此操作,具体取决于您希望用户何时能够看到可用的更新.

如果您希望用户在启动应用程序时了解更新,只需创建一个实用程序方法(在onCreatemain/first Activity 的方法内),检查Google Play中是否有更新的版本.如果是,则显示包含相关消息的警报对话框和当用户单击警报对话框的正面按钮时在Google Play中打开应用程序的意图.如果您要定期更新应用程序,则每次启动应用程序时,用户都会不断收到此警报对话框,因此可能会感到烦躁.因此,这不是最好的方法.

如果您希望用户在手机上收到通知(而不是用户启动应用程序时),您可以使用该AlarmManager班级来安排后台服务,该服务会定期检查更新.如果服务发现升级实际可用,请发布具有在Google Play中打开您的应用的意图的通知.

当然,另一种方法是将其留给操作系统本身.如果用户尚未为您的应用设置"自动更新"偏好设置,则用户将定期收到有关您和其他任何应用的更新的通知.但并非所有用户都在其设备上启用后台数据,因此这并非完全可靠.

最后,您必须尊重用户首选项.如果用户不想自动更新应用程序,或者不想在他/她启动应用程序时看到唠叨对话框,请不要提醒用户有关更新的信息.

在我看来,你应该创建一个PreferenceActivity偏好,如"定期检查更新",可以在你的应用程序中设置.如果已设置,请在您自己的服务中做必要的事情.甚至可以让用户选择服务检查更新的时间段.

我希望这有帮助!

  • 我真的*喜欢不鼓励使用AlarmManager在后台运行您的应用程序来检查更新.想象一下,如果用户安装的每个应用程序都这样做.您的应用程序并不那么重要,浪费用户设备的资源是不礼貌的.如果您将偏好默认为true,请不要使用添加首选项作为允许您执行此操作的借口.大多数用户永远不会寻找,并且特别是那些受到滥用应用程序开发人员设备性能不佳的用户. (13认同)
  • 您如何建议应该"检查Google Play中是否有新版本"可靠.据我所知,除非是非官方版本,API不公开? (2认同)

Len*_*and 11

如果她希望通过谷歌播放获得新版本的通知,则由每个手机所有者决定,如果默认情况下启用,则由每个手机的制造商决定.

但是,如果您"需要"用户更新到新版本以与某种形式的协议兼容,或者您​​有一个类似的用例,您在某处有服务器组件,则可能需要通知UI中潜在版本的用户基于有关最新版本的信息而发生冲突.

这些信息可以直接从谷歌播放中获取,但正如@Yahel在这个问题中所指出的那样 google play是一个没有官方API的封闭系统,你可能需要依赖不可预测的未记录的API.这里有一个非官方的API库.

这只留下一个选项,即将此信息保存在您自己的服务器上.如果你已经有了服务器端,这可能是微不足道的.只需将最新版本放在XML文件中,然后定期从代码中进行检索即可.如果版本代码已过时,请在UI中触发通知.这是执行此操作的示例实现.

我希望这可以帮到你 :-)


小智 9

2020 年更新:现在您可以使用应用内更新机制

预览

文档:https : //developer.android.com/guide/playcore/in-app-updates


Man*_*jan 6

我知道这是一个老问题,但如果人们来这里检查这个问题,谷歌现在正在为应用程序更新的应用程序内通知提供官方支持完整的文档可以在这里找到