当特定类型的推送通知到达时,如何不允许 iOS 启动应用程序?

Posted

技术标签:

【中文标题】当特定类型的推送通知到达时,如何不允许 iOS 启动应用程序?【英文标题】:How don't allow iOS to start application when specific type of push notification arrives? 【发布时间】:2013-04-19 15:36:43 【问题描述】:

我希望 php 服务器向我的 ios 应用程序发送两种类型的推送通知:

    新收入消息。对于这个推送,我希望 iOS 启动我的应用程序(如果它被暂停)、显示徽章、播放声音等。 新朋友请求。我不希望这个推送启动我的应用程序,我只想处理应用程序是否在前台。

    我怎样才能做到这一点?如何以不同方式处理不同的推送通知?

【问题讨论】:

【参考方案1】:

我不确定它是否会起作用,但您应该尝试在第二种情况下发送仅包含自定义属性的通知。在这种情况下,将不会显示警报、播放声音或更新徽章,因此我认为此通知只会在您的应用已经运行时才会到达。

对于第一种情况,发送带有预定义属性(警报、声音、徽章)的通知。

【讨论】:

【参考方案2】:

远程通知的应用程序端处理应该从应用程序委托协议 application:didReceiveRemoteNotification: 中的方法开始。

但是,为了避免应用程序首先启动,您需要确保 PHP 服务器制作的通知不提供启动应用程序的选项。

在此处查看有关 Apple 推送通知服务的文档:

http://developer.apple.com/library/ios/#DOCUMENTATION/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW9

特别是,您希望关注通知负载部分中记录的 aps 字典的内容。收到的 aps 字典可以标记您的应用程序的图标,而无需打开应用程序。

【讨论】:

以上是关于当特定类型的推送通知到达时,如何不允许 iOS 启动应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

当汽车到达特定半径时如何发送推送通知

当用户使用 iOS 13 Swift 5 点击推送通知时,在特定视图中打开应用程序

如何从iOS中的设置处理推送通知允许

phonegap ios:当用户为权限请求框选择“不允许”时,推送通知冻结

如何处理点击推送通知ios

Swiftui:当用户点击推送通知时,如何导航到特定的 NavigationLink?