开发工具: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;
}