iOS在收到推送通知之前执行检查
我正在编写一个利用苹果推送通知服务的应用程序。一些推送通知基于用户的位置,仅当用户与对象保持一定距离时才应发送。我不想不断地将用户的位置更新到我的服务器上,并以这种方式进行检查,首先是出于安全原因,其次是为了减少网络使用。当设备收到推送通知时,是否有办法在通知用户之前进行检查,如果不符合条件,则放弃通知?谢谢你的帮助 不,遗憾的是,当应用程序未启动时,如果用户未单击通知,则无法在客户端执行任何代码。您必须在服务器端进行检查,以决定是否发送推送。不,遗憾的是,在应用程序未启动时,如果用户未单击通知,您无法在客户端执行任何代码。您必须检查服务器端以决定是否发送推送。在应用程序未运行时收到的推送通知(最典型的情况)超出您的控制范围。一旦发送,它们将被接收并显示给用户(假设用户已授予权限) 如果在应用程序运行时收到推送通知,则您可以控制推送通知 也许您可以使用本地通知(从用户设备生成和接收的通知)来代替。您可以完全控制它们的生成时间 请记住,应用程序中的后台处理是不允许的,除了4件事iOS在收到推送通知之前执行检查,ios,apple-push-notifications,userlocation,Ios,Apple Push Notifications,Userlocation,我正在编写一个利用苹果推送通知服务的应用程序。一些推送通知基于用户的位置,仅当用户与对象保持一定距离时才应发送。我不想不断地将用户的位置更新到我的服务器上,并以这种方式进行检查,首先是出于安全原因,其次是为了减少网络使用。当设备收到推送通知时,是否有办法在通知用户之前进行检查,如果不符合条件,则放弃通知?谢谢你的帮助 不,遗憾的是,当应用程序未启动时,如果用户未单击通知,则无法在客户端执行任何代码。您必须在服务器端进行检查,以决定是否发送推送。不,遗憾的是,在应用程序未启动时,如果用户未单击通知
这些之外的任何内容都不能在后台执行。当应用程序未运行时收到的推送通知(最典型的情况)超出了您的控制范围。一旦发送,它们将被接收并显示给用户(假设用户已授予权限) 如果在应用程序运行时收到推送通知,则您可以控制推送通知 也许您可以使用本地通知(从用户设备生成和接收的通知)来代替。您可以完全控制它们的生成时间 请记住,应用程序中的后台处理是不允许的,除了4件事
这些之外的任何内容都不能在后台执行。从iOS7开始,您的代码可以运行,我引用“大致与用户看到通知的时间相同”: 多任务增强功能 使用推送通知通知用户新内容的应用程序 可以在后台获取内容。支持这一点 模式,包括带有远程通知的UIBackgroundModes键 应用程序的Info.plist文件中的值。您还必须实现 应用程序:DidReceiveEmotentification:fetchCompletionHandler: 方法在应用程序委托中 请参见此处的更多信息: 在这里:
我还没有尝试过,但我想知道您是否发送了一个推送通知负载,该负载在“apns”中没有标准的“alert”、“badge”值,但在自定义值中,它仍会调用您的代码,但不会显示推送通知。从iOS7开始,您的代码可以运行,我引用,“与用户看到通知的时间大致相同”: 多任务增强功能 使用推送通知通知用户新内容的应用程序 可以在后台获取内容。若要支持此 模式,包括带有远程通知的UIBackgroundModes键 应用程序的Info.plist文件中的值。您还必须实现 应用程序:DidReceiveEmotentification:fetchCompletionHandler: 方法在应用程序委托中 请参见此处的更多信息: 在这里:
我还没有尝试过,但我想知道你是否发送了一个推送通知负载,而该负载在“apns”中没有标准的“警报”、“徽章”值“但在自定义值中,它仍会调用您的代码,但不会显示推送通知。Dang,这就是我的想法。谢谢你的澄清。该死,我就是这么想的。谢谢你的澄清。