如果后端更改需要更新的应用程序,如何强制更新应用程序

我已经阅读了关于强制更新应用程序的不同post,并且ppl所拥有的唯一想法(据我所知)是创建一个Web服务,应用程序调用该服务以查看当前版本的版本。 必须手动更新WS以反映versionCode。

这种方法有几个问题:

问题1:

当您将应用程序上传到Play商店时,它可能需要几个小时才能下载设备,您永远不会知道何时。 此外,在我看来它似乎在不同的时间可用于不同的设备,所以你真的不知道什么时候它“可供所有人”。

这意味着您无法立即更新WS(告诉应用程序什么是“当前”版本),因为将它们定向到Play商店将不会非常有建设性,因为更新的应用程序无论如何都不可用。 既然你不知道什么时候可以使用它,你真的不知道何时更新WS。

问题2:

有时您会对后端(通信协议更改或其他内容)进行一些更改,这些更改要求您上载新版本的应用程序,然后更新后端,以便它们可以按预期方式相互通信。 在这种情况下,您真的想要某种方式告诉应用“请更新,因为您已经过时”并将它们引导到Play商店。

所以,问题是:

我该如何实现此function?

正如zapl评论的那样,后端应始终允许向后兼容。 每当您的应用程序调用后端服务器时,应用程序应报告其版本号,后端应相应地做出响应。

至于强制应用程序更新,您应该查看GCM以推送通知,然后将用户带到更新,但实际上这实际上不会“强制”用户更新。

无论哪种方式,只要后端和应用程序都相互报告他们的版本号(可能有“更新可用”的通知),那么你可以设计一些东西1)。 他们继续工作和2)。 用户将在需要时尽快更新。

我知道发布到Google Play会有延迟,但只要后端保留向后兼容性,它就不应该是个问题。

您可以使用appgrades.io在appgrades 仪表板上使用您可以设计的自定义视图/弹出窗口强制更新应用程序(无需代码)