无埋点数据采集问题

1. GrowingIO对于页面的定义(标识)是什么?

确认当前页面的方法有三种:
  1. 1.
    圈选时,查看圈选页面为当前页面​
2.使用DebugMode日志,进入页面发送的pagep为当前的页面。
3.使用Mobile Debugger 查看page事件的p

2. 点击事件采集逻辑是什么?

设置以下点击事件的控件会被采集点击事件,如果您自定义了点击事件,不在下方列举之内,将无法采集点击事件,影响数据分析。
1
onCheckedChanged(android/widget/CompoundButton)
2
onCheckedChanged(android/widget/RadioGroup)
3
onClick(android/content/DialogInterface)
4
onClick(android/view/View)
5
onItemClick(android/widget/AdapterView;android/view/View)
6
onItemSelected(android/widget/AdapterView;android/view/View)
7
onNewIntent(android/content/Intent)
8
onRatingChanged(android/widget/RatingBar)
9
onStopTrackingTouch(android/widget/SeekBar)
10
onFocusChange(android/view/View)
11
onMenuItemClick(android/view/MenuItem)
12
onOptionsItemSelected(android/view/MenuItem)
13
onGroupClick(android/widget/ExpandableListView;android/view/View)
14
onChildClick(android/widget/ExpandableListView;android/view/View)
Copied!
如果您自定义了 Click 事件, 但是希望 SDK 采集。 可以放置一个 onClickListener 作为代理。这种方案即使随着我们的 SDK 升级也会被兼容。
请注意设置您的 View 可点击:
//设置view Clickable, 如果不设置会不能圈选这个 View。
view.setClickable(true);
1
public void onCustomClick(View view){
2
// 您的业务
3
...
4
// 为了 GrowingIO 能够采集自定义点击事件,调用 android.view.OnClickListener
5
new View.OnClickListener() {
6
@Override
7
public void onClick(View view) {}
8
}.onClick(view);
9
}
Copied!
例: TabHost 的点击事件采集增加 onClickListener 后可以采集到点击事件
1
TabHost.OnTabChangeListener listener = new TabHost.OnTabChangeListener() {
2
public void onTabChanged(String tabId) {
3
// GrowingIO 点击事件采集适配 TabHost 添加代码
4
new View.OnClickListener() {
5
@Override
6
public void onClick(View view) {}
7
}.onClick(mTabHost.getCurrentTabView());
8
}
9
}
Copied!
最后,如果您是在布局文件中在view上使用 onClick 属性的点击事件,不会被采集,不支持。
如果您还未采集到点击事件, 并且使用了 lambda 表达式,请参考lambda配置

3. 如何查看当前App SDK的版本?

有以下多种方式,任选其一。
  1. 1.
    唤起圈选,点击小红点,能够看到版本号;
  2. 2.
    使用 Mobile Debugger , 点击左侧截图区域的 i 图标,能够看到版本号;
  3. 3.
    翻阅代码,app 目录层中的 build.gradle 文件中查找;
  4. 4.
    查看日志,每条 vst 事件中 av 字段描述版本号;
  5. 5.
    抓包查看,网络请求中包含。

4. 为何不建议自定义设备ID?

我们强烈不建议您自行定义设备ID有以下几个方面:
  1. 1.
    我们采集的设备 ID 为了能够唯一标识一台设备信息,如果您进行自定义,有可能用户卸载重新安装应用,设备 ID 会不一致,造成老用户被识别成新用户;
  2. 2.
    如果您未曾定义过设备ID,并且已经集成SDK并且发版过,则新旧设备 ID 不兼容,老用户被认为成新用户,导致新用户数量暴增;

​5. 多个URL Scheme怎么配置?

在 Android 无埋点 SDK 集成步骤中,其中有一步需要在 manifest.xml 文件中配置 intent-filter 代码块,如果有多个 URLScheme 配置,请参照以下代码:
1
<activity
2
android:name=".LauncherActivity"
3
android:launchMode="singleTop"
4
android:theme="@style/AppTheme">
5
<intent-filter>
6
<action android:name="android.intent.action.MAIN" />
7
<category android:name="android.intent.category.LAUNCHER" />
8
</intent-filter>
9
<!-- GrowingIO URLScheme -->
10
<intent-filter>
11
<data android:scheme="growing.xxxxxxxxxxxxxxxx" />
12
<action android:name="android.intent.action.VIEW" />
13
<category android:name="android.intent.category.DEFAULT" />
14
<category android:name="android.intent.category.BROWSABLE" />
15
</intent-filter>
16
<!-- 测试多个 scheme 能够成功被唤醒 -->
17
<intent-filter>
18
<data
19
android:host="share"
20
android:scheme="will" />
21
<action android:name="android.intent.action.VIEW" />
22
<category android:name="android.intent.category.DEFAULT" />
23
<category android:name="android.intent.category.BROWSABLE" />
24
</intent-filter>
25
</activity>
Copied!
多个 Intent Filter 不建议合并,强烈建议不要合并,除非经过严谨的测试,Google 官方解释
最近更新 1yr ago
此页面是否有帮助?