Skip to content

Commit a4e2258

Browse files
committed
适配基础组件库v2.0.0 + 统计SDK v8.0.0
1 parent 9a9fbd2 commit a4e2258

22 files changed

+356
-728
lines changed

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
### 【友盟+】统计、推送、分享三合一组件化SDK集成Demo
2+
3+
---
4+
5+
6+
* 本Demo工程仅适用于【友盟+】组件化版本SDK,即包含基础组件库umeng-common-x.x.x.jar的SDK版本。
7+
8+
* 集成v2.0.0(umeng-common-2.0.0.jar)及更高版本基础组件库的客户,请参照分支"master"代码集成。
9+
10+
* 集成v2.0.0以下(不包含2.0.0,如:umeng-common-1.5.4.jar)版本基础组件库的客户,请参照分支"common_1.5.4"代码集成。
11+
12+
-105 KB
Binary file not shown.
134 KB
Binary file not shown.
-351 KB
Binary file not shown.
364 KB
Binary file not shown.

app/src/main/AndroidManifest.xml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,8 @@
3737
<activity android:name=".analytics.UappActivity"
3838
android:theme="@android:style/Theme.Black.NoTitleBar">
3939
</activity>
40-
<activity android:name=".analytics.UGameActivity"
41-
android:theme="@android:style/Theme.Black.NoTitleBar">
42-
</activity>
43-
<activity android:name=".analytics.UDplusActivity"
44-
android:theme="@android:style/Theme.Black.NoTitleBar">
45-
</activity>
40+
41+
4642
<activity android:name=".push.UpushActivity"
4743
android:theme="@android:style/Theme.Black.NoTitleBar">
4844
</activity>
@@ -70,6 +66,9 @@
7066
<activity android:name=".share.SettingActivity"
7167
android:theme="@style/myTransparent">
7268
</activity>
69+
<activity android:name=".analytics.Process1Activity"
70+
android:process=":process_activity_1"/>
71+
<service android:name=".analytics.Process1Service" android:process=":process_service_1"/>
7372
<!--demo界面 end-->
7473
<!--share start-->
7574
<activity

