菜单

集成文档(uni-app-native)

0.1.0 版本开始支持延迟初始化功能,需要调用初始化 initSDK 方法,否则无法正常初始化。

云编译会自动升级原生插件到最新版本,请检查项目是否调用初始化 initSDK 方法。

本插件支持 Android 和 iOS 系统进行数据采集,如使用其他平台请先集成 uni-app-js 插件。

集成 uni-app 原生插件

HBuilderX 集成

云端集成

插件市场购买插件包

打开 DCloud 插件市场中 神策分析 uni-app 插件主页,并点击“购买(0 元)for 云打包”按钮

绑定包名

  • 云打包时会校验 Appid、包名和已购买插件的关系。至少需要填一个,如果暂不填,后续可以在“已购买插件”栏目补填。
  • 包名一旦绑定后将不能修改,请务必注意在此处输入的包名应与打包时的包名完全一致!

加载原生插件

在 mainifest.json 文件中的 App 原生插件配置中下载已购买的云端插件

离线集成

获取插件包

打开 DCloud 插件市场中 神策分析 uni-app 插件 主页,并点击“下载 for 离线打包”按钮

集成插件

用 HBuilderX 打开 uni-app 项目,并在项目根目录下新建 nativeplugins 目录,将解压的插件包添加至该目录下

打开 manifest.json 配置面板,选择 App 原生插件配置,并选择点击“选择本地插件”按钮,添加本地插件

制作自定义基座

制作自定义调试基座。运行 > 运行到手机或模拟器 > 制作自定义调试基座,并填写应用相关信息后进行打包

原生编辑器集成

Xcode 中集成原生插件

将下载的插件解压,将插件文件夹 Sensorsdata-UniPlugin-AppiOS 目录拷贝到离线工程根目录中。

选择插件 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 Studio 中集成原生插件

将原生插件 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'
    }
}
  1. 仅插件版本 v3.3.1 及以上版本支持 H5 打通功能。
  2. 关于如何在 AGP 8.0+ 版本中使用插件以及插件的常用配置,请参考 SDK 插件说明

modulebuild.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,则不建议开启小程序进程上报数据。

使用方式

如果只集成原生 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 条
        }
    }
});

API

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

上一个
集成文档(uni-app-js)
下一个
Weex
最近修改: 2025-03-17