Android 接入第三方数数科技平台

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

一个成熟的App必然不可缺少对用户进行数据分析和梳理相应的业务需求,比如说产品经理或者发行部门需要对新上线的一个需求功能或者活动进行用户满意度调查,那么他们需要通过一些真实的用户使用数据来进行分析才行。这个时候就App就需要接入一些第三方数据分析的平台来观察数据的走向了。


提示:以下是本篇文章正文内容,下面案例可供参考

一、数数科技平台是什么?

数数科技是一家中国的科技公司,专注于提供数据分析和人工智能解决方案。他们的业务涵盖数据采集、数据处理、数据挖掘和分析、人工智能算法开发等领域。通常情况下,接入 TE 需要三个步骤:首先根据业务需求的整理,梳理出数据采集方案,数数科技的分析师会协助您完成这一部分工作;然后,由研发人员根据数据采集方案完成数据接入工作;最后是验证数据接入正确性。简单的总结来说是用于产品、研发、测试查看的第三方数据分析平台。
数数科技官网传送门

二、使用步骤

1.集成SDK

自动集成库,在 Project 级别的 build.gradle 文件中添加如下配置依赖

Java 复制代码
buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
}

在 Module 工程目录下的 build.gradle文件中添加依赖项:

kotlin 复制代码
dependencies {
    implementation 'cn.thinkingdata.android:ThinkingAnalyticsSDK:2.8.3'
}

手动集成库,下载并解压 Android SDK

libs 文件夹中添加 ThinkingSDK.aar


在 build.gradle 添加如下配置

kotlin 复制代码
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
}

2. 初始化

kotlin 复制代码
// 在主线程中初始化 SDK 
//方式一
ThinkingAnalyticsSDK instance = ThinkingAnalyticsSDK.sharedInstance(this, APPID, SERVER_URL);
//方式二
TDConfig config = TDConfig.getInstance(this, APPID, TE_SERVER_URL);
ThinkingAnalyticsSDK instance = ThinkingAnalyticsSDK.sharedInstance(config);

参数说明:

APPID: 您的项目的 APPID,可通过在 TE 项目管理页面获取

SERVER_URL: 数据上传的 URL

如果您对接的是云服务,请在项目管理->接入配置中查看上报地址。

如果您使用私有化部署版本,您可以自定义数据采集地址。


值得一提的是一般 config.setMode() 可以设置TDConfig.ModeEnum.DEBUG 和TDConfig.ModeEnum.NORMAL用于测试和正式开放环境区分。

3. 发送事件和设置账号id

在用户进行登录时,可调用 login 来设置用户的账号 ID, TE 平台将会以账号 ID 作为身份识别 ID,并且设置的账号 ID 将会在调用 logout 之前一直保留。多次调用 login 将覆盖先前的账号 ID 。

kotlin 复制代码
// 用户的登录唯一标识,此数据对应上报数据里的#account_id,此时#account_id的值为TA
instance.login("TA");

您可以调用 track 来上传事件,建议您根据先前梳理的埋点文档来设置事件的属性,此处以用户点击作为范例,传入上报新老用户做区分。

kotlin 复制代码
try {
    JSONObject properties = new JSONObject();
    properties.put("user_type","类型");
    instance.track("click_type",properties);
} catch (JSONException e) {
    e.printStackTrace();
}

4. 验证发送事件是否成功

点击上报按钮触发上报事件,查看log日志可以看见上报的详细信息。

同时在数数平台的看板也能看到这条数据上报是成功的,证明发送事件是没有问题的。

小结

数数平台的接入并不困难,具体的埋点方案以及业务流程需要你根据产品的需求去上报。需要注意的是在不设置账号id的时候数数会自动上传一个id,此时如果移动端和后端需要做账号绑定的话可能会存在问题,账号id不一致的情况。这种问题在接入前商量好就不会出现的。

相关推荐
疯华整猫6 分钟前
混淆起初根本不是为了防破解:我用 Trae 把 Android 混淆这二十来年重跑了一遍
android·人工智能·计算机视觉
Carson带你学Android40 分钟前
AI时代,你的 App 会被 Agent 这三种方式调用
android·ai编程
恋猫de小郭2 小时前
Flutter 下 AOT 一个你怎么都想不出来的 Bug ,JIT 正常的计算,在 AOT 居然算错了
android·前端·flutter
好的佩奇18 小时前
Dart 之扩展方法
android·flutter·dart
三少爷的鞋19 小时前
换个思路理解:非阻塞挂起
android
好的佩奇20 小时前
蓝牙之经典蓝牙
android·flutter·蓝牙
传奇开心果编程1 天前
【Flutter踩坑排雷】第19课:路由硬编码坑|字符串路由书写错误,页面跳转失败排查
android·flutter·ios·移动开发·跨平台·ui框架·声明式ui
微小的鱼1 天前
Linux的渲染与显示系统链路
android·java·linux
道尔柯南2 天前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
唐诺2 天前
5、Android JNI 动态注册中的“签名“详解
android·jni