我用的是极光2.2.0版本。关于安卓和ios的推送原理,这里不再赘述。以下是我在项目中的用法,定制化的东西会慢慢补上。
iOS
1.导入SDK 极光iOS SDK 官方文档
-
解压下载的SDK,把jpush-ios-2.2.0.a和JPUSHService.h导入到目录下,并创建Jpush.h/.m文件
- 参照文档导入依赖
-
Xcode8配置内容
-
配置info.plist
2.配置appDelegate
- 导入头文件,此处跟文档上不同,因为要写桥接,所以不需要在appDelegate中设置<JPUSHRegisterDelegate>
import "JPUSHService.h"
import <UserNotifications/UserNotifications.h>
import "Jpush.h"
- 在didFinishLaunchingWithOptions添加初始化代码
[JPUSHService setupWithOption:launchOptions appKey:appKey channel:channel apsForProduction:isProduction advertisingIdentifier:advertisingId];
- 上报DeviceToken
- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[JPUSHService registerDeviceToken:deviceToken];
}
-
注册失败(选填)
3.桥接文件Jpush
-
.h文件,因为需要在收到通知后在js端做处理,所以要继承RCTEventEmitter,可以给js发送事件/添加监听。