帮助与文档

> >

一、申请APPKey

1. 打开Mob官网,在官网首页选择登录或注册,新用户先注册,老用户直接登录。

mob

注册页面如下图:

mob_reg

 

2. 注册或登录完成后,会返回至首页,点击右上角的“进入后台”,会跳转至管理后台,点击下拉列表,选择“创建新应用”。如下图:

4131265-83e3d15dff892fcf

3. 输入应用名称后点击“保存”,如下图:

mob_create_app

4. 应用创建后在左边导航栏点击“添加产品”,如下图:

mob_add_product

5. 在产品列表中选择MobLink并点击“马上开始”,如下图:

mob_start

6. 此时左边导航栏就能看到您添加的产品了,点击“概况”即可看到您接下来需要的AppKey和AppSecret了,如下图:

mob_appkey

7. 后台基础配置。请务必根据自身客户端应用实际情况,进行相关项的配置。填写完毕后请点击“保存”以确保生效。

mob_conf

下面仅对iOS各项基础配置进行说明,安卓部分请参考:安卓集成文档

配置说明
字段名称 是否必填 字段作用/说明
BundleID 项目唯一标识。请务必与项目中保持一致。可见于项目Info.plist文件的Bundle identifier
下载地址 应用在App Store的下载地址
URL Scheme 请务必与项目中的配置保持一致,否则可能会导致无法跳转应用(下文将介绍)
Team ID 开发团队的ID,可在苹果开发者后台查看
右上角跳转链接 通过Universal Link跳转到app后右上角会出现一个“mob.com”标志,点击后会通过Safari打开一个链接,可以在这里填写您想要打开的链接,如果不填,则默认打开之前的Web页面
Universal Link开关 强烈建议使用Mob生成的Universal Link。iOS 9.0及以上使用Universal Link能优化场景恢复过程,提供更好的用户体验。选择并使用我们帮您生成的Universal Link并正确配置到您的项目中(下文将介绍),将为您节省大量工作和时间。

二、下载客户端SDK

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

Snip20170525_2

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

三、快速集成SDK

1、iOS 快速集成

1.1在项目中添加SDK

i. Xcode9以下可以将MobLink.framework,MOBFoundation.framework添加到项目中,如下图:Snip20170525_3
ii. 选择将文件夹复制到项目中,如下图:
Snip20170525_4

 

如果是XCode9需要先把SDK资源文件放在项目文件里,然后打开Xcode右击添加进去才可以,XCode9不会自动把库文件加到资源库里。

iii. 添加依赖库
Snip20170525_7
选择项目Target – Build Phases – Link Binary With Libraries,然后选择“+”进行添加系统库:
  • libsqlite3
  • libz1.2.5
  • libstdc++

1.2 配置URL Scheme及Universal Link

i. URL Scheme 项目中需要配置URL Scheme以用于场景恢复时跳转到应用中。请参考下图配置您自己的URL Scheme:mob_url

这里所配置的务必与后台填写的一致,如下图:

Snip20170525_8

ii. Universal Link 后台已经为您生成好您的Universal Link,如下图:

Snip20170525_9

然后在项目中配置Universal Link,请务必填写与后台生成的Universal Link地址 参考下图:

Snip20170526_11

1.3 添加代码

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

无需代码即可完成MobLink的初始化工作。

ii. 在需要恢复的控制器中实现UIViewController+MLSDKRestore的两个方法,如下图所示:

2

 

第一个是实现标识控制器路径的方法 :

第二个是实现带有场景参数的初始化方法,并根据场景参数还原该控制器:

关于实现带有场景参数初始化方法的补充:

i.如果您的控制器采用xib的方式来初始化的,那么实现该初始化方法时请参考如下代码:

ii. 获取MobId

参数说明
path 本次生成的mobid所对应的控制器唯一路径,即上述第2点中所提及的+ MLSDKPath方法返回的路径。在场景还原时(即客户端还原网页内容)会根据path寻找匹配的控制器进行还原。
source 来源标识,可用于在场景还原时辨别来源,例如:传入一个当前控制器名称。
params 字段类型,此时传入的字典数据,在场景还原时能够重新得到,例如:传入一些回复控制器时需要的参数。
回调值说明
mobid 生成的mobid可用于拼接到需要进行推广的链接后,例如:http://www.abc.com/?mobid=123456,注意:该网站页面必须集成了JS模块的代码(下文将说明),方可实现网页-应用无缝接合。

备注:如果您的页面参数固定,则可以将获取到的这个mobid缓存起来,不用每次都去获取新的mobid以节约时间成本。

到此,最简单的MobLink就集成好了,打开上述集成好JS模块(Web端集成请看下文)并带有mobid的链接即可跳转到您的APP并自动恢复到您实现了恢复方法的控制器中。 请注意:如果您的APP中带有导航控制器(UINavigationController),则恢复时MobLink会采用Push的方式,但是如果您的APP中没有导航控制器,则恢复时MobLink会采用Modal的方式,此时就需要您自行dismiss恢复出来的控制器了。

四、高级功能

1、iOS 高级功能

  1. MobLink在运行的时候会通过delegate将整个运作过程呈现出来,所有的delegate方法都不是必须实现的,但这些delegate能够帮助您实现更多自定义的操作。设定delegate对象的方法如下图:1
  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参数一致) 查看示例

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

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

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

场景恢复完成示例代码

找不到场景示例代码

 五.Web集成请参考:Web端文档

0 0