当特定类型的推送通知到达时,如何不允许 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 点击推送通知时,在特定视图中打开应用程序