集成文档(uni-app-native)
|
收藏
0.1.0 版本开始支持延迟初始化功能,需要调用初始化「initSDK」方法,否则无法正常初始化。
云编译会自动升级原生插件到最新版本, 请检查项目是否调用初始化 「initSDK」 方法。
本插件支持 Android&iOS 系统进行数据采集,如使用其他平台请先集成 uni-app-js 插件。
1. 集成 uni-app 原生插件
1.1. HBuilderX 集成
1.1.1. 插件市场购买插件包
打开 DCloud 插件市场中神策分析 uni-app 插件主页,并点击 ”购买(0 元)for 云打包“ 按钮
绑定包名
- 云打包时会校验 Appid、包名和已购买插件的关系。至少需要填一个,如果暂不填,后续可以在"已购买插件"栏目补填。
- 包名一旦绑定后将不能修改,请务必注意在此处输入的包名应与打包时的包名完全一致!
1.1.2. 加载原生插件
在 mainifest.json 文件中的 App 原生插件配置中下载已购买的云端插件
1.1.3. 获取插件包
打开 DCloud 插件市场中神策分析 uni-app 插件主页,并点击 ”下载 for 离线打包“ 按钮
1.1.4. 集成插件
用 HBuilderX 打开 uni-app 项目,并在项目根目录下新建 nativeplugins 目录,将解压的插件包添加至该目录下
打开 manifest.json 配置面板,选择 App 原生插件配置,并选择点击 ”选择本地插件“ 按钮,添加本地插件
1.1.5. 制作自定义基座
制作自定义调试基座。运行 → 运行到手机或模拟器 → 制作自定义调试基座,并填写应用相关信息后进行打包
1.2. 原生编辑器集成
将下载的插件解压,将插件文件夹 Sensorsdata-UniPlugin-App 中 ios 目录拷贝到离线工程根目录中
选择插件 ios 目录下的 UniSensorsAnalyticsModule.xcframework 文件添加到工程中
打开原生工程,找到原生工程的 info.plist 文件右键选择 Open As -> Source Code 源码查看,添加如下节点信息
<key>dcloud_uniplugins</key>
<array>
<dict>
<key>hooksClass</key>
<string>UniSensorsAnalyticsProxy</string>
<key>plugins</key>
<array>
<dict>
<key>type</key>
<string>module</string>
<key>name</key>
<string>Sensorsdata-UniPlugin-App</string>
<key>class</key>
<string>UniSensorsAnalyticsModule</string>
</dict>
</array>
</dict>
</array>
将原生插件 android 目录下的 SensorsdataUniPlugin.aar 拷贝到原生项目的 libs 目录下:
在 project 级别的 build.gradle 文件中添加 android-gradle-plugin2 插件依赖:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
//添加神策分析 android-gradle-plugin2 依赖
classpath 'com.sensorsdata.analytics.android:android-gradle-plugin2:4.0.2'
}
}
- 仅插件版本 v3.3.1 及以上版本支持 H5 打通功能。
- 关于如何在 AGP 8.0+ 版本中使用插件以及插件的常用配置,请参考 SDK 插件说明。
在主 module 的 build.gradle 文件中应用 com.sensorsdata.analytics.android 插件、添加 SDK 依赖:
apply plugin: 'com.android.application'
// 应用 com.sensorsdata.analytics.android 插件
apply plugin: 'com.sensorsdata.analytics.android'
dependencies {
// 添加 Sensors Analytics SDK 依赖
implementation 'com.sensorsdata.analytics.android:SensorsAnalyticsSDK:6.8.0'
}
在主 module 的 assets 目录下新建 dcloud_uniplugins.json 文件
增加以下配置:
{
"nativePlugins": [
{
"hooksClass": "com.sensorsdata.uniapp.UniSensorsAnalyticsProxy",
"plugins": [
{
"type": "module",
"name": "Sensorsdata-UniPlugin-App",
"class": "com.sensorsdata.uniapp.UniSensorsAnalyticsModule"
}
]
}
]
}
1. 若宿主应用未集成神策 SDK ,则需要在初始化 SDK 时配置( mp_process_flush
为 true),否则事件无法上报。
2. 若宿主应用已集成神策 SDK,则不建议开启小程序进程上报数据。
2. 使用方式
如果只集成原生 SDK,那么可以用以下引入及配置方式:
const sensors = uni.requireNativePlugin('Sensorsdata-UniPlugin-App');
sensors.initSDK({
server_url:'数据接收地址',
show_log:false,//是否开启日志
global_properties:{},//全局属性
app:{// Android & iOS 初始化配置
remote_config_url:"",
flush_interval:15000,//两次数据发送的最小时间间隔,单位毫秒
flush_bulkSize:100,//设置本地缓存日志的最大条目数,最小 50 条, 默认 100 条
flush_network_policy:30, //设置 flush 时网络发送策略
auto_track:0, // 1 应用启动, 2 应用退出,3 应用启动和退出 默认 0
encrypt:false, //是否开启加密
track_crash:false, // 是否采集 AppCrash
add_channel_callback_event:false,//是否开启渠道事件
javascript_bridge:false, // WebView 打通功能
android:{//Android 特有配置
session_interval_time:30000,
request_network:true,
max_cache_size:32, // 默认 32MB,最小 16MB
mp_process_flush:false,//使用小程序 SDK 时,小程序进程是否可发送数据
},
ios:{//iOS 特有配置
max_cache_size: 10000, //最大缓存条数,默认 10000 条
}
}
});
3. API
相关 API 可参考:神策分析 uni-app 插件主页
注:本文档内容为神策产品使用和技术细节说明文档,不包含适销类条款;具体企业采购产品和技术服务内容,以商业采购合同为准。