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'    // 必选项

        
此代码块在浮窗中显示

注意事项

初始化推送服务

全局配置

NSAppTransportSecurity NSAllowsArbitraryLoads
          <key>NSAppTransportSecurity</key>
  <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
  </dict>

        
此代码块在浮窗中显示

添加头文件

请将以下代码添加到 AppDelegate.m 引用头文件的位置。

// 引入 JPush 功能所需头文件 #import "JPUSHService.h" #import
          // 引入 JPush 功能所需头文件
#import "JPUSHService.h"
#import <UserNotifications/UserNotifications.h>

        
此代码块在浮窗中显示

添加 Delegate

为 AppDelegate 添加 Delegate,参考代码:

@interface AppDelegate () @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

验证推送结果

  • 集成完成后,真机调试该项目,如果控制台输出以下日志则代表您已经集成成功。
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

        
此代码块在浮窗中显示
  • 获取日志中的 registrationID,并在极光控制台 创建推送 体验通知推送服务。
  • 推送完成后,你可以在 推送历史 中查看推送状态、推送通道、送达率等详细数据。
文档内容是否对您有帮助?

Copyright 2011-2022, jiguang.cn, All Rights Reserved. 粤ICP备12056275号-13 深圳市和讯华谷信息技术有限公司

在文档中心打开