> >

一、下载新版本客户端SDK

请从官网下载客户端SDK,解压后可得到如下文件夹目录:

Snip20170525_2

说明:

  • Sample文件夹里存放MobLinkDemo – MobLink的演示demo(供使用参考)
  • SDK文件夹下的MobLink文件夹里存放MobLink.framework – 核心功能库(必要)
  • SDK文件夹下的Required文件夹里存放MOBFoundation.framework = 基础功能框架(必要)

二、快速集成SDK

一、iOS 快速集成

  1. 在项目中添加SDK

    i. 删除项目中原有的MobLinkSDK将新的SDK文件夹添加到项目中,如下图:

    Snip20170525_3

    ii. 选择将文件夹复制到项目中,如下图:

    Snip20170525_4

  2. 添加代码

    i. 在Info.plist文件中右键空白处,选择“Add Row”,添加“MOBAppKey”和“MOBAppSecret”对应值为上述在管理后台中获得的AppKey和AppSecret(点击“显示”查看),如下图所示:

    Snip20170526_12

    删除原先写在didFinishLaunchingWithOptions:方法中的register方法,无需代码即可完成MobLink的初始化工作,如下图:

    Snip20170607_1

注意:如果使用到代理方法,设置代理方法不可删除!

三、高级功能

一、iOS 高级功能

  1. MobLink在运行的时候会通过delegate将整个运作过程呈现出来,所有的delegate方法都不是必须实现的,但这些delegate能够帮助您实现更多自定义的操作。设定delegate对象的方法如下图:

    Snip20170526_13

  2. delegate中各个方法的说明如下:

注意:其中将要进行场景恢复的代理方法的回调block有参数增加,需注意修改。

方法名称 作用说明
- (void)IMLSDKStartCheckScene 开始检测是否需要场景还原 查看示例
- (void)IMLSDKEndCheckScene 结束检测是否需要场景还原 查看示例
- (void)IMLSDKWillRestoreScene:(MLSDKScene *)scene Restore:(void (^)(BOOL isRestore, RestoreStyle style))restoreHandler 即将进行场景还原(注意:一旦实现该方法,请务必执行restoreHandler)查看示例
- (void)IMLSDKCompleteResotre:(MLSDKScene *)scene 完成场景恢复 查看示例
- (void)IMLSDKNotFoundScene:(MLSDKScene *)scene 无法进行场景恢复(通常原因是在恢复时找不到对应的path,应检查需要恢复的控制器所实现的+ MLSDKPath中返回的路径是否与生成mobid时的传入的path参数一致) 查看示例

开始检测是否需要场景还原示例代码

- (void)IMLSDKStartCheckScene
{
    NSLog(@"Start Check Scene");
}

结束检测是否需要场景还原示例代码

- (void)IMLSDKEndCheckScene
{
    NSLog(@"End Check Scene");
}

即将进行场景还原示例代码

- (void) IMLSDKWillRestoreScene:(MLSDKScene *)scene Restore:(void (^)(BOOL, RestoreStyle))restoreHandler
{
    NSLog(@"Will Restore Scene - Path:%@",scene.path);

    [[MLDTool shareInstance] showAlertWithTitle:nil
                                        message:@"是否进行场景恢复?"
                                    cancelTitle:@"否"
                                     otherTitle:@"是"
                                     clickBlock:^(MLDButtonType type) {
                                         type == MLDButtonTypeSure ? restoreHandler(YES, Default) : restoreHandler(NO, Default);
                                     }];
}

场景恢复完成示例代码

- (void)IMLSDKCompleteRestore:(MLSDKScene *)scene
{
    NSLog(@"Complete Restore -Path:%@",scene.path);
}

找不到场景示例代码

- (void)IMLSDKNotFoundScene:(MLSDKScene *)scene
{
    NSLog(@"Not Found Scene - Path :%@",scene.path);

    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"没有找到路径"
                                                        message:[NSString stringWithFormat:@"Path:%@",scene.path]
                                                        delegate:self
                                                cancelButtonTitle:@"OK"
                                                 otherButtonTitles:nil];
    [alertView show];
}