lsh_98
lsh_98
  • 发布:2021-12-21 15:26
  • 更新:2023-09-15 11:33
  • 阅读:1882

友盟统计事件埋点分享

分类:Native.js

因业务需要,我们的app需要继承友盟并且进行事件埋点,涉及电商场景的埋点。
首先,需要在manifest.json文件中勾选统计选项

然后在源码视图中配置从友盟那边申请的appkey,并且输入渠道标识

                    "umeng" : {  
                        "idfa" : true,  
                        "appkey_ios" : "ios的appkey",  
                        "channelid_ios" : "ios的标识",  
                        "appkey_android" : "安卓的appkey",  
                        "channelid_android" : "安卓的标识,可任意输入,用于区分打出来的包,建议用英文"  
                    }

经过测试,plus.statistic.eventTrig可以埋自定义事件的点,但对于电商事件的埋点(友盟规定的事件ID,如:register、finish_payment等)似乎无效。
所以选择用NJS的方式定义了一个函数去调用,使用方式: eventTrig( String类型的事件ID,Object类型的data ) , 以下NJS的代码:


function eventTrig( eventId , data ){  
    // #ifdef APP-PLUS  
        let isios = uni.getSystemInfoSync().platform == 'ios'  
        if( isios ) plus.ios.invoke('MobClick','event:attributes:',eventId,data)  
        else{  
            let HashMap = plus.android.importClass('java.util.HashMap')  
            let hashData = new HashMap()  
            for(let key in data ){  
                hashData.put( String(key),String(data[key]) )  
            }  
            let main = plus.android.runtimeMainActivity()  
            let MobclickAgent = plus.android.importClass('com.umeng.analytics.MobclickAgent')  
            MobclickAgent.onEvent(main,String(eventId),hashData)  
        }  
    // #endif  
    // #ifndef APP-PLUS  
    console.log(...arguments)  
    // #endif  
}  

经过不严谨的测试,目前使用起来是没有发现问题的,有其他需要或是有发现bug的小伙伴可自行改造哈。

0 关注 分享

要回复文章请先登录注册

1***@qq.com

1***@qq.com

回复 1***@qq.com :
解决了吗
2023-09-15 11:33
1***@qq.com

1***@qq.com

回复 DCloud_Android_ST :
问题解决了吗?我也碰到同样的问题了
2022-12-26 16:53
1***@qq.com

1***@qq.com

register前面要加__register吧
2022-07-23 17:03
DCloud_Android_ST

DCloud_Android_ST

plus.statistic.eventTrig 怎么不好使了
2021-12-21 17:28