如何在 ios 中单击通知时接收数据,当应用程序被杀死时,(react-native-fcm 模块在 IOS 中获取推送通知)
Posted
技术标签:
【中文标题】如何在 ios 中单击通知时接收数据,当应用程序被杀死时,(react-native-fcm 模块在 IOS 中获取推送通知)【英文标题】:How to receive data on click of notification in ios, when app is killed ,( react-native-fcm module to get push notification in IOS) 【发布时间】:2016-11-24 11:05:49 【问题描述】:我在 android 和 ios 中都使用 react native 设计了应用程序,并使用 raact-native-fcm 模块从服务器推送通知。 在 android 中,我们仅从服务器发送数据有效负载,并在 onMessageReceived() 天气应用程序处于前台或最小化(后台)或被杀死时接收,然后我可以处理该数据以显示本地通知,这很好。 但在 IOS 中,我不知道在应用程序中接收数据有效负载的位置,或者 如果在 IOS 的情况下我发送通知有效负载连同/不带数据有效负载,我能够接收通知,当应用程序处于后台或被杀死或 FCM.on('notification',()=>) 中的通知数据;应用程序在前台时的事件。 但是当 IOS 应用程序被杀死时,我无法处理收到的通知,点击通知应用程序打开但无法获取数据或通知有效负载。 请帮帮我。
【问题讨论】:
请您的后端人员将通知密钥放入您的有效负载中。 如果我从后端提供通知有效负载,它会很好,我能够接收通知(当应用程序在后台(最小化或终止)时),但是点击通知,应用程序打开并且我在 FCM.getInitialNotification().then(data=>); (react-native-fcm 模块)。但我需要的是在某些功能中获取数据有效负载或通知有效负载(天气应用程序在前台或最小化或终止),我可以在其中执行一些任务。 【参考方案1】:当你在应用被杀死时点击推送时,didReceiveRemoteNotification
将不会被调用。
推送详情将在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
中提供
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
if (launchOptions!=nil)
NSMutableDictionary *userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
NSLog(@"userInfo===%@", userInfo);
if (userInfo.count>=1)
NSDictionary *apsInfo = [userInfo objectForKey:@"aps"];
NSLog(@"Received apsInfo Badge: %@", apsInfo);
// now do what you have in push...
【讨论】:
如何通过推送唤醒被杀死的 IOS 应用程序,以便我可以从服务器获取一些数据?我正在使用 react-native-firebase 进行推送以上是关于如何在 ios 中单击通知时接收数据,当应用程序被杀死时,(react-native-fcm 模块在 IOS 中获取推送通知)的主要内容,如果未能解决你的问题,请参考以下文章