我正在向多个iOS设备发送通知。是否有任何方法可以知道用户实际收到通知并且用户点击了通知?
答案 0 :(得分:1)
无法做到这一点,因为APNS只会向目标令牌发送推送通知。有一些验证过程报告令牌无效。
我认为你应该实现自己的逻辑来做到这一点,所以当点击通知时,你会得到你的回调: https://developer.apple.com/reference/uikit/uiapplicationdelegate/1623013-application 并呼叫用户实际点击通知的后端(通知发件人)。
希望澄清。
答案 1 :(得分:0)
尝试设置一些处理程序以便用户单击通知事件 - 您可以执行某些操作,例如向服务器发送有关此事件的请求
答案 2 :(得分:0)
正如Christian所解释的那样,您可以按照以下两个步骤开发自己的逻辑:
1)当用户收到通知时,推送通知的委托方法,对于objective-c
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo
和斯威夫特
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject])
变得活跃。在此方法中,可以使用一些参数调用Web服务调用以标识通知中的消息。
** 2)**完成第一步后,用户点击通知阅读消息,然后再次调用另一个带有一些参数的Web服务,以识别用户是否已阅读该消息。为此,您可以在objective-c:
中编写Web服务逻辑-(void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler
对于swift:
func application(application: UIApplication, handleActionWithIdentifier identifier: String?, forRemoteNotification userInfo: [NSObject : AnyObject], completionHandler: () -> Void)