日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

友盟统计封装android,react native 友盟统计 Android 端集成

發(fā)布時間:2024/10/8 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 友盟统计封装android,react native 友盟统计 Android 端集成 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

ios 端 可參考:https://www.jianshu.com/p/879d28ee74e6

趁熱打鐵吧,把剛才已經(jīng)完成的友盟統(tǒng)計集成記錄下 Android端集成:

分下面幾部:

步驟

sdk的集成

原生模塊的配置

原生交互模塊

RN端調(diào)用

sdk集成部分

這里如果嫌官方文檔太亂的話可以參考下 我這里的手動集成:

1.首先把 下載的sdk

umeng-analytics-7.5.3.jar

umeng-common-1.5.3.jar

放到工程目錄下的libs文件夾下,thirdparties文件下的可能和混淆加密有關(guān),這里按需使用吧,我這里沒有。

image.png

image.png

把架包添加到工程中

image.png

dependencies {

compile files('libs/umeng-analytics-7.5.3.jar')

compile files('libs/umeng-common-1.5.3.jar')

}

到這里Android端sdk已經(jīng)集成了。

android端配置

android:name="UMENG_APPKEY"

android:value="5b863efe8f4a9d1b8b00010b" >

交互模塊

接下來把官網(wǎng)下載下來的 交互模塊放到工程中 https://developer.umeng.com/sdk/reactnative

注意這里下載下來的并不是sdk 而是 一些交互類

DplusReactPackage.java

RNUMConfigure.java

AnalyticsModule.java

這三個java交互文件缺一不可哦。

之后,就是把相關(guān) java代碼,改下包路徑 按照錯誤提示更改就行了

比如: package com.rent.UMTJ;

缺少類的 導(dǎo)入相關(guān)類即可。

交互類 寫完之后,在MainApplication中實例化一下

@Override

protected List getPackages() {

return Arrays.asList(

new MainReactPackage(),

new DplusReactPackage(),

);

}

@Override

public void onCreate() {

super.onCreate();

SoLoader.init(this, /* native exopackage */ false);

UMConfigure.setLogEnabled(true);

//初始化組件化基礎(chǔ)庫, 統(tǒng)計SDK/推送SDK/分享SDK都必須調(diào)用此初始化接口

RNUMConfigure.init(this, "[這里輸入自己創(chuàng)建應(yīng)用時候的appkey]", "UMENG_CHANNEL", UMConfigure.DEVICE_TYPE_PHONE,

"");

}

在MainActivity中也要初始化操作

@Override

protected void onCreate(Bundle savedInstanceState) {

MobclickAgent.setSessionContinueMillis(1000); //設(shè)置統(tǒng)計的場景,以及發(fā)送間隔:

MobclickAgent.setScenarioType(this, MobclickAgent.EScenarioType.E_DUM_NORMAL);

super.onCreate(savedInstanceState);

}

@Override

public void onResume() { //友盟統(tǒng)計初始化

super.onResume();

MobclickAgent.onResume(this);

}

@Override

protected void onPause() { //友盟統(tǒng)計初始化

super.onPause();

MobclickAgent.onPause(this);

}

ok基本上按照步驟走的話,都很順利,到這里就可以RN端調(diào)用了。

RN端調(diào)用

這里封裝了一下 Umtj.js 可作為參考

import { NativeModules } from 'react-native';

const UMTJ = NativeModules.UMAnalyticsModule;

export const onPageStart = pageName => {

//用于統(tǒng)計單個自定義頁面的起始和onPageEnd同時使用,不可單獨使用

return UMTJ.onPageStart(pageName);

};

export const onPageEnd = pageName => {

//用于統(tǒng)計單個Activity頁面結(jié)束時間

return UMTJ.onPageEnd(pageName);

};

export const onEvent = eventId => {

//用于統(tǒng)計自定義事件的發(fā)生次數(shù)

return UMTJ.onEvent(eventId);

};

export const onEventWithLable = (eventId, label) => {

//用于統(tǒng)計自定義事件的發(fā)生次數(shù) 可傳參數(shù)進(jìn)去

return UMTJ.onEventWithLable(eventId, label);

};

調(diào)用原生模塊

import {

onEvent,

onEventWithLable,

onPageStart,

onPageEnd,

} from '../utils/natives/Umtj';

//比如這里是個點擊事件

click=()=>{

onEvent('regist');

onEventWithLable('regist', '注冊登錄成功');

}

這里的“regist”是我們在 友盟后臺自定義的 埋點值,可以進(jìn)行手動埋點 用來統(tǒng)計用戶一些行為操作,方便產(chǎn)品運營吧。

image.png

總結(jié)

以上是生活随笔為你收集整理的友盟统计封装android,react native 友盟统计 Android 端集成的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。