WebApp快捷打包
AppsFlyer 归因统计
转到模块插件

敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多

JS-SDK 引用方式:

♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20221128.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;

♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package

AppsFlyer

♦ js API 的详细说明请参见 官方文档 的同名接口

事件监听

setListener 设置监听器

• 如需接口调用事件,请设置此监听器;

jsBridge.flyer.setListener(function(event, data) {
  showResult({
    event: event,
    data : data
  });
});

//请拉到页面底部查看回调数据信息
$('html,body').animate({ scrollTop: $('#view').offset().top }, 500);

/**
回调参数说明:
event - 事件代码,字符串类型
data  - 事件数据,JSON 对象
**/

removeListener 移除监听器

//移除监听器,不会再收到回调通知
//在需要时可重新调用 setListener
jsBridge.flyer.removeListener();

业务接口

logEvent 记录事件

//示例购买成功
jsBridge.flyer.logEvent({
  //必须,事件名称
  //建议尽量使用 预定义事件名称(Predefined event names)
  name : "af_purchase",
  //必须,事件参数
  //建议尽量使用 预定义参数名称(Predefined event parameters)
  value: {
    af_revenue     : 1234.56,
    af_content_type: "Shirt",
    af_content_id  : "1234567",
    af_currency    : "USD"
  }
}, function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

setAdditionalData 自定义数据

jsBridge.flyer.setAdditionalData({
  custom_param_1: "value_of_param_1"
}, function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

setMinTimeBetweenSessions 自定义会话间的时间

jsBridge.flyer.setMinTimeBetweenSessions({
  //必须,会话之间的最短时间,最少5秒
  minSeconds: 30
}, function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

logSession 报告新的用户会话

jsBridge.flyer.logSession(function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

setResolveDeepLinkURLs 解决已包装的深度链接 URL

jsBridge.flyer.setResolveDeepLinkURLs({
  //必须,域名列表
  urls: [
    "clickdomain.com",
    "myclickdomain.com",
    "anotherclickdomain.com"
  ]
}, function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

sendPushNotificationData 记录推送通知

jsBridge.flyer.sendPushNotificationData(function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

getAppsFlyerUID 获取 AppsFlyer ID

jsBridge.flyer.getAppsFlyerUID(function(succ, data) {
  alert(JSON.stringify(data));
});
/*
data 参数返回
{
  appsFlyerId: //AppsFlyer ID
}
*/

setCustomerUserId 设置客户用户 ID

jsBridge.flyer.setCustomerUserId({
  userId: "user123"
}, function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

setCollect 是否收集设备标识

jsBridge.flyer.setCollect({
  //IMEI
  imei: false,
  //OAID
  oaid: false,
  //Android ID
  androidId: false
}, function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

setCollectData 设置设备标识

jsBridge.flyer.setCollectData({
  //IMEI
  imei: "xxxxxx",
  //OAID
  oaid: "yyyyyy",
  //Android ID
  androidId: "zzzzzzz"
}, function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

stop 退出,停止采集数据

jsBridge.flyer.stop(function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

start 开始,开始采集数据

jsBridge.flyer.start(function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

anonymizeUser 匿名用户数据

jsBridge.flyer.anonymizeUser({
  //是否匿名
  anonymize: false
}, function(succ, data) {
  if (!succ) {
    alert("失败\n" + JSON.stringify(data));
  }
});

监听回调数据: