相关疑难解决方法(0)

objective c - 当用户更改应用程序的通知设置时检测

我需要始终知道用户在推送通知设置中选择了哪些选项.
(选项包括 - 警报,声音和徽章)

所以,当我的应用程序启动时,我打

UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
Run Code Online (Sandbox Code Playgroud)

并检测用户选择的内容.

但是,如何在应用程序生命周期内检测用户是否稍后更改设置?
是否有一些委托方法在此设置发生更改时被调用?

iphone objective-c appsettings push-notification apple-push-notifications

15
推荐指数
2
解决办法
3万
查看次数

重新安装后iOS推送通知设置

对于iOS8,有选项,当iOS缓存推送通知权限为24小时,重新安装后我将不会收到推送通知提醒.

有解决方法:

重置iOS上的推送通知权限警报

第一次启用推送的应用程序注册推送通知时,iOS会询问用户是否希望接收该应用程序的通知.一旦用户响应此警报,除非设备已恢复或应用程序已卸载至少一天,否则不会再次显示该警报.

如果您想模拟首次运行的应用,可以将应用程序卸载一天.您可以通过以下步骤实现后者而无需等待一天:

从设备中删除您的应用.完全关闭设备并重新打开.转到设置>常规>日期和时间,并将日期设置为一天或更长时间.再次完全关闭设备并重新打开.资料来源:https: //developer.apple.com/library/ios/technotes/tn2265/_index.html

问:但是对于iOS9 +没有缓存的推送权限,重新安装后我每次都收到警报.有没有选项可以将我的选择缓存24小时并在重新安装后使用它?

push-notification ios ios8 ios9

8
推荐指数
1
解决办法
1028
查看次数

我应该在收到有效负载后更新我的应用吗 或者我应该通过允许它自己下载来更新它?

当您的iPhone收到WhatsApp/Telegram推送通知时,例如

wife:
"buy pizza"
Run Code Online (Sandbox Code Playgroud)

问题1:应用程序是否必须自行下载/接收.这是手机上弹出的横幅必须为自己下载+我的Whatsapp/Telegram必须再次自行下载?

我的朋友回答说:

推送通知可以将消息作为有效负载.您的应用可以提取并动态插入到对话中而无需另外请求 - 我之前已经这样做了.让它感觉更加快捷.缺点是您不能保证推送将以正确的顺序(或根本没有)到达.

但我不相信,从语义的角度来看,推送通知不应该真正更新你的应用程序.如果他们这样做将是一种滥用......他们应该只通知您的应用程序更新,然后允许您通过下载任何已提供的新内容来自行更新.

因此,要查看顶级公司及其应用是否正在应用我的朋友建议我使用3个应用(Gmail,WhatsApp,Telegram)进行了一些实验:

我关闭了Wifi,但保留了蜂窝数据,然后我也禁用了应用程序使用Cellular数据的访问权限.

在此输入图像描述

然后我有人给我发了一条消息/电子邮件:这是我的结果:

电报::我收到警报(发件人+第一行).但是一旦我打开应用程序(或点击通知),它就没有我的新消息或任何东西.

但是,如果允许Telegram访问互联网...它会在后台下载消息...即如果我遵循以下顺序:我是wifi或没有互联网限制的蜂窝数据 - >收到通知 - >转互联网完全关闭,但然后转到应用程序:我会在那里看到完整的消息/正文.

Gmail:我收到提醒(有预览主题/发件人/正文)但是一旦我打开应用程序,它就没有我的新消息或任何东西.

如果Gmail应用程序被允许访问互联网......那么与Telegram相反:只有在打开应用程序本身之前,它才会下载/更新Gmail中的电子邮件.我猜Gmail没有content-available设置,1但Telegram设置为1

WhatsApp:我什么都没得到.

没有互动发生在接到通知......这只有当应用程序被下载情况本身.

我的结论是:

没有互动发生在接到通知......这只有当应用程序被下载情况本身独立于有效载荷的到来.

Gmail和Telegram正在进行冗余下载,基本上不够智能,我的朋友建议或者没有收到电子邮件/消息的风险太大,最好安全一点:thinking_face:

问题2:这个结论是否正确?

apple-push-notifications ios swift remote-notifications silent-notification

5
推荐指数
1
解决办法
322
查看次数