开发工具:Xcode
集成方式:手动导入SDK或者Pod集成
SDK版本支持:SDK支持Xcode 9.1.0, iOS8.0+及以上版本
注册账号使用SMSSDK之前,您需要在MobTech官网注册开发者账号,添加应用并获取Mob提供的AppKey和AppSecret,详情可以点击查看注册流程
SMSSDK流程图
下载SDK导入项目
(1)手动下载SDK引入
点击 链接 下载最新版SDK,解压后得到以下文件结构:
将下图中红色框标记的文件夹(包含MOBFoundation.framework 和 SMS_SDK.framework)拖入到工程中
确认勾选,点击finish完成导入
(2)CocoaPods方式引入
通过 CocoaPods进行安装,只需在 Podfile文件中添加:
pod 'mob_smssdk'
添加之后执行 pod install / pod update 命令即可。
添加依赖库
必要:
注意:在XCode7上面运行报错的话,还需要增加这几个依赖库
回传用户隐私授权结果(uploadPrivacyPermissionStatus)
为保证您的App在集成MobSDK之后能够满足工信部相关合规要求,您应确保App安装首次冷启动且取得用户阅读您《隐私政策》授权之后,调用Mob提交到的隐私协议回传函数uploadPrivacyPermissionStatus回传隐私协议授权结果。
反之,如果用户不同意您App《隐私政策》授权,则不能调用uploadPrivacyPermissionStatus回传隐私协议授权结果。相关隐私声明请参考这个链接合规指南
/**
上传隐私协议授权状态
@param isAgree 是否同意(用户授权后的结果)
@param OnResult 执行回调结果,可为nil (注意业务逻辑不要依赖于这个success结果,建议业务逻辑在调用这个接口之后来写)
*/
+ (void)uploadPrivacyPermissionStatus:(BOOL)isAgree
onResult:(void (^_Nullable)(BOOL success))handler;
示例代码
#import
[MobSDK uploadPrivacyPermissionStatus:YES onResult:^(BOOL success) {
}];
请求短信验证码(getVerificationCodeByMethod)
/**
* @from v3.1.0
* @brief 获取验证码(Get verification code)
*
* @param method 获取验证码的方法(The method of getting verificationCode)
* @param phoneNumber 电话号码(The phone number)
* @param zone 区域号,不要加"+"号(Area code)
* @param tmpCode 模板id(template id)
* @param result 请求结果回调(Results of the request)
*/
+ (void) getVerificationCodeByMethod:(SMSGetCodeMethod)method
phoneNumber:(NSString *)phoneNumber
zone:(NSString *)zone
template:(NSString *)tmpCode
result:(SMSGetCodeResultHandler)result;
示例代码
#import
//template参数不能乱填,没有可以先传""或者nil
[SMSSDK getVerificationCodeByMethod:SMSGetCodeMethodSMS phoneNumber:@"XXXXXXXXXXX" zone:@"86" template:@"" result:^(NSError *error) {
if (!error)
{
// 请求成功
}
else
{
// error
}
}];
注: 模板id在官网后台 SMSSDK产品下的短信模版里面添加(需要申请过自定义短信签名的应用才能添加短信模板)
提交验证码验证(commitVerificationCode)
/**
* @from v1.1.1
* @brief 提交验证码(Commit the verification code)
*
* @param code 验证码(Verification code)
* @param phoneNumber 电话号码(The phone number)
* @param zone 区域号,不要加"+"号(Area code)
* @param result 请求结果回调(Results of the request)
*/
+ (void) commitVerificationCode:(NSString *)code
phoneNumber:(NSString *)phoneNumber
zone:(NSString *)zone
result:(SMSCommitCodeResultHandler)result;
示例代码
[SMSSDK commitVerificationCode:@"XXXX" phoneNumber:@"XXXXXXXXXXX" zone:@"86"result:^(NSError *error) {
if (!error)
{
// 验证成功
}
else
{
// error
}
}];
注意:必须要自己重新自定义签名,默认签名仅用于测试,不保证到达率,上线前请务必申请自定义签名使用