mobLink

来自于:开发者立即使用

概述

mobLink封装了Mob官方MobLink SDK的功能。通过该模块开发者可生成不同渠道的推广链接,从而可以追踪新安装(或新注册)用户来源,给下线推广提供了解决方案,同时从Web端打开的页面,可直达App页面,一键唤醒App;首次安装App,即可恢复对应场景。场景还原可以帮助开发者提升App活跃度,降低用户在Web端跳转至App过程中的流失率,新用户在首次打开App时,呈现正是用户想看的内容页面,大大提高用户转化率。MobLink打破了App孤岛 实现Web与App的无缝链接。

模块特点:

① App未安装情况下,通过推广链接可以下载App,并且首次打开App即可获取到推广链接中的参数,这给追溯新用户安装或注册来源提供了解决方案。

② 从Web端打开的页面,可直达App页面,一键唤醒App;首次安装App,即可恢复对应场景。场景还原可以帮助开发者提升App活跃度,降低用户在Web端跳转至App过程中的流失率,新用户在首次打开App时,呈现正是用户想看的内容页面,大大提高用户转化率。;

③ Mob数据后台提供实时反馈的App启动数、应用新增数、页面分享浏览数,开发者可以随时了解用户分享行为和应用拉新情况;

④ 一行代码快速实现网页跳转功能,开发者可以在管理后台实时改变按钮样式,包括应用图标、应用名称、标语、颜色等,保持App一致的视觉体验;

⑤ 多浏览器和终端的适配;

⑥ 接口集成简单,几个步骤即可集成。降低了开发成本,提高了开发效率;

模块适用场景:

① 追溯新用户安装或注册来源,用户通过推广链接可直接打开App注册页,若App未安装则下载安装,同时进入App后开发者能够获取推广链接的信息,从而知道新用户来源。

② 形成上下线关系,用户进入App注册后开发者能够获取推广链接的信息,通过来源或其他参数可形成用户间的上下线关系。

③ 资讯类App,当用户在分享出去的web页面浏览资讯后,引导用户跳转到App,在App上提供给用户更好的体验,也提高了App安装量。

④ 视频类App,当用户在分享出去的web页面播放视频后,引导用户跳转到App,在App上提供给用户更好的体验,也提高了App安装量。

⑤ 直播类App,当用户在分享出去的web页面收看直播后,引导用户跳转到App收看直播,在App上提供给用户更好的体验,也提高了App安装量。

⑥ 电商类App,当用户在分享出去的Web页面查看某个商品时,点击“立即购买”跳转到App,进而做下一步处理。

⑦ 票类(机票、汽车票等)App,当用户在分享出去的Web页面选择出发点和终点后,跳转到App把查询结果呈现给用户。

要使用该模块,开发者需要到Mob官网申请相应App Key等。

申请步骤

1 注册Mob官网账号并登录

到Mob官网http://www.mob.com注册并登陆,分别点击右上角的“注册”和“登入”按钮,分别进行注册和登入即可。

2 添加应用,并给应用添加moblink功能

登陆后在Mob首页点击右上角的“进入后台”按钮进入后台。进入后台后如图,点击左上角的"添加应用"按钮,在弹出的输入框中输入应用名后保存即可,新创建的应用包括Android和iOS两个平台。创建完应用后点击“添加产品”按钮,选择moblink项的“马上开始”按钮。







3 获取App Key

如图点击“概况”可查看应用的App Key,右边是App Secret,点击“显示”即可复制。



4 MobLink功能的基础配置,重要!

如图,点击“基础配置”,配置相关参数,带*号的是必填项,其中两个平台的下载地址和应用宝的下载地址都是在点击链接后手机上未安装有App,moblink就会链接到这里配置的下载地址下载App,ios的下载地址是苹果商店的地址,Android的下载地址可以直接链接到apk文件,也可以自己做一个页面,该页面提供下载按钮,或直接使用第三方的下载页面,如fir.im,建议使用fir.im (这是网址)。

注意:URI Scheme项配置的格式必须是“xxx://”,Android的URI Scheme项必须是lovemoblink:// ! 因为模块需要,Android的URI Scheme已经写入到模块包中,所以开发者后台的URI Scheme必须与模块包中的一致,即是lovemoblink:// ! ios 的 URI Scheme开发者可自定义(随意),但必须是小写。 如图所示。iOS的“Universal Link”必须打开!否则无法从web跳到App。Android的“App Links”关闭即可,“指纹证书(SHA256)”一项可不配置。

