如果用户禁用了推送通知,如何从混合应用程序中检查?
Posted
技术标签:
【中文标题】如果用户禁用了推送通知,如何从混合应用程序中检查?【英文标题】:How to check from hybrid app if the user has disabled push notifications? 【发布时间】:2014-04-17 12:30:05 【问题描述】:我已经实现了对 Worklight 应用程序的推送通知。如果用户在操作系统级别禁用了应用程序的推送通知,则要求之一是显示一条消息。
有没有办法检测到这种变化? Worklight 的方法 isPushEnabled:检查是否支持推送通知。如果 IBM® Worklight® javascript API 在当前环境中支持推送通知,则返回 true。
即使我禁用了 AMS 应用程序的推送,此方法仍然返回 true。
我还在 Cordova 级别搜索了一个解决方案,但到目前为止还没有运气。
谢谢
【问题讨论】:
【参考方案1】:如果用户在登录/注销时订阅和取消订阅,您始终可以使用 API WL.Client.Push.isSubscribed(alias) 来检查当前用户是否已订阅。如果用户未订阅,您可以弹出一个警告,要求他们订阅并通知他们“如果您已禁用此应用程序的推送通知,您可以通过转到设置-> 通知-> AppName 重新启用推送”。
如果不编写本机代码,我不知道是否可以检查用户是否在操作系统级别禁用了推送。不过,我已经看到了一些本地编写的解决方案,例如这里有一些针对 ios 的讨论:
Enable/Disable Apple Push Notification from iPhone app?
【讨论】:
以上是关于如果用户禁用了推送通知,如何从混合应用程序中检查?的主要内容,如果未能解决你的问题,请参考以下文章
如何确定用户是不是尚未注册接收推送通知和/或他们的设置是不是被禁用