1.4.2 • Published 3 years ago

@bbtfe/deeplink v1.4.2

Weekly downloads
73
License
-
Repository
-
Last release
3 years ago

@bbtfe/deeplink

Web to App 手机打开网页,通过 scheme 方式,启动 APP || 打开 APP 内对应页面

1.2.0 新增 universe Link 1.2.2 新增 wta 的接口发送,以后调用这个版本,不需要再单独调用 wta

universe Link 支持范围: ios 系统 safari 浏览器 ios 系统 微信端 >=7.0.5

引用方式

文件被输出为 umd 格式,可以使用下面 3 种方式引用。

npm 引用

npm i @bbtfe/deeplink
import dp from '@bbtfe/deeplink';

script 引用

支持 HTTPS 和 HTTP,建议在通常页面中使用下面去掉协议头的形式引用即可。

<script src="//static02.babytreeimg.com/img/bca/bbtdeeplink/1.2.0/deeplink.min.js"></script>

PHP 引用方式

建议合并脚本

StaticFileControl::addXXX('/img/bca/bbtdeeplink/1.2.0/deeplink.min.js');

开发说明

  • 拉取源码到本地,源码目录:bbt-fe-comp/deeplink
  • npm i
  • 修改 index.js
  • npm run build
  • bbt-common-asset 项目下对应的 SDK 目录(bbt-common-asset/static/bbtdeeplink)新建版本号文件夹
  • 将 dist 下文件拷至 新版本号 目录里
  • 以 gittool 方法提交代码, 编译后的代码 bbt-common-asset,源码 bbt-fe-comp, 都需要提交
  • 项目中引入验证下

API

var deeplink = new Deeplink();

var dp = deeplink.init({
  autoDp: false, // [可选] 仅android浏览器、ios Safari可自动deeplink,如果自动deeplink设置为true
  el: document.getElementsByTagName('div')[0], // [可选] 触发click事件调起deeplink的元素,可以是一个node对象,也可以是由node对象组成的数组
  subdivideBrowser: false, // [v > 1.1.5] 若不细分环境仅支持:微信、QQ、微博,其余均归为浏览器。细分浏览器环境:额外支持钉钉(dingding)、UC(uc)、QQ浏览器(qqbrowser)、搜狗浏览器(sougou),其余均归为浏览器。不传默认false
  canPcDp: false, // [v > 1.1.5] PC端是否启用DP功能,不传默认false不启用
  download: {
    android:
      'http://pic11.babytreeimg.com/foto3/common_photo/original/2018/1129/a9be56a347822828.jpg',
    ios:
      'http://itunes.apple.com/cn/app/kuai-le-yun-qi-40zhou-quan/id523063187?mt=8'
  }, //可传参,不传的话,就是默认这2个下载链接
  coverImage: { ios: 'xxx', android: 'xxx', canClose: true }, // [可选] 如果使用默认孕育图片去掉该行配置即可;如果两个平台图片一样,填写为一个字符串;可配置是否显示关闭复层按钮
  wakeUp: {
    // 唤醒app有三种方式,直接唤醒app(direct),通过应用宝唤醒(yyb),蒙层引导浏览器打开页面(popup)
    popup: {
      // 蒙层引导浏览器打开
      app: [
        'android.weibo',
        'ios.weibo',
        'ios.weixin',
        'android.weixin',
        'ios.qq'
      ]
    },
    direct: {
      app: ['ios.browser', 'android.browser'],
      url: 'bbtrp://com.babytree.pregnancy/topic/topicpage?topicId=87468516',
      dpSuccessCallBack: () => {}, // dp成功回调 [v > 1.1.5]
      dpFailCallBack: () => {} // dp失败回调 [v > 1.1.5]
    },
    yyb: {
      // 应用宝
      app: ['android.qq'],
      url:
        'http://a.app.qq.com/o/simple.jsp?pkgname=com.babytree.apps.pregnancy&ckey=CK1351100144579'
    }
  },
  //universal link 参数, 2020-02-17开发,1.2.0(包含)版本后支持
  universalLink: true, //是否使用universalLink
  universalLinkConfig: {
    //universalLink配置参数
    url: '', //要打开app内页面的url
    refcode: 'm_y_share_tz_yuedu_20200206', //传给中间页的refcode
    downloadUrl: 'http://r.babytree.com/3euBLGm', //传给中间页的下载链接
    middlePageUrl: '', //中间页面的url,默认为: https://m.babytree.com/app/pregnancy/intro.php
    success: function () {
      //成功的回调
      console.log('universalLink success');
    },
    fail: function () {
      //失败的回调
      console.log('universalLink fail');
    }
  },
  w2aConfig: {
    //w2aConfig配置参数, 非必填,不填均为默认值
    appid: '11', //非必填,默认11,代表孕育。 如果不是11,其他APP需要找数据同学确认id
    bid: 'pregnancy_20200401', //非必填,不传为默认
    param: {}, // 非必填,业务参数
    tid: '' // 非必填,用于业务追踪
  }
});

// 得到的dp实例,可以通过trigger再次触发deeplink , 不推荐使用
setTimeout(function () {
  dp.trigger();
}, 10000);

dp 到原生页面:需传对应的路由地址 dp 到孕育中的 h5 页面,路由: babytree://webview?url=window.base64encode(要打开页面的 url) 注意:调用这个方法前 window.base64encode, 需加载 js://static02.babytreeimg.com/static/know/base64.js

附: 孕育 app 对外路由 url 列表|http://space.dayin.com/pages/viewpage.action?pageId=8490528 附: 小时光 app 对外路由 url 列表|http://space.dayin.com/pages/viewpage.action?pageId=8490533 附: 小时光 app 下载万能链接|http://r.babytree.com/dohbVTn

### 测试结果

app|调起方式|结果
:--:|:--:|:-:
ios.weixin  |弹层引导浏览器打开|ok
ios.weibo   |弹层引导浏览器打开|ok
ios.qq      |直接唤醒调起|bad(策略变化,直接打开的AppStore,建议调整为浏览器打开)
ios.browser |直接唤醒调起|ok

android.weixin  |弹层引导浏览器打开|ok
android.weibo   |弹层引导浏览器打开|ok
android.qq      |应用宝|ok
android.browser |直接唤醒调起|ok
1.4.2

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.3.9

3 years ago

1.3.8

3 years ago

1.3.7

4 years ago

1.3.6

4 years ago

1.3.5

4 years ago

1.3.4

4 years ago

1.3.3

4 years ago

1.3.2

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.7

4 years ago