反应本机 PushNotificationIOS 不听推送通知
react native PushNotificationIOS doesn't listen push notification
我正在测试 react-native 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
通话收听。
但是来自服务器的通知无法收听。
有人知道这个问题吗?
我也发现了这个所以写了一个替换模块来处理接收推送通知 - https://github.com/darylrowland/react-native-remote-push
推送通知不是开箱即用的,这在 React Native 文档中没有记录。为了连接通知,您需要先将一些东西添加到您的项目中。我从 github https://github.com/facebook/react-native/pull/1979#issue-94795697.
上的未解决问题中找到此信息
您基本上需要在 AppDelegate.m 中手动连接通知并从 RCTPushNotificationManager 调用相应的方法,以便 PushNotificationsIOS class 可以从您的 javascript 代码处理它们。
- 将 RCTPushNotification 添加到您的项目(以及 link 构建设置中的二进制文件)。
- 将此 header 添加到 Header 搜索路径:
$(SRCROOT)/node_modules/react-native/Libraries/**
- 将此代码添加到 AppDelegate.m:
#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];
}
我正在测试 react-native 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
通话收听。
但是来自服务器的通知无法收听。
有人知道这个问题吗?
我也发现了这个所以写了一个替换模块来处理接收推送通知 - https://github.com/darylrowland/react-native-remote-push
推送通知不是开箱即用的,这在 React Native 文档中没有记录。为了连接通知,您需要先将一些东西添加到您的项目中。我从 github https://github.com/facebook/react-native/pull/1979#issue-94795697.
上的未解决问题中找到此信息您基本上需要在 AppDelegate.m 中手动连接通知并从 RCTPushNotificationManager 调用相应的方法,以便 PushNotificationsIOS class 可以从您的 javascript 代码处理它们。
- 将 RCTPushNotification 添加到您的项目(以及 link 构建设置中的二进制文件)。
- 将此 header 添加到 Header 搜索路径:
$(SRCROOT)/node_modules/react-native/Libraries/**
- 将此代码添加到 AppDelegate.m:
#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];
}