iOS 等效的 OSRemoteNotificationReceivedHandler
OSRemoteNotificationReceivedHandler equivalent for iOS
我可以在 Android 中选择接收推送通知,但在 IOS 中我找不到等效的方法来执行相同的操作。
在 android 我可以覆盖:
@Override
public void remoteNotificationReceived(Context context, OSNotificationReceivedEvent notificationReceivedEvent) {
OSNotification notification = notificationReceivedEvent.getNotification();
notificationReceivedEvent.complete(notification);
<-- I can do something with the notification data here.
}
如何在 iOS 中执行相同的操作?
我正在使用一个信号,如果这有什么不同的话。
在 iOS 上,用户必须选择接收通知。我建议遵循整个过程的教程。 Here 是 Ray Wenderlich 的教程。
假设您已完成所有设置,您要查找的代码位于 UNUserNotificationCenterDelegate 中。具体来说,
@available(iOS 10.0, *)
optional func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void)
@available(iOS 10.0, *)
optional func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse) async
取决于你是想要异步还是闭包。
我可以在 Android 中选择接收推送通知,但在 IOS 中我找不到等效的方法来执行相同的操作。
在 android 我可以覆盖:
@Override
public void remoteNotificationReceived(Context context, OSNotificationReceivedEvent notificationReceivedEvent) {
OSNotification notification = notificationReceivedEvent.getNotification();
notificationReceivedEvent.complete(notification);
<-- I can do something with the notification data here.
}
如何在 iOS 中执行相同的操作?
我正在使用一个信号,如果这有什么不同的话。
在 iOS 上,用户必须选择接收通知。我建议遵循整个过程的教程。 Here 是 Ray Wenderlich 的教程。
假设您已完成所有设置,您要查找的代码位于 UNUserNotificationCenterDelegate 中。具体来说,
@available(iOS 10.0, *)
optional func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void)
@available(iOS 10.0, *)
optional func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse) async
取决于你是想要异步还是闭包。