由于在微信中不能够直接跳转到app,开启应用宝跳转功能可解决这个问题,所以开发者要配置应用宝下载链接,配置链接前app需要上线应用宝(搜索 腾讯开放平台),对于ios,在腾讯开放平台后台需要配置苹果商店的链接,使其能够在苹果商店能够找到你的app。ios、Android都要开启应用宝跳转功能,如图所示。 注意:修改配置后必须点击右上角的 保存 按钮才能生效。



5 分享页面的配置和获取需要导入的js代码

如图,点击“页面配置”,这里是可以配置分享页面中“打开App”按钮所在横幅的样式,并获取分享页需要导入的代码。



config.xml的配置

Android配置项

获取到App Key后需要在config.xml中配置:
配置meta-data

  • key:Mob-AppKey
  • value:你的App Key

iOS配置项

  • preference名称:urlScheme
  • 值:填写你在mob后台配置的iOS的URI Scheme值,注意这里不包含"://"

配置示例(Android和iOS):

    <!--以下是iOS配置项-->
    <preference name="urlScheme" value="melink" /><!--填写你在mob后台配置的iOS的URI Scheme值,注意这里不包含"://"-->
    <!--以下是Android配置项-->
    <!--这里Android不需要配置scheme,mob后台的android scheme必须是lovemoblink://,见步骤4说明-->
     <!--Mob-AppKey是固定值,value换成你的App Key-->
     <meta-data name="Mob-AppKey" value="1ec56e267cb72"/>

widget\res\Info.plist的配置

该文件是给iOS平台配置的文件,在widget\res下创建文件名为Info.plist的文件,Info.plist内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>MOBAppKey</key><!--固定key值-->
    <string>1e984952dge2d</string><!--换成你的mob的app key-->
    <key>MOBAppSecret</key><!--固定key值-->
    <string>5dg6s2nl04872d103cd137kd85c9w852</string><!--换成你的mob的app secret-->
</dict>
</plist>

widget\res\UZApp.entitlements的配置

该文件是给iOS平台配置的文件,在widget\res下创建文件名为UZApp.entitlements的文件,UZApp.entitlements内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.developer.associated-domains</key><!--固定key值-->
    <array>
     <!--这里换成你在mob后台获取到的iOS的“Universal Link”值-->
        <string>applinks:7sel.ulml.mob.com</string>
    </array>
</dict>
</plist>

对于iOS,为确保能正常跳转,证书必须开启Associated Domains功能,请到 https://developer.apple.com,选择Certificate, Identifiers & Profiles,选择相应的AppID,开启Associated Domains。注意:当AppID重新编辑过之后,需要更新相应的mobileprovision证书。更新mobileprovision证书步骤请查看//docs.apicloud.com/Dev-Guide/iOS-License-Application-Guidance 中的 "云编译mobileprovision发布证书制作"或"云编译mobileprovision测试证书制作"。
如果证书没有开启Associated Domains功能,云编译时会报以下错误,请开发者注意。

模块接口

initMobLink

初始化本模块,该方法无参数,需要在调用本模块其他3个方法前调用该方法,一般放在win或frame的初始化方法中。

initMobLink()

示例代码

    function apiready() {//frame或win的初始化方法
        var demo = api.require('mobLink');
        demo.initMobLink();
    }

可用性

iOS,Android系统

可提供的1.0.0及更高版本

getShareUrl

获取分享的Url(推广链接),获取该链接后用户在手机浏览器打开该链接(页面),点击"打开App"按钮可调起自己的App。若点击按钮后手机没有安装App,则会弹出下载框供用户下载安装App。获取该Url后可用微信、QQ等第三方分享功能对Url进行分享,也可直接将该Url直接复制到手机浏览器地址栏打开,这样也可以看到效果。跳转到App后开发者可根据需求打开新的前端页面。该方法为耗时方法,若需要多次使用该链接且传入的参数不变,开发者可将结果保存起来供第二次使用,无需调用该方法多次,以节省资源。

注意:用于分享的链接必须是经过getShareUrl生成的链接,以便能确保正确传参,而不是直接用前端页面(sharePage)的地址分享,getShareUrl生成的链接会以mobid=xxxx结尾。

getShareUrl({params},callback(ret))

params

source:

  • 类型:字符串
  • 描述:(可选项)默认""。用于标记链接的来源(链接属于谁的),通过该字段可得知安装或注册App的来源。这个参数可在用户通过链接打开App后通过getUrlParams获取,从而得知用户来源。

params:

  • 类型:json字符串
  • 描述:(可选项)默认{}。开发者自定义的参数,以键值对的形式提供。这些参数可在用户通过链接打开App后通过getUrlParams获取。

sharePage:

  • 类型:字符串
  • 描述:(必填)。用于分享的前端页面地址,该页面由开发者自行定义,需要按照Mob的规则添加相关代码。如下:

<!-- 注意: 以下是sharePage所在页面的代码规则,是服务器中的页面,不是widget中的页面 -->

