将 iOS 推送通知显示为警报弹出窗口而不是横幅样式

Posted

技术标签:

【中文标题】将 iOS 推送通知显示为警报弹出窗口而不是横幅样式【英文标题】:Show iOS push notifications as alert popup instead of banner style 【发布时间】:2013-09-11 06:32:17 【问题描述】:

我正在注册我的应用程序以通过这种方式在application:didFinishLaunchingWithOptions: 方法中接收来自APNS 的推送通知:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

注册成功,我的提供商成功获取了我的令牌,事实上我确实收到了推送通知,但是当我的应用程序不在前台时,会显示一个横幅。我希望显示带有“关闭”和“查看”按钮的警报,并且我在有效负载字典中收到“警报”字符串......会发生什么?

【问题讨论】:

我的问题正好相反。我正在发送 APNS 消息,但它们会作为警报出现。我不想分散用户的注意力。我想要横幅,以及在通知中心/通知抽屉中列出的通知 【参考方案1】:

检查手机设置,用户可以自定义他们希望推送通知在其设备上的显示方式。

    转到您 ios 设备上的“设置”应用。 然后选择“通知” 点击列表中显示的应用名称 更改推送通知的显示设置(屏幕截图如下)

不能使用代码更改此设置(参考:https://***.com/a/9137501/)

但是,您可以检查current setting,然后请求用户更改它。

【讨论】:

好答案,谢谢,但不确定最后一位是否正确..! iOS refers to banners AND alerts as UIRemoteNotificationTypeAlert,因此无法检查用户选择了哪个 @Shai 你在这里可能是对的,我的观点是基于我帖子中引用的answer。 哦,你为我节省了很多时间。【参考方案2】:

转到Settings->Notifications->select Your App->Alert style(None,Banners,Alert) select Alerts.

【讨论】:

以上是关于将 iOS 推送通知显示为警报弹出窗口而不是横幅样式的主要内容,如果未能解决你的问题,请参考以下文章

当应用程序处于前台时收到推送通知时,是不是可以为 ios 显示横幅?

我们可以将 iOS 中的应用程序的多个 Apple 推送通知设置设置为日历应用程序吗

应用程序运行时,iOS 推送通知显示为 UIAlert

应用在前台运行时收到 iOS 推送通知

iOS 推送通知自定义警报

我无法让推送通知以警报或横幅形式出现