app/src/main/assets/uapp.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
[
2+
{
3+
"name":"U-App V8.0.0",
4+
"date":"2019-01-03",
5+
"content":"1. 原Dplus部分接口合并到U-App接口类MobclickAgent中。\n2. 标准统计SDK增加onEventObject、setPageCollectionMode接口,删除openActivityDurationTrack接口、废弃setScenarioType接口。\n3. 基础组件库V2.0.0增加子进程自定义事件埋点开关接口UMConfigure.setProcessEvent 。\n4. 去掉Game相关接口调用例程(另提供独立游戏统计SDK Demo工程演示游戏统计SDK的集成及使用)。\n"
6+
},
27
{
38
"name":"U-App V7.5.4",
49
"date":"2018-10-15",

app/src/main/java/com/umeng/soexample/App.java

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import com.umeng.message.entity.UMessage;
2121
import com.umeng.socialize.PlatformConfig;
2222

23+
import com.umeng.analytics.MobclickAgent;
24+
2325
/**
2426
* Created by wangfei on 2018/1/23.
2527
*/
@@ -49,6 +51,42 @@ public void onCreate() {
4951
"669c30a9584623e70e8cd01b0381dcb4");
5052
//PushSDK初始化(如使用推送SDK,必须调用此方法)
5153
initUpush();
54+
55+
//统计SDK是否支持采集在子进程中打点的自定义事件,默认不支持
56+
UMConfigure.setProcessEvent(true);//支持多进程打点
57+
58+
// 页面数据采集模式
59+
// setPageCollectionMode接口参数说明:
60+
// 1. MobclickAgent.PageMode.AUTO: 建议大多数用户使用本采集模式,SDK在此模式下自动采集Activity
61+
// 页面访问路径,开发者不需要针对每一个Activity在onResume/onPause函数中进行手动埋点。在此模式下,
62+
// 开发者如需针对Fragment、CustomView等自定义页面进行页面统计,直接调用MobclickAgent.onPageStart/
63+
// MobclickAgent.onPageEnd手动埋点即可。此采集模式简化埋点工作,唯一缺点是在Android 4.0以下设备中
64+
// 统计不到Activity页面数据和各类基础指标(提示:目前Android 4.0以下设备市场占比已经极小)。
65+
66+
// 2. MobclickAgent.PageMode.MANUAL:对于要求在Android 4.0以下设备中也能正常采集数据的App,可以使用
67+
// 本模式,开发者需要在每一个Activity的onResume函数中手动调用MobclickAgent.onResume接口,在Activity的
68+
// onPause函数中手动调用MobclickAgent.onPause接口。在此模式下,开发者如需针对Fragment、CustomView等
69+
// 自定义页面进行页面统计,直接调用MobclickAgent.onPageStart/MobclickAgent.onPageEnd手动埋点即可。
70+
71+
// 如下两种LEGACY模式不建议首次集成友盟统计SDK的新用户选用。
72+
// 如果您是友盟统计SDK的老用户,App需要从老版本统计SDK升级到8.0.0版本统计SDK,
73+
// 并且:您的App之前MobclickAgent.onResume/onPause接口埋点分散在所有Activity
74+
// 中,逐个删除修改工作量很大且易出错。
75+
// 若您的App符合以上特征,可以选用如下两种LEGACY模式,否则不建议继续使用LEGACY模式。
76+
// 简单来说,升级SDK的老用户,如果不需要手动统计页面路径,选用LEGACY_AUTO模式。
77+
// 如果需要手动统计页面路径,选用LEGACY_MANUAL模式。
78+
// 3. MobclickAgent.PageMode.LEGACY_AUTO: 本模式适合不需要对Fragment、CustomView
79+
// 等自定义页面进行页面访问统计的开发者,SDK仅对App中所有Activity进行页面统计,开发者需要在
80+
// 每一个Activity的onResume函数中手动调用MobclickAgent.onResume接口,在Activity的
81+
// onPause函数中手动调用MobclickAgent.onPause接口。此模式下MobclickAgent.onPageStart
82+
// ,MobclickAgent.onPageEnd这两个接口无效。
83+
84+
// 4. MobclickAgent.PageMode.LEGACY_MANUAL: 本模式适合需要对Fragment、CustomView
85+
// 等自定义页面进行手动页面统计的开发者,开发者如需针对Fragment、CustomView等
86+
// 自定义页面进行页面统计,直接调用MobclickAgent.onPageStart/MobclickAgent.onPageEnd
87+
// 手动埋点即可。开发者还需要在每一个Activity的onResume函数中手动调用MobclickAgent.onResume接口,
88+
// 在Activity的onPause函数中手动调用MobclickAgent.onPause接口。
89+
MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
5290
}
5391

5492
private void initUpush() {

app/src/main/java/com/umeng/soexample/BaseActivity.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,4 @@ public void clickBack(View view){
4747
finish();
4848
}
4949

50-
// BaseActivity中统一调用MobclickAgent 类的 onResume/onPause 接口
51-
// 子类中无需再调用
52-
@Override
53-
protected void onResume() {
54-
super.onResume();
55-
MobclickAgent.onResume(this); // 基础指标统计,不能遗漏
56-
}
57-
58-
@Override
59-
protected void onPause() {
60-
super.onPause();
61-
MobclickAgent.onPause(this); // 基础指标统计,不能遗漏
62-
}
6350
}

app/src/main/java/com/umeng/soexample/HomeActivity.java

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
import android.os.Bundle;
55
import android.view.View;
66
import android.view.View.OnClickListener;
7-
import com.umeng.soexample.analytics.UDplusActivity;
8-
import com.umeng.soexample.analytics.UGameActivity;
7+
98
import com.umeng.soexample.analytics.UappActivity;
109
import com.umeng.soexample.log.LogActivity;
1110
import com.umeng.soexample.push.UpushActivity;
@@ -32,21 +31,8 @@ public void onClick(View view) {
3231
startActivity(intent);
3332
}
3433
});
35-
/*findViewById(R.id.home_dplus).setOnClickListener(new OnClickListener() {
36-
@Override
37-
public void onClick(View view) {
38-
Intent intent = new Intent(HomeActivity.this, UDplusActivity.class);
39-
startActivity(intent);
40-
}
41-
});
42-
*/
43-
findViewById(R.id.home_game).setOnClickListener(new OnClickListener() {
44-
@Override
45-
public void onClick(View view) {
46-
Intent intent = new Intent(HomeActivity.this, UGameActivity.class);
47-
startActivity(intent);
48-
}
49-
});
34+
35+
5036
findViewById(R.id.home_push).setOnClickListener(new OnClickListener() {
5137
@Override
5238
public void onClick(View view) {

0 commit comments

Comments
 (0)