<!-- 下面这行代码从你的Mob后台获取,获取方法见步骤5 -->
<script type="text/javascript" id="-moblink-js" src="//f.moblink.mob.com/moblink.js?appkey=1e52892f4856d"></script> 
<script type="text/javascript">

            //在初始进入页面时必须要调用MobLink.init()方法初始化MobLink
            MobLink.init({
            showDefaultUI: false, // 是否显示底下"打开App"的横幅,默认true 
            initCallback: function(){
            // 初始化完成  
            //此时可调用MobLink.updateScheme()方法,或在其他地方调用MobLink.updateScheme()方法
            }
            });
/* 若showDefaultUI设为false,即不显示底下"打开App"的横幅,开发者也可自定义"打开App"按钮,示例: <script type="text/javascript"> function updateData() { MobLink.updateScheme({// 动态传入参数,此处可以有多个键值对,该方法只有在showDefaultUI设为false时有效 key1: value1, key2: value2, key3: value3 }); } </script> <div id="moblink-href"><!--注意这里必须添加id="moblink-href"属性 --> <input type="button" value="打开App" onclick="updateData()" style="width: 200px; height: 30px;" /> </div> //这样用户点击"打开App"按钮后也可以调起App,并且在调起前会执行updateData函数, //可在updateData函数中其他一些事情,比如动态传参数给App(MobLink.updateScheme),注册等。 //MobLink.updateScheme()该方法的作用是在showDefaultUI设为false时,动态给App发送参数, //而不是局限于params和source参数,params参数和source参数是存在于url链接中,可以说是静态的。 //比如在邀请好友注册时,在sharePage页面要求好友输入手机号,当好友点击"打开App"按钮的时候,开发者可用手机号进行注册, //并且将手机号当做参数传入MobLink.updateScheme()方法,这样在App被唤起时就能通过getUrlParams方法获取到该手机号 //注意updateScheme方法必须在MobLink初始化完成后调用,见上面的MobLink.init中的initCallback回调。 //注意updateScheme方法只有在showDefaultUI设为false时有效,且多次调用该方法,只有最后一次调用有效, //也就是只有最后一次调用该方法的键值对能传到App。 */ </script>

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回获取链接状态及链接字符串
  • 内部字段:
{
    status:1,     //1:获取成功,0:获取失败
    msg:"sharePage为空",//错误信息,status为0时有该字段
    shareUrl:"http://f.moblink.mob.com/demo/b?mobid=nCS"//分享链接,status为1时有该字段
    //获取到shareUrl后,可用微信、QQ等第三方分享功能对shareUrl进行分享,也可将该Url直接复制到手机浏览器地址栏打开,这样也可以看到效果。
}

示例代码

var demo = api.require('mobLink');
demo.getShareUrl({
    sharePage:"http://f.moblink.mob.com/demo/b",
    params:{"key1":"value1","key2":"value2"}, 
    source:"应用宝"
},function(ret){
    if(ret.status){
        alert("分享url:"+ ret.shareUrl );
    }else{
        alert("获取失败  "+JSON.stringify(ret) );
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onUrlClicked

该方法为js方法,是获取参数的方法。当从web跳到App后,本模块会回调该js方法,开发者需要自行实现该方法,见示例代码。该方法中的参数ret可获取到调用getShareUrl方法时传入的params和source参数。当用户点击分享链接(通过getShareUrl方法获取)进入分享页面,点击"打开App"按钮调起App后,该方法可获取分享链接中的参数,即调用getShareUrl方法时传入的params和source参数。同时当分享页面调用了MobLink.updateScheme()方法(见getShareUrl方法中的说明),该方法也能获取到传入MobLink.updateScheme()方法的参数。从而达到追踪新安装(或新注册)用户来源等目的。若点击"打开App"按钮后手机没有安装App,则会跳转到后台配置的下载地址供用户下载安装App,此时在用户第一次打开App时也能获取到相应参数。注意该方法必须与initMobLink方法写在同一个<script>标签中。获取到参数后开发者可根据需求打开新的前端页面。

onUrlClicked(ret)

ret

这是模块回调返回的参数

  • 类型:JSON对象
  • 内部字段:
{
    status: 1,  //1:获取成功
    source:"应用宝",//对应getShareUrl方法的source参数
    params:{"key1":"value1","key2":"value2"} //对应getShareUrl方法的params参数以及在sharePage页面调用MobLink.updateScheme()方法增加的键值对
}

示例代码

  function onUrlClicked(ret) {
          console.log("获取到的参数  ==   "+JSON.stringify(ret));//打印ret
          //获取到参数后开发者可根据需求打开新的前端页面。
    }

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本