我正在测试react原生PushNotificationIOS。
http://facebook.github.io/react-native/docs/pushnotificationios.html#content
我将事件绑定在componentWillMount
函数中,如下所示
PushNotificationIOS.addEventListener('notification', this._onNotification);
我把推送通知从服务器发送到设备。它不会捕获推送通知。
我只能在对象c代码下面收到推送通知。
(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
}
PushNotificationIOS
可以监听RCTDeviceEventEmitter
的呼叫。但是来自服务器的通知无法侦听。
有人知道这个问题吗?
发布于 2015-07-29 10:01:26
推送通知不起作用,这一点在React中没有记录。为了连接通知,您需要先向项目中添加一些内容。我从github https://github.com/facebook/react-native/pull/1979#issue-94795697上的一个公开问题中找到了这个信息。
基本上,您需要在AppDelegate.m中手动连接通知,并从RCTPushNotificationManager调用相应的方法,以便PushNotificationsIOS类可以从您的javascript代码中处理它们。
$(SRCROOT)/node_modules/react-native/Libraries/**
#import "RCTPushNotificationManager.h"
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
[RCTPushNotificationManager application:application didFailToRegisterForRemoteNotificationsWithError:error];
}
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
[RCTPushNotificationManager application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)notification
{
[RCTPushNotificationManager application:application didReceiveRemoteNotification:notification];
}
发布于 2015-04-17 01:58:21
我也发现了这一点,因此编写了一个替换模块来处理接收推送通知- https://github.com/darylrowland/react-native-remote-push。
https://stackoverflow.com/questions/29586667
复制相似问题