更新记录

1.0.1(2023-03-10)

  1. 增加获取distinctId接口

1.0.0(2022-04-13)

  • 用户行为数据分析、埋点
  • 设置用户ID、个人信息画像
  • 计数统计
  • 计时统计
  • 自动埋点
  • 普通业务统计
  • 漏斗模型分析

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 12.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 16

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


功能

接入步骤

如不了解原生插件接入步骤的同学请参考: https://www.jianshu.com/p/830ccc503e29https://blog.csdn.net/wenrisheng/article/details/124057700

组件


    var mixpanel = uni.requireNativePlugin("wrs-mixpanel");

快速接入

  1. Mixpanel官网注册账号创建应用https://mixpanel.com/

请添加图片描述在这里插入图片描述

  1. 切换到项目,获取初始化token 在这里插入图片描述 在这里插入图片描述3. app启动时初始化SDK

<script>
    var mixpanel = uni.requireNativePlugin("wrs-mixpanel");
    export default {
        onLaunch: function() {
            mixpanel.initMixpanel({
                token: "b2e5d272e1f983f98944d2f072e55978"
            });

方法

  • initMixpanel 初始化Mixpanel,一般放到App.vue的onLaunch方法里

<script>
    var mixpanel = uni.requireNativePlugin("wrs-mixpanel");
    export default {
        onLaunch: function() {
            mixpanel.initMixpanel({
                token: "b2e5d272e1f983f98944d2f072e55978"
            });
  • track 添加普通统计事件

                var params = {};
                params.event = "userLogin"; // 事件名称
                params.properties = { // 事件属性,非必填
                    account: "123456",
                    password: "abc"
                };
                params.flush = true; // 是否实时刷新上传,非必填
                mixpanel.track(params);
  • flush 刷新上传事件数据,mixpanel为了性能考虑,默认是60秒同步一次数据,调用这个接口可以马上上传同步

                mixpanel.flush();
  • flushInterval 设置刷新上传数据时间,仅支持iOS

                mixpanel.flushInterval({
                    flushInterval: 10
                });
  • enableLogging 是否开启日志

                mixpanel.enableLogging({
                    enableLogging: true
                });
  • optOutTracking 停止统计

                mixpanel.optOutTracking();
  • optInTracking 继续统计

                mixpanel.optInTracking();
  • hasOptedOutTracking 是否开始统计

             var resp = mixpanel.hasOptedOutTracking();
             if(isString(resp)) {
                 resp = JSON.parse(resp)
             }
             var flag = resp.hasOptedOutTracking;
  • timeEvent 添加计时事件

                // 计时事件,如:图片上传
                // 开始上传,2个event需要一样
                mixpanel.timeEvent({
                    event: "ImageUpload",
                    flush: true
                });

                setTimeout(function() {
                    // 上传完成
                    mixpanel.track({
                        event: "ImageUpload"
                    });
                }, 3000);
  • incrementBy 添加计数事件

                // 计数事件,在用户画像里查看,如:用户点赞数加1
                var params = {};
                params.property = "favourCount";
                params.amount = 1;
                mixpanel.incrementBy(params);
  • increment 添加计数事件

                // 计数事件,在用户画像里查看,如:用户点赞数加1
                var params = {};
                params.property = "favourCount";
                params.property = {
                         amount: 1
                 };
                mixpanel.increment(params);
  • registerSuperProperties 注册所有事件的共同属性

                var params = {};
                params.superProperties = {
                         platform: "ios"
                 };
                mixpanel.registerSuperProperties(params);
  • registerSuperPropertiesOnce 注册一次所有事件的共同属性

                var params = {};
                params.superProperties = {
                         platform: "ios"
                 };
                mixpanel.registerSuperPropertiesOnce(params);
  • setProfile 设置个人信息画像

                var params = {};
                params.profile = {
                        account: "123456",
                    password: "abc"
                 };
                mixpanel.setProfile(params);
  • identify 设置用户标识,一般设备登录用户的ID

                var params = {};
                params.identify = "12121";
                mixpanel.identify(params);
  • trackCharge 追踪支付金额

                // 统计支付收益,如在某个时间支付了20
                mixpanel.trackChargeWithProperties(
                {
                    "amount":20,
                    "properties": {
                        time: "2010-01-01 08:05:01",
                        userId: "xxxxx",
                        orderId: "aaaaa"
                    }
                }
                );
  • getDistinctId 获取distinctId

                mixpanel.getDistinctId((resp)=>{
                    var distinctId = resp.distinctId
                });

支持定制,联系方式 QQ:252797991

如果觉得可以就点个👍吧,欢迎粉丝收藏,土豪打赏,您的关注就是我们创作的动力!

隐私、权限声明

1. 本插件需要申请的系统权限列表:

Android: <uses-permission android:name="android.permission.INTERNET" /> <!-- This permission is optional but recommended so we can be smart about when to send data. --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- This permission is optional but recommended so events will contain information about bluetooth state --> <uses-permission android:name="android.permission.BLUETOOTH" /> iOS: 网络

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件使用的 Mixpanel SDK会采集数据,详情可参考:https://eu.mixpanel.com

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问