iOS 快速接入
最近更新:2022-05-12
展开全部
iOS 快速接入
本文旨要引导用户快速集成推送服务,详细集成步骤参考 SDK 集成指南。
添加工程配置
导入方式
1.推荐使用 Cocoapods 导入方式选择最新版本方式集成
pod 'JCore' // 可选项,也可由pod 'JPush'自动获取
pod 'JPush' // 必选项
注:如果无法导入最新版本,请执行 pod repo update master 这个命令来升级本机的 pod 库,然后重新 pod 'JPush'
pod 'JCore' // 可选项,也可由pod 'JPush'自动获取
pod 'JPush' // 必选项
注:如果无法导入最新版本,请执行 pod repo update master 这个命令来升级本机的 pod 库,然后重新 pod 'JPush'
此代码块在浮窗中显示
2.如果需要安装指定版本则使用以下方式(以 JPush 4.8.0 版本为例):
pod 'JCore', '3.2.3' // 可选项,也可由pod 'JPush'自动获取
pod 'JPush', '4.8.0' // 必选项
pod 'JCore', '3.2.3' // 可选项,也可由pod 'JPush'自动获取
pod 'JPush', '4.8.0' // 必选项
此代码块在浮窗中显示
注意事项
初始化推送服务
全局配置
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
此代码块在浮窗中显示
添加头文件
请将以下代码添加到 AppDelegate.m 引用头文件的位置。
// 引入 JPush 功能所需头文件
#import "JPUSHService.h"
#import <UserNotifications/UserNotifications.h>
// 引入 JPush 功能所需头文件
#import "JPUSHService.h"
#import <UserNotifications/UserNotifications.h>
此代码块在浮窗中显示
添加 Delegate
为 AppDelegate 添加 Delegate,参考代码:
@interface AppDelegate ()<JPUSHRegisterDelegate>
@end
@interface AppDelegate ()<JPUSHRegisterDelegate>
@end
此代码块在浮窗中显示
添加初始化代码
添加初始化 APNs 代码
请将以下代码添加到
-(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
//【注册通知】通知回调代理(可选)
JPUSHRegisterEntity * entity = [[JPUSHRegisterEntity alloc] init];
entity.types = JPAuthorizationOptionAlert|JPAuthorizationOptionBadge|JPAuthorizationOptionSound|JPAuthorizationOptionProvidesAppNotificationSettings;
[JPUSHService registerForRemoteNotificationConfig:entity delegate:self];
}
请将以下代码添加到
- (void)application:(UIApplication)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData)deviceToken {
//sdk注册DeviceToken
[JPUSHService registerDeviceToken:deviceToken];
}
请将以下代码添加到
-(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
//【注册通知】通知回调代理(可选)
JPUSHRegisterEntity * entity = [[JPUSHRegisterEntity alloc] init];
entity.types = JPAuthorizationOptionAlert|JPAuthorizationOptionBadge|JPAuthorizationOptionSound|JPAuthorizationOptionProvidesAppNotificationSettings;
[JPUSHService registerForRemoteNotificationConfig:entity delegate:self];
}
请将以下代码添加到
- (void)application:(UIApplication)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData)deviceToken {
//sdk注册DeviceToken
[JPUSHService registerDeviceToken:deviceToken];
}
此代码块在浮窗中显示
添加初始化 JPush 代码
请将以下代码添加到
-(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
//【初始化sdk】
// notice: 2.1.5 版本的 SDK 新增的注册方法,改成可上报 IDFA,如果没有使用 IDFA 直接传 nil
[JPUSHService setupWithOption:launchOptions appKey:appKey
channel:channel
apsForProduction:isProduction
advertisingIdentifier:advertisingId];
}
请将以下代码添加到
-(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
//【初始化sdk】
// notice: 2.1.5 版本的 SDK 新增的注册方法,改成可上报 IDFA,如果没有使用 IDFA 直接传 nil
[JPUSHService setupWithOption:launchOptions appKey:appKey
channel:channel
apsForProduction:isProduction
advertisingIdentifier:advertisingId];
}
此代码块在浮窗中显示
部分参数说明:
- appKey
- 选择极光控制台的应用 ,点击“设置”获取其 appkey 值。请确保应用内配置的 appkey 与极光控制台上创建应用后生成的 appkey 一致。
- channel
- 指明应用程序包的下载渠道,为方便分渠道统计,具体值由你自行定义,如:App Store。
- apsForProduction
- 1.3.1 版本新增,用于标识当前应用所使用的 APNs 证书环境。
- 0(默认值)表示采用的是开发证书,1 表示采用生产证书发布应用。
- 注:此字段的值要与 Build Settings 的 Code Signing 配置的证书环境一致。
- advertisingIdentifier
- 详见 关于 IDFA。
验证推送结果
- 集成完成后,真机调试该项目,如果控制台输出以下日志则代表您已经集成成功。
2022-01-10 12:05:38.914868+0800 PushTest[329:9045] | JIGUANG | I - [JIGUANGTcpEventController]
----- register result -----
uid: 58446934317
registrationID:1517bfd3f70cc645a1c
2022-01-10 12:05:38.914868+0800 PushTest[329:9045] | JIGUANG | I - [JIGUANGTcpEventController]
----- register result -----
uid: 58446934317
registrationID:1517bfd3f70cc645a1c
此代码块在浮窗中显示
文档内容是否对您有帮助?