斐波那契 小程序 SDK 接入文档

目录


1. SDK 使用步骤

2. SDK 接口

正文


1. SDK 使用步骤

1.1 步骤一:小程序设置数据服务白名单

登录微信公众平台(必须是管理员帐号),进入 "开发" > "开发设置" 配置页面,在 "服务器域名 - request合法域名" 配置项中添加 https://sdkapi.fibodata.com 项。

1.2 步骤二:引入 JS 文件

【SDK文件地址:https://res.fibodata.com/data/fibosdk.miniapp.min.js】

下载SDK文件并把文件放入小程序的工程目录中,并在小程序的app.js中引入。

import fiboSDK form "./lib/fibosdk.miniapp.min.js" //文件路径请按自己的实际情况修改

1.3 步骤三:通过 initApp 接口初始化

为了能够正常使用 SDK 接口,必须首先调用 initApp 接口进行初始化,initApp 接口返回值为一个Promise对象。

注意事项:

  1. 请在小程序授权完成获取到用户信息后再进行 SDK 的初始化
  2. 调用 wx.getUserInfo 获取用户信息时,请设置参数 lang = zh_CN

参数获取:

  1. 如何获取 pfid, appid (登录兔展创意云获取 pfid, appid)
  2. 如何获取当前小程序打开的场景值 scene
App({
  onShow: function() {
    var fibo = fiboSDK.initApp({
      pfid: "", // (必须)斐波那契分配的平台id
      appid: "", // (必须,1-50位,数字,大小写字母,下划线,短横线)表示小程序应用的id
      apptype: "", // (必须)应用类型,第三方小程序应用(tpminiapp)
      mpid: "", // (必须)小程序的appid
      openid: "", // (必须)获取的用户openid
      unionid: "", // (非必须参数,如果小程序授权有unionid,则必须填入)获取的用户unionid
      userInfo: {}, // (必须)授权获取的用户信息JSON对象
      scene: "", //(必须)当前小程序打开的场景值
      title: "" // (非必须)当前小程序的名称
    });
    
    
    // init 接口的返回值为一个Promise对象,可以调用 then 方法实现相应的业务逻辑。
    fibo.then(function() {
      // 分享链接,将需要分享的链接传入fiboSDK.dealUrl()
      var shareLink = fiboSDK.dealUrl(defaultShareData.path);
      ...
    }, function(err){
      
    });
  }
});

2. SDK 接口

2.1 小程序打开事件

使用场景:小程序启动或切换到前台。 这个接口必需要调用,请在 APP 对象的 onShow 方法内调用它

记录用户打开小程序的操作。

  App({
    // 小程序启动或切换到前台
    onShow: function() {
      fiboSDK.enterApp();
    }
  });

2.2 小程序退出事件

使用场景:小程序切换到后台。 这个接口必需要调用,请在 APP 对象的 onHide 方法内调用它

记录用户最小化或退出小程序的操作。

  App({
    // 小程序切换到后台
    onHide: function() {
      fiboSDK.leaveApp();
    }
  });

2.3 微信分享事件

使用场景:

  1. 小程序在各个时间段的分享率
  2. 传播的层级,各层级所占比例
onShareAppMessage: function() {
  fiboSDK.sharePage(); //推送分享操作
  return {
    title: "", // 分享标题
    path: fiboSDK.dealUrl(sharePath), // 分享页面路径,将需要分享的链接传入fiboSDK.dealUrl()
    imageUrl: "", // 分享图标
  }
}

2.4 按钮点击事件

使用场景: 通过接入按钮点击事件,可以获取到按钮的点击次数和转化率。

对于需要记录点击次数的按钮,需要在待点击的元素上绑定 click 事件并调用 fiboSDK.btnClick(buttonId, buttonName),其中参数 buttonId 为按钮识别 id,buttonName 是该按钮的名称,例如:

  // <button bindtap="buttonClick">登录</button>
  
  function buttonClick() {
      //登录流程...
      fiboSDK.btnClick("loginBtn", "登录按钮");
  }

如果需要统计多个不同按钮的点击次数,buttonId 必须不同。 如果两个不同的按钮传入同一个 buttonId,会算成同一个按钮的点击事件。

为了防止 buttonId 与其他作品的冲突,导致统计混乱,建议使用"appid-buttonId"的形式作为 buttonId 传入。

2.5 自定义表单推送

使用场景:推送自定义表单后,可以及时获取收集到的表单数据。

对于需要提交表单信息的小程序,可以推送表单信息,表单的格式必须是键值对。

注意事项:<font color="ff0000">表单的键和值都必须是字符串</font>。

  var form = { 
    姓名: "张三", 
    手机: "13512345678" 
  };
  fiboSDK.saveFormInfo(form);

2.6 处理 url 参数

使用场景:用户在分享时,处理分享链接,添加或修改 path 中 lc, sui 参数。 注意事项:在调用此方法前,一定要保证已经成功的调用 fiboSDK.initApp 接口完成了SDK的初始化。

  • lc 从 0 开始(int) 层级参数
  • sui 分享来源者的 viewid,由 sdk 从小程序 path 中获取
  • 小程序页面 path 中请不要使用 lc、sui、cnl、cnltype、saudid、stepid、actid 来设置自定义参数;

例如:在处理作品的分享链接时

var link = fiboSDK.dealUrl(sharePath);
// 设置为分享链接
// ...

2.7 翻页事件

使用场景:小程序内切换页面时。 使用 switchPage(currentPage, targetPage, totalPage) 接口。 其中 currentPage 当前页码,targetPage 目标页码,totalPage 总页数

Page({
  // 如切换页面
  changePage: function () {
    fiboSDK.switchPage(1, 2, 10);
  },
});

2.8 关闭事件

使用场景:小程序关闭或最小化、隐藏时。 使用 leaveApp() 接口。

App({
  onHide() {
    fiboSDK.leaveApp();
  },
});

2.9 上报手机号码

使用场景:小程序内自动获取手机号码时。 使用 getPhoneNumber({ phoneNumber, title }) 接口。 其中 phoneNumber 手机号码,title 页面标题

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
Page({
  getPhoneNumber(e) {
    // 解密 e.detail.encryptedData 数据可以得到手机号码
    fiboSDK.getPhoneNumber({
      phoneNumber: "13666666666",
      title: "页面标题",
    });
  },
});

2.10 上报自定义事件

使用场景:当系统预设的事件及事件属性不满足数据采集需求时,可以自定义采集的事件和事件属性,比如:自定义购买、加入购物车等事件,及加购事件对应的商品名称、商品价格等 注意事项:

  1. 自定义事件的事件 ID 必须以c_开头,除c_外最多 30 个字符,只能是数字和字母,不区分大小写。
  2. 属性 id 必须以c_开头,除c_外最多 30 个字符,只能是数字和字母,不区分大小写。事件属性的数据类型包括:文本型、数值型、布尔型、日期型 使用 pushCustomEvent(eventName, eventArgs) 接口。 其中 eventName 事件 ID,eventArgs 自定义属性对象
Page({
  onLoad: function () {
    const eventName = "c_eventName";
    const eventArgs = { c_attribute1: 123456, c_attribute2: "自定义属性" };
    fiboSDK.pushCustomEvent(eventName, eventArgs);
  },
});

  • 无标签