热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android灵动分析入门指南

添加应用登录TalkingData官网后,在产品中心里,点击创建新应用,填写应用的基本信息,获取应用的唯一识别码AppID。下载各个平台的SDK,下载完SDK,参照各个平台的开发指南进行具

添加应用登录TalkingData官网后,在产品中心里,点击创建新应用,填写应用的基本信息,获取应用的唯一识别码App ID。下载各个平台的SDK,下载完SDK,参照各个平台的开发指南进行具体的操作。Android SDK下载/开发指南一、综述1、适用范围TalkingData Analytics为移动应用提供数据统计分析服务,通过在应用中加入数据SDK,来在 www.talkingdata.com 网站中查阅应用的相关数据。统计SDK适用于 Android 1.6(API Level 4)及以上的设备。2. 统计标准数据系统中的基本数据单元依据以下标准定义:新增用户TalkingData数据系统中的“用户”指用户的一台唯一设备。用户的一次使用指用户从打开应用的界面至离开界面的完整过程。如用户在离开界面后30秒内重新回到应用中,将被认为是上次使用被打扰后的延续,记为一次完整使用。页面指Android应用的每个Activity。自定义事件指用户在应用中进行了特定的操作或达成了特定的条件。例如:用户点击了广告栏、用户进行付费等。 自定义事件用于收集任意您期望跟踪的数据。二、 接入数据系统1、为应用申请App ID在TalkingData网站中创建一款应用,您将获得一串32位的16进制App ID,用于唯一标识您的一款应用。TalkingData支持跨平台的应用,跨平台应用只需获得一个App ID即可。2、向工程中导入追踪SDK1) Eclipse ADT下载数据统计SDK后解压至本地目录,将其中的TalkingdataAnalytics.jar 拷贝到工程的libs文件夹下。(如需使用灵动分析功能,请使用v2.0.X Beta及以上版本SDK)2) Android Studio• 在 Android Studio 项目的 app 目录下新建 libs 目录。• 将 TalkingdataAnalytics.jar 拷贝到上面新建的 libs 目录下。• 在 app 目录下的 build.gradle 文件中的 dependencies 依赖项。2、配置ANDROIDMANIFEST.XML文件附注:已创建完成的应用,可进入该应用的数据报表页中,在“系统设置”-“编辑应用”页面里能随时查看到获得的App ID。4、添加SDK初始化代码(重要)TalkingData Analytics的SDK提供两种初始化的方法:1) 开发者可以通过com.tendcloud.tenddata.TCAgent.init方法手工传入AppId 。2) 开发者在AndroidManifest里的meta-data里配置AppId和ChannelId。注意1:为了保证统计到的数据更加的全面,强烈建议不论哪种init 方式,都要在Application的onCreate里调用(不论您的程序是否有后台service还是多进程),如果您的程序里没有自定义的application类,请添加!注意2:初始化是使SDK开始工作的关键,不进行初始化就对其他接口进行调用,会有引发程序崩溃的严重危险。请开发者一定注意。5、代码混淆请开发者在混淆配置文件proguard.cfg或proguard-project.txt的最后加上-keep public class com.tendcloud.tenddata.** { public protected *;}使得混淆的时候不会影响统计SDK的命名空间。6、添加必须的调用方法(重要)使用数据统计系统需要至少添加以下调用方法,这些调用用于准确跟踪用户每次的应用使用,是准确统计启动、活跃、留存数据的基础:• 在需要调用SDK方法的类中导入com.tendcloud.tenddata.TCAgent类;• 在应用的每个Activity的onResume方法里调用TCAgent.onResume(Activity context),传入的参数为当前Activity实例,用于统计基础数据。•在应用的每个Activity中的onPause方法里调用TCAgent.onPause(Activity context),传入的参数为当前的Activity实例,用于统计基础数据。注意1:确保在每个activity中都调用了以上方法,否则可能造成应用的使用时长数据错误。三、更多高级功能1、跟踪自定义的页面用法说明要统计应用内的页面访问数据,需要在每一个要跟踪的页面进入和离开的位置调用onPageStart和onPageEnd。需要注意的是,页面应该是一个接着一个的,不能嵌套调用;进入新页面,必须离开旧页面,否则可能导致页面统计数据异常。调用方法在进入页面的时候加入如下的代码调用:其中pageName为自定义的页面名称,最大支持10个中英文字符。在离开页面的时候加入如下的代码调用:其中pageName为自定义的页面名称,需要和onPageStart中传入的一致;并且onPageStart和onPageEnd必须成对调用。2、区分渠道查阅数据给应用的安装包打入特殊的渠道标记,用户安装使用渠道包后,您可以在报表中区分来源单独查询出数据。在您为应用商店、下载站等分发渠道提供应用安装包时可以加入渠道标记,在进行特别的活动时亦可加入渠道标记来单独分析效果。在AndroidManifest.xml里添加meta-data段,用您定义的渠道名替换value中的“Your_channel_id”渠道名可自行定义,格式:32个字符内,支持中文、英文、数字、空格、英文点和下划线,请勿使用其他符号。用户的渠道归属:每台设备仅记录给首次安装激活的渠道,同一用户在更替渠道包使用后不会重复计算新增,使用数据归入首次激活渠道。如果未添加渠道标记,或渠道标记是示例代码中的默认值,用户将会归入为“未知渠道”。我们提供多渠道打包工具以帮助您快速生成多个不同渠道包,支持V1.2.74版本及以上。该工具修改的渠道ID会优先于手动修改的渠道ID被读取。 详见:http://www.talkingdata.com/activity/packTool-Explain/index.html3、使用自定义事件自定义事件用于统计任何您期望去跟踪的数据,如:用户点击某功能按钮、填写某个输入框、触发了某个广告等。我们提供两种使用方法:1、直接在报表后台中设定追踪点并自动部署追踪代码的“灵动事件”;2、在App中以触发代码方式追踪数据的“集成事件”。3.1. 灵动事件灵动事件支持App界面中的按钮、输入框、单选和多选控件、图片按钮的点击动作自动计数。您不需要书写额外的触发代码,在报表平台中通过动态添加,SDK会自动部署追踪码。在数据报表的以下位置来动态管理全部“灵动事件”:[登录平台] - [选择应用,进入报表] – 左菜单进入[事件和转化] – 进入[灵动事件]注意:使用灵动事件,需使用 v2.0.X Beta 以上版本的SDK。3.2. 集成事件用法说明在App中手工添加触发代码方式来记录自定义的数据追踪点;集成事件除了记录行为,还支持添加一些描述行为的参数,使用多对Key-Value的方式来进行发送(非必须使用),用来对事件发生时的状况做详尽分析。Event ID无需提前在数据平台中定义,可自行定义名称,直接加入到应用中需要跟踪的位置即可生效。格式:32个字符以内的中文、英文、数字、下划线,注意eventId中不要加空格或其他的转义字符。TalkingData最多支持10000个不同的Event ID。 如果您要跟踪更多的事件,我们提供了Label参数的用法,可以给多个要跟踪的同类型或类似的事件使用相同的Event ID,通过给他们分配不同Label来达到区分跟踪多个事件的目的。这可理解为Event ID成为了多个事件的目录,EventID+Label形成了一个具体事件。请对事件做好分类,这也对您管理和查阅事件数据有利。调用方法在应用程序要跟踪的事件处加入下面格式的代码,也就成功的添加了一个简单事件到您的应用程序中了: 跟踪多个同类型事件,无需定义多个Event ID,可以使用Event ID做为目录名,而使用Label标签来区分这些事件,可按照下面格式添加代码: 为事件添加详尽的描述信息,可以更有效的对事件触发的条件和场景做分析,可按照下面格式添加代码:注: 此Map的Value仅支持字符串(String)和数字(Number)类型,其他类型会自动调用toString()方法转换为String进行处理。在Value使用String格式时,报表中将给出事件发生时每种value出现的频次;Value为Number时,报表将帮助计算value值的总计值和平均数。如果所有事件都需要传输相同的参数,可以设置全局的Key-Value,这些Key-Value会自动添加到所有自定义事件:如果要移除全局Key-Value,则可以调用:注: 如果onEvent里传入的Key-Value里的key和全局Key-Value里的key冲突,以onEvent里传入的为准。示例1:跟踪某电商应用中首页的5个不同推广位置的点击次数,并收集宣传品的品类、促销价格等信息:注1:这里追踪的事件属于同类型,使用了Label标签的用法。以相同Event ID来作为统一名称,Label来确定不同位置。这样查阅Event ID数据即可了解全部推广位总量点击数据,展开Label可查阅具体某位置数据。注2:在value取值较离散情况下(如示例中收集的促销价格信息),不要直接填充具体数值,而应划分区间后传入(如9.9元,可定义5~10元的价格区间,传入5~10元),否则value不同取值很可能超过平台最大数目限制,离散数据也对分析人员阅览数据造成影响。示例2:在一款休闲游戏中记录玩家在各关卡中的失败数据,并收集玩家具体信息。4、收集应用错误日志收集应用的错误日志可帮助您来修正BUG、改善产品。报表中,我们除了提供错误次数的数据外,还提供错误的详细信息阅览,并会对错误进行合理分类。 您可通过两种方式来获取错误日志:让TalkingData SDK自动捕获异常、或您主动传送错误信息给SDK。SDK自动获取异常信息为了简化开发者的工作,我们提供自动获取异常信息的功能,但衡量异常信息收集会损耗最终用户流量,因此自动捕获默认为关闭状态。可向以下方法中传入true(开启自动捕获)或false(关闭自动捕获),来控制自动捕获功能的开关:很多错误发生在应用刚启动时,自动异常捕获依赖于数据SDK已开始工作,如果您期望捕获更全面的异常信息,请在程序最先启动处加入以下代码,以使数据SDK更早开始工作,收集异常。 主动传送异常信息您也可主动调用以下方法将抛出的exception信息传入至方法中的第二个参数中(主动捕获关闭状态下依然有效):四、重点问题解答问题1:如何确定我的集成是正确的?解答:集成后请进行必要的真机测试,登录统计后台查阅数据,数据已有体现后才说明集成正确。测试中请务必注意:确保AndroidManifest.xml里的参数和必要的权限已正确添加,检查INTERNET, ACCESS_NETWORK_STATE, READ_PHONE_STATE,WIFI这些权限已添加;确保App ID添加正确,没有输入多余的空格等难发现的字符;确保每个Activity中的对onResume和onPause方法进行了正确调用;测试渠道包数据,确保Channel ID添加正确,并确认该设备没有被计入其他的渠道中。应用安装于设备后需要打开应用才可记录数据,测试过程确保您的设备网络连接正常。通过检查logcat里输出的TAG为TalkingData的日志信息可帮助判定问题:TalkingData Analytics SDK会在初始化时会输出类似下边的日志,其中会显示SDK检测到的APP_ID和CHANNEL_ID:例如:当SDK成功向服务器传输数据时,会有类似下边的日志输出:例如:问题2: 如何避免混淆对统计SDK的影响?解答:有些开发者对打了统计SDK的程序进行混淆时,有可能会覆盖某些java类,导致统计SDK无法正常工作,解决方法如下:请开发者在混淆配置文件proguard.cfg或proguard-project.txt的最后加上-keep public class com.tendcloud.tenddata.** { public protected *;}使得混淆的时候不会影响统计SDK的命名空间。问题3: 打入数据SDK的应用,混淆后导出APK时报Warning而导出失败?解答:有一些字段或API引用只支持Android 2.3或以上版本的类库,就会导致引用Android较低的版本在导出apk时发生Warning的错误,解决方法如下:请开发者在混淆配置文件proguard.cfg或proguard-project.txt的最上方加上-dontwarn com.tendcloud.tenddata.**。问题4: 打入SDK的应用,运行时会在Logcat里有Tag为TDLog的日志,如何关闭?解答:这些日志是用于帮助应用开发者检查是否正确集成了TalkingData的SDK。


该文章转自OSChina


推荐阅读
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 搭建Jenkins、Ant与TestNG集成环境
    本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ... [详细]
  • Vue 开发与调试工具指南
    本文介绍了如何使用 Vue 调试工具,包括克隆仓库、安装依赖包、构建项目以及在 Chrome 浏览器中加载扩展的详细步骤。 ... [详细]
  • 哈密顿回路问题旨在寻找一个简单回路,该回路包含图中的每个顶点。本文将介绍如何判断给定的路径是否构成哈密顿回路。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 本文介绍了如何通过设置背景形状来轻松地为 Android 的 TextView 添加圆形边框。我们将详细讲解 XML 代码的配置,包括圆角、描边和填充等属性。 ... [详细]
  • 本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • HTML基础入门指南
    本文将深入浅出地介绍HTML的基础知识,包括其定义、开发工具、制定机构、特性、基本标签及更多实用内容。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 本文探讨了如何通过预处理器开关选择不同的类实现,并解决在特定情况下遇到的链接器错误。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
author-avatar
宋安武_375
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有