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>
CODE


将原生插件 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'
    }
}
GROOVY
  1. 仅插件版本 v3.3.1 及以上版本支持 H5 打通功能。
  2. 关于如何在 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'
}
GROOVY


在主 module 的 assets 目录下新建 dcloud_uniplugins.json 文件

增加以下配置:

{
  "nativePlugins": [
    {
      "hooksClass": "com.sensorsdata.uniapp.UniSensorsAnalyticsProxy",
      "plugins": [
        {
          "type": "module",
          "name": "Sensorsdata-UniPlugin-App",
          "class": "com.sensorsdata.uniapp.UniSensorsAnalyticsModule"
        }
      ]
    }
  ]
}
CODE

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 条
            }
        }
    });
JS

3. API

相关 API 可参考:神策分析 uni-app 插件主页