开发工具:Xcode
集成形式:手动导入SDK或者Pod集成
SDK版本反对:SDK反对Xcode 9.1.0, iOS8.0+及以上版本

注册账号应用PushSDK之前,须要先在MobTech官网注册开发者账号,并获取MobTech提供的AppKey和AppSecret,详情能够点击查看注册流程

MobPush流程图

获取SDK

返回MobTech SDK下载页,切换iOS版下选中MobPush,并点击下载,如下图所示

下载后你应该失去一个MobPush-iOS-*.tar.gz解压后,取得文件夹如下图所示

---- Sample // MobPush演示Demo+--- SDK // SDK文件夹,集成时需导入|   ---- Required // 必要依赖库|   ---- MobPush // MobPush及MobPushServiceExtension动态库

导入SDK

手动SDK导入

解压下载的ZIP包,将解压后的SDK文件夹增加到我的项目中。在后续选项中请抉择“Create groups”并勾选“Copy items if needed”选框。

pod导入
按需在 Podfile 文件中增加如下代码,而后执行pod update即可
pod 'mob_pushsdk'

增加依赖库

  • libc++.tbd
  • libz.1.2.5.tbd

增加办法如下图所示

接口调用

回传用户隐衷受权后果(uploadPrivacyPermissionStatus)
为保障您的App在集成MobSDK之后可能满足工信部相干合规要求,您应确保App装置首次冷启动且获得用户浏览您《隐衷政策》受权之后,调用MobSDK.uploadPrivacyPermissionStatus回传隐衷协定受权后果,反之,如果用户不批准您App《隐衷政策》受权,则不能调用uploadPrivacyPermissionStatus回传隐衷协定受权后果,相干隐衷申明请参考合规指南

/** 上传隐衷协定受权状态 @param isAgree 是否批准(用户受权后的后果) @param OnResult 执行回调后果,可为nil (留神业务逻辑不要依赖于这个success后果,倡议业务逻辑在调用这个接口之后来写) */+ (void)uploadPrivacyPermissionStatus:(BOOL)isAgree                                                 onResult:(void (^_Nullable)(BOOL success))handler;

示例代码

#import <MOBFoundation/MobSDK+Privacy.h>[MobSDK uploadPrivacyPermissionStatus:YES onResult:^(BOOL success) {}];

设置推送环境以及配置(setAPNsForProduction)

/** 设置推送环境 @param isProduction 是否生产环境。 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES。 Default 为 YES 生产状态 */+ (void)setAPNsForProduction:(BOOL)isProduction;/** 设置推送配置 @param configuration 配置信息 */+ (void)setupNotification:(MPushNotificationConfiguration *)configuration;

示例代码

#import <MobPush/MobPush.h>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    // 设置推送环境#ifdef DEBUG    [MobPush setAPNsForProduction:NO];#else    [MobPush setAPNsForProduction:YES];#endif    //MobPush推送设置(取得角标、声音、弹框揭示权限)    MPushNotificationConfiguration *configuration = [[MPushNotificationConfiguration alloc] init];    configuration.types = MPushAuthorizationOptionsBadge | MPushAuthorizationOptionsSound | MPushAuthorizationOptionsAlert;    [MobPush setupNotification:configuration];    return YES;}