首页 > Android的Analytics |分部文件

亚马逊云注销账户,Android的Analytics |分部文件

互联网 2021-04-14 16:28:19
首页/万博水晶宫/来源/目录/图书馆/移动的/分析为Android 分析为Android

在本页面

Analytics-android和唯一标识符 API在Analytics-Android中呼叫队列 开始 数据收集——基本段API调用 语境 路由收集的数据 实用方法 隐私方法 格式化订单已完成活动 代理HTTP呼叫 Analytics-Android版本

Maven中央

Android的Analytics使其数据简单地将您的数据发送到任何工具,而无需每次学习,测试或实现新API。

所有段的客户端来源都是开源的,所以你可以查看分析Android在GitHub上或者检查细分的其他浏览器和服务器端源也。

想要保持发布的更新吗?订阅释放饲料。

Android Analytics只支持任何运行API 14 (Android 4.0)或更高版本的Android设备。这包括亚马逊Fire设备。

除了这里的文档,还可以阅读javadoc.io上的所有版本的Analytics-android的javadocs。

Analytics-android和唯一标识符

任何分析平台最重要的部分之一就是能够一致且准确地识别用户。要做到这一点,平台必须在设备上分配和保存某种形式的标识,这样你才能有效地分析用户的操作。这对于漏斗转化分析和滞留分析尤其重要。

当然,Analytics SDK需要为每个用户提供唯一的ID。第一次启动使用Segment的Android应用程序时,Segment SDK生成一个UUID并将其保存在设备的磁盘上。这被用作匿名并为设备上的用户保持不变。要在同一设备上创建新用户,请致电重启在分析客户端。

细分SDK也收集了广告标识由播放服务提供。确保将播放服务广告库包含为应用程序的依赖项。这是应该用于广告目的的ID。该值设置为context.device.AdvertIsingid.。

Segment也收集Android ID.作为context.device.id.。有些目的地依赖此字段是Android ID,因此如果选择覆盖默认值,则仔细检查目标的供应商文档。

API在Analytics-Android中呼叫队列

Analytics-Android库将API调用排队并批量上传。这限制了网络呼叫的数量,并有助于节省用户设备的电池。

发送活动时,库将其保存到磁盘。当队列大小达到您指定的最大大小(默认情况下)时,库刷新队列并在单个批处理中上传事件。由于数据立即保存,即使应用程序被杀死或操作系统崩溃,也不会丢失。

队列行为可能因设备模式目的地而异。例如,MixPanel的SDK队列事件,然后仅在应用程序到后台时才刷新它们。

这就是为什么即使您在调试器中看到事件,设备模式目的地也可能不会在其仪表板上显示它们,因为它们仍然可能在他们的移动SDK的队列中。相反可能发生:设备模式目的地SDK可能在段发送队列之前将事件发送到其服务器,因此事件可以在目的地的仪表板上显示在段调试器中。

分析 -Android中的队列持久性

Analytics-Android使用持久的磁盘队列,因此即使应用程序被杀死,事件仍然存在。在App Restart上,库从磁盘读取它们并上载事件。队列在顶部工作磁带,它被设计成甚至可以在进程和系统崩溃时幸存下来。

Analytics-Android在磁盘上保存高达1000个呼叫,而且这些呼叫永不过期。

开始关于移动连接模式

段默认为基于云的默认值连接模式(“云模式”)对于连接到移动源的任何目的地,因为这可以提供帮助减少最终应用程序包的大小。当您使用云模式时,网段将消息发送到网段服务器,然后将数据转换并转发到下游工具。这样,你就只需要在你的应用中打包部分移动库。

然而,特别处理移动交互的许多目标工具要求您使用基于设备的连接模式(“设备模式”),以便它们可以直接在移动设备上收集信息。(您可以查看目的地的完整列表和它们支持哪些连接模式。)

如果您计划使用需要设备模式的目的地,则必须打包该工具SDK的段集成版本与您的应用中的段源库一起。段集成SDK允许您仍然使用段收集数据,但也可以实现任何基于设备的功能,并且仍然可以为您节省空间。

将工具的设备模式SDK与段SDK打包后,段将数据直接发送到工具的API端点。然后段也添加了该工具到了一体化对象并将其设置为假,因此不会从段服务器第二次发送数据。

例如,如果您捆绑了段SDK和段对讲库,则会在您的有效载荷中看到它:

“集成”:{“对讲机”:假},

当您包装段和段集成SDK时,您必须使用依赖管理器(如Cocoapods或Gradle)来确保所有sdk都是兼容的,并且包含了它们的所有依赖。没有依赖项管理器,Segment不支持捆绑移动sdk。

Android测试应用程序

段为Android Mobile库维护测试应用程序。在这里找到它们。

创建Android源

在开始安装Analytics-Android库之前,请在段中创建Android源。这告诉段服务器您将从此类型的源发送数据。

去吧段应用程序,并登录要将Android数据发送到的工作空间。 点击来源,然后添加来源 从目录中选择Android源,然后单击添加来源。 为新源提供一个名称,以及可能应用的任何标签。点击添加来源保存更改。

保存源后,转到设置标签并单击API键在左侧导航中。查找并记下您的写密钥,因为您将在稍后需要它以设置您的环境。写键是段的如何知道来自您的应用程序的数据真的来自您!

第1步:安装库

安装Analytics-Android库的最简单方法是使用Pradle等构建系统。这使得升级版本和添加目的地简单。使用图书馆使用Maven中央。只需添加分析模块到你的build.gradle.文件如下面的示例行中:

依赖性{执行”com。部分。分析。安卓:分析:4。+”} 用于设备模式目的地的包装SDK

保持分析 -Android SDK轻量级,分析工件仅安装段目的地。这意味着您的所有数据都会使用段的服务器发送到您已启用的任何工具,该工具兼容云模式兼容的目的地。

如此所述,一些目的地需要或提供设备模式SDK。对于这些目的地,您必须打包目标SDK,这可能需要一些额外的步骤。

现在SDK安装并设置,您已准备就绪...

步骤2。初始化客户端

我们建议您初始化您的客户应用程序子类。你需要你的段写关键对于您的Android源。

java. kotlin. //使用给定的上下文和段写键创建分析客户端。分析分析=新的分析。建造者(上下文,your_write_key.)。TrackApplicationLifecycleEvents.()//启用此操作以自动记录某些应用程序事件!。recordScreenViews()//自动记录屏幕视图!。建造();//将初始化实例设置为全局访问实例。分析。setsingletoninstance.(分析); //使用给定的上下文和段写键创建分析客户端。瓦分析=分析。建造者(上下文,your_write_key.)。TrackApplicationLifecycleEvents.()//启用此操作以自动记录某些应用程序事件!。recordScreenViews()//自动记录屏幕视图!。建造()//将初始化实例设置为全局访问实例。分析。setsingletoninstance.(分析);

笔记:

您可以自动跟踪生命周期事件,例如申请已打开,安装应用程序,申请更新从核心事件开始。这些都是可选的,但强烈推荐。 这仅安装段目的地。这意味着您的所有数据都将服务器端发送到工具。要捆绑其他目的地客户端,您需要采取一些额外的步骤这里显示。自定义客户端(可选)

图书馆的入口点是通过分析班级。正如您在QuickStart中所看到的那样,这是您如何使用它的默认值初始化分析客户端。

java. kotlin. 分析分析=新的分析。建造者(上下文,写作)。建造(); 瓦分析=分析。建造者(上下文,写作)。建造()

的Analytics.Builder.类允许您自定义分析客户端的设置,包括刷新间隔和包装设备模式目的地等内容。有关可自定义参数的详细信息,请参阅javadocs。

我们还维护一个全局默认实例,该实例初始化为适合于大多数实现的默认值。

java. kotlin. //您还可以将您的自定义实例注册为全局单例。分析。setsingletoninstance.(分析);分析。与(上下文)。追踪(...); //您还可以将您的自定义实例注册为全局单例。分析。setsingletoninstance.(分析)分析。与(上下文)。追踪(。。。)

通常,段建议使用Builder方法,因为它提供了最灵活性。记住你可以打电话Analytics.setsingletoninstance.只要一次,因此最好将初始化代码放在自定义应用程序类中。

java. kotlin. 上市类MyApp延伸应用程序{@Override上市空白oncreate.(){分析分析=新的分析。建造者(上下文,写作)。建造();分析。setsingletoninstance.(分析);//安全地调用Analytics.with(上下文)来自您的应用程序中的任何位置!分析。与(上下文)。追踪(“应用程序开始”);}} 类MyApp:应用程序(){覆盖乐趣oncreate.(){瓦分析=分析。建造者(上下文,写作)。建造()分析。setsingletoninstance.(分析)//安全地调用Analytics.with(上下文)来自您的应用程序中的任何位置!分析。与(上下文)。追踪(“应用程序开始”)}}

初始化分析客户端后,您可以安全地调用任何线程的任何跟踪方法。这些事件以异步发送到段服务器以及任何设备模式目的地。

笔记:你应该只初始化一分析客户端的实例。这些都是昂贵的创建和丢弃,在大多数情况下,您应该坚持使用Segment的单例实现,以使使用SDK更容易。

步骤3.添加权限

确保在您的申请中声明了必要的权限androidmanifest.xml.xml.。

Android:name =“android.permission.internet”/> 数据收集——基本段API调用

段API调用包括:

识别 追踪 屏幕 团体 别名识别

很高兴知道对于本文档中描述的任何不同方法,您都可以用代表收集到的数据的变量替换代码示例中的属性和特征。

识别呼叫让您将用户绑定到他们的操作,并记录其关于它们的特征。它包括一个唯一的用户ID和您对其了解的任何可选性状。

例子识别电话:

java. kotlin. 分析。与(上下文)。识别(“用户的id”,新的特征()。putName(“John Doe”),空值); 分析。与(上下文)。识别(“用户的id”,特征()。putName(“John Doe”),空值)

下面的示例调用设置匿名自定义价值test_anonymousId。

java. kotlin. 分析。与(上下文)。识别(新的特征()。putValue(“anonymousId”,“test_anonymousid”)); 分析。与(上下文)。识别(特征()。putValue(“anonymousId”,“test_anonymousid”))

段建议您在用户首次创建帐户时拨打一次标识,并且仅在其特征变更时稍后使用识别呼叫。段记得前一个用户ID,并将新特征与旧的。

java. kotlin. //初始化时,你只知道用户名分析。与(上下文)。识别(新的特征()。putName(“迈克尔·波顿”));//用户在您的电子邮件给您的电子邮件时稍后的某个时间分析。与(上下文)。识别(新的特征()。putEmail(“mbolton@example.com”)); //初始化时,你只知道用户名分析。与(上下文)。识别(特征()。putName(“迈克尔·波顿”))//用户在您的电子邮件给您的电子邮件时稍后的某个时间分析。与(上下文)。识别(特征()。putEmail(“mbolton@example.com”))

请记住,您可以使用代表您实际收集的数据的变量替换代码样本中的属性和特征。

识别呼叫有以下字段:

用户标识字符串,可选 此用户的数据库ID。 特征特征,可选 关于用户的特征地图,例如他们的姓名,电子邮件,地址等。 选项选项,可选 额外的选项的电话。

Android库目前自动发送用户标识和匿名作为特征。此外,特征被送进了context.trait.每个消息的字段。

追踪

Track调用允许您记录用户执行的操作。每个动作都会触发我们所谓的“事件”,它也可以有关联的属性。

首先,Analytics-Android SDK可以使用段自动跟踪一些关键的常见事件原生移动规范, 如那个安装应用程序,申请更新和申请已打开。您可以在初始化期间启用此选项。

您可能还想跟踪表明移动应用程序成功的事件,如注册,商品购买或者文章书签。细分建议只有一些重要事件。你可以随时添加更多!

例子追踪电话:

java. kotlin. 分析分析=新的分析。建造者(上下文,写作)。TrackApplicationLifecycleEvents.()。建造();分析。与(上下文)。追踪(“产品浏览”,新的特性()。putValue(“名称”,“摩托360”)); 瓦分析=分析。建造者(上下文,写作)。TrackApplicationLifecycleEvents.()。建造()分析。与(上下文)。追踪(“产品浏览”,特性()。putValue(“名称”,“摩托360”))

此示例跟踪通话告诉我们您的用户刚刚触发了产品已浏览名为"摩托360 "的活动

Track call属性可以是任何你想记录的东西,例如:

java. kotlin. 分析。与(上下文)。追踪(“购买物品”,新的特性()。putValue(“sku”,“13d31”)。putRevenue(199.99)); 分析。与(上下文)。追踪(“购买物品”,特性()。putValue(“sku”,“13d31”)。putRevenue(199.99))

Track call包括以下字段:

名称要求串 跟踪操作的名称。 特性属性,可选 例如,这一动作的属性地图,例如,如果行动是购买的收入。 选项选项,可选 额外的选项的电话。 屏幕

的屏幕方法允许您在用户看到移动应用程序的屏幕时记录您的屏幕,以及正在查看的页面的可选额外信息。

每当用户在应用程序中打开屏幕时,都会录制屏幕事件。这可能是视图,片段,对话框或活动,具体取决于您的应用程序。

并非所有服务支持屏幕,因此当它不明确支持时,屏幕方法将作为具有相同参数的事件来追踪。

例子屏幕电话:

java. kotlin. //类别“Feed”和属性“Feed Length”分析。与(上下文)。屏幕(“喂养”,新的特性()。putValue(“饲料长度”,“26”));//没有类别,名称“照片effer”和属性“Feed Length”分析。与(上下文)。屏幕(空值,“照片食”,新的特性()。putValue(“饲料长度”,“26”));// category“Smartwatches”,name“Purchase Screen”,property“sku”分析。与(上下文)。屏幕(“Smartwatches”,“购买屏幕”,新的特性()。putValue(“sku”,“13d31”)); //类别“Feed”和属性“Feed Length”分析。与(上下文)。屏幕(“喂养”,特性()。putValue(“饲料长度”,“26”))//没有类别,名称“照片effer”和属性“Feed Length”分析。与(上下文)。屏幕(空值,“照片食”,特性()。putValue(“饲料长度”,“26”))// category“Smartwatches”,name“Purchase Screen”,property“sku”分析。与(上下文)。屏幕(“Smartwatches”,“购买屏幕”,特性()。putValue(“sku”,“13d31”))

的屏幕呼叫有以下字段:

类别字符串,可选* 屏幕的一个类别。如果提供名称,则可选。 名称字符串,可选* 屏幕的名称。如果提供类别,则可选。 特性属性,可选 此屏幕的属性地图。 选项选项,可选 额外的选项的电话。

在有效载荷的屏幕上找到详细信息段屏幕呼叫规范。

自动屏幕跟踪

Segment SDK可以自动检测屏幕调用,使用你在显现作为屏幕的名字。片段和视图不会自动触发屏幕调用,但是您可以为它们手动调用screen方法。

java. kotlin. 分析分析=新的分析。建造者(上下文,写作)。recordScreenViews()。建造(); 瓦分析=分析。建造者(上下文,写作)。recordScreenViews()。建造() 团体

群组呼叫让您关联识别的用户具有组的用户。一组可以是公司,组织,帐户,项目或团队新万博app2.0下载!它还让您录制关于该组的自定义特征,如行业或员工数量。

这对工具有用对讲机,罚款和Totango,因为它将用户联系在一起团体其他用户。

例子团体电话:

java. kotlin. 分析。与(上下文)。团体(“用户的id”,“一个团体ID”,新的特征()。putEmployees(20.)); 分析。与(上下文)。团体(“用户的id”,“一个团体ID”,特征()。putEmployees(20.))

的团体呼叫有以下字段:

用户标识要求串 此用户的数据库ID。 Groupdid.要求串 此组的数据库ID。 特征特征,可选 关于该组织的特征地图,例如员工,行业等人数。 选项选项,可选 额外的选项的电话。

属性中找到有关组方法(包括组调用有效负载)的更多细节分段组呼叫规范。

别名

别名是将一个身份与另一个身份联系起来的方式。这是一种高级方法,但要成功地管理用户身份,需要使用它一些段目的地,例如MixPanel或Kissmetrics。

Mixpanel年使用Alais呼叫在匿名用户注册后将其与已确认的用户关联起来。为只有如果您的用户切换ID,则可以使用“别名”重命名'userid'。

例子别名电话:

java. kotlin. 分析。与(上下文)。别名(newId);分析。与(上下文)。识别(newId); 分析。与(上下文)。别名(newId)分析。与(上下文)。识别(newId)

的别名呼叫有以下字段:

newId要求串 跟踪此用户的新ID。 选项选项,可选 额外的选项的电话。

有关的更多细节别名, 包括别名打电话给负载, 查看细分alais呼叫规范。

请注意,previousId值是通过的价值用户标识,在你做了一个识别称呼。段通过该价值作为previousId你打电话的时候别名并通过一个newId。如果你还没有打电话识别, 这previousId被设置为匿名。

语境

上下文是您可以提供关于特定API调用的额外信息的字典。您可以将任何自定义数据添加到上下文字典中,以便在原始日志中访问。语境中的一些键词典具有语义含义,自动收集您,例如关于用户设备的信息。

java. kotlin. AnalyticsContextAnalyticsContext.=分析。与(上下文)。getAnalyticsContext.();AnalyticsContext.。putValue(...)。putReferrer(...)。putCampaign(...); 瓦AnalyticsContext.=分析。与(上下文)。AnalyticsContext.AnalyticsContext.。putValue(。。。)。putReferrer(。。。)。putCampaign(。。。)

您可以阅读更多关于这些特殊字段的信息段通用规范文档。

要更改特定于设备对象的数据,您可以使用以下内容:

java. kotlin. AnalyticsContextAnalyticsContext.=分析。与(上下文)。getAnalyticsContext.();AnalyticsContext.。设备()。putValue(“advertisingId”,“1”); 瓦AnalyticsContext.=分析。与(上下文)。AnalyticsContext.AnalyticsContext.。设备()。putValue(“advertisingId”,“1”)

要选择退出自动数据收集,请在初始化客户端后清除上下文。做这个前您发送任何活动。

java. kotlin. 分析分析=新的分析。建造者(上下文,写作)。defaultoptions.(defaultoptions.)。建造();AnalyticsContext上下文=getAnalyticsContext.();上下文。清除(); 瓦分析=分析。建造者(上下文,写作)。defaultoptions.(defaultoptions.)。建造()瓦上下文=分析。AnalyticsContext.上下文。清除() 路由收集的数据

使用基本段数据收集API设置呼叫后,选择将其发送到哪些目的地以及您想要将其发送给它们的目的地。

向目的地发送数据

有两种方法可以通过此库向您的分析服务发送数据:

通过段服务器,也称为“云模式” 使用捆绑SDK直接来自用户的设备(也称为“设备模式”)

笔记:请参阅特定的目标文件,以查看您的工具是否必须在应用程序中捆绑在应用程序或发送服务器端。

云模式在Android中

当从段Web App启用目的地的Android源时,但您没有将其SDK与您的应用程序打包,请求通过段REST API,并将其路由到目标服务的API这里描述。大多数(但不是所有)目的地都提供基于云的连接模式,所以最好这样做检查您可能的目的地需要包装。

包装设备模式目的地SDK

默认情况下,细分分析工件不包装设备模式目标SDK。

我们建议使用设备模式目的地以使用的基础只要,减少应用程序的大小,并避免运行到可怕的65K方法限制。

要打包设备模式目的地,请首先添加您的项目需要的依赖项。打开源的目的地时,您可以在段应用中找到这些。

编译(”com。部分。分析。安卓。一体化:谷歌-分析:+”){传播=真的}编译(”io。分支。部分。分析。安卓。一体化:图书馆:+”){传播=真的}

添加依赖项后,将目的地注册到Analytics-android SDK。

java. kotlin. 分析分析=新的分析。建造者(上下文,写作)。用(GoogleanalyticsIntegration.。工厂)。用(分支组成。工厂)......。建造(); 瓦分析=分析。建造者(上下文,写作)。用(GoogleanalyticsIntegration.。工厂)。用(分支组成。工厂)。。。。建造() 选择目的地

你可以通过考试选项对象的任何基本段API调用,允许您打开或关闭特定的目的地。默认情况下,所有目的地都是启用的。(在Segment的其他库中,你可以在list of中这样做一体化在 - 的里面选项对象)。

在下面的例子中,第一个事件被发送到所有目的地,但是第二个事件被发送到除Mixpanel之外的所有目的地。

java. kotlin. //发送到所有目的地分析。与(上下文)。追踪(“观察项”,新的特性());//发送到除Mixpanel以外的所有目的地分析。与(上下文)。追踪(“购买物品”,新的特性(),新的选项()。setIntegration(“mixpanel”,假));//只发送到谷歌分析和计数分析。与(上下文)。追踪(“购买物品”,新的特性(),新的选项()。setIntegration(选项。all_integrations_key.,假)。setIntegration(“伯爵”,真的)。setIntegration(“谷歌分析”,真的)); //发送到所有目的地分析。与(上下文)。追踪(“观察项”,特性())//发送到除Mixpanel以外的所有目的地分析。与(上下文)。追踪(“购买物品”,特性(),选项()。setIntegration(“mixpanel”,假))//只发送到谷歌分析和计数分析。与(上下文)。追踪(“购买物品”,特性(),选项()。setIntegration(选项。all_integrations_key.,假)。setIntegration(“伯爵”,真的)。setIntegration(“谷歌分析”,真的))

如果构建您自己的客户实例,则还可以指定默认值选项对每个呼叫使用的对象。在下面的例子中,没有一个分析事件将发送到堆。

java. kotlin. //禁用堆目的地选项defaultoptions.=新的选项()。setIntegration(“堆”,假);//将选项附加到我们的客户端分析分析=新的分析。建造者(上下文,写作)。defaultoptions.(defaultoptions.)。建造();//将客户端设置为全局单例,因此可以从任何地方调用它分析。setsingletoninstance.(分析);//现在使用此分析客户端的任何呼叫都不会发送给堆分析。与(上下文)。追踪(“观察项”,新的特性()); //禁用堆目的地瓦defaultoptions.=选项()。setIntegration(“堆”,假)//将选项附加到我们的客户端瓦分析=分析。建造者(上下文,写作)。defaultoptions.(defaultoptions.)。建造()//将客户端设置为全局单例,因此可以从任何地方调用它分析。setsingletoninstance.(分析)//现在使用此分析客户端的任何呼叫都不会发送给堆分析。与(上下文)。追踪(“观察项”,特性())

请注意,第一个示例使用枚举禁用目的地,但第二个示例使用字符串。段建议您使用枚举方法进行设备模式目标,并使用字符串方法更改云模式目的地的行为。枚举方法可确保型安全性,并防止您意外禁用“Googleanalytics”而不是“Google Analytics”,而字符串方法在您传递给云模式目的地的哪些选项中为您提供更多灵活性。

目的地名称标志是区分大小写和匹配目的地的名称在文档中In some cases where a destination’s name has more than one spelling (for example if it changed names, or brand capitalization styles, or if it was commonly misspelled and we added an alias) the documentation for that destination will include a section called “Adding (destination name) to the integrations object”.

笔记:如果您处于业务层分段计划中,您可以在源模式页面中的分段应用程序中直接过滤跟踪调用。这是管理筛选器的一种简单得多的方法,您可以更新它,而不必进行和发布代码更改。

实用方法检索Anonymousid.

你可以检索匿名使用库设置:

java. kotlin. 分析。与(上下文)。getAnalyticsContext.()。特征()。匿名(); 分析。与(上下文)。AnalyticsContext.()。特征()。匿名() 重启

的重启方法为当前用户和组清除SDK的内部存储。这对于用户在同一台设备上以不同身份登录和退出的应用程序很有用。

下面的示例代码清除有关用户的所有信息。

java. kotlin. 分析。与(上下文)。重启(); 分析。与(上下文)。重启()

重置不会清除队列中的事件此外,下次应用程序开始时,队列中的任何剩余事件都会发送。你可能想打电话fl在你调用重置之前。

请注意:当你来电时重启,下次App Opens段生成一个新的AnonymousID。这可能会影响您处理的每月跟踪用户(MTU)的数量。

收集统计数据

本地设备统计数据可以帮助你快速查看发送到分段的事件数量,绑定目的地运行的平均时间,以及类似的指标。

java. kotlin. statssnapshot.快照=分析。与(上下文)。getsnapshot.();日志(快照。integrationOperationAverageDuration);日志(快照。flushCount); 瓦快照=分析。与(上下文)。快照()日志(快照。integrationOperationAverageDuration)日志(快照。flushCount) 添加调试日志记录

如果在使用Android库时遇到问题,可以启用日志记录来帮助跟踪问题。日志记录还可以帮助您了解目的地完成调用所需的时间,从而发现性能瓶颈。

如果您的应用程序运行,则默认情况下,默认情况下会启用日志记录调试模式。如果使用自定义实例,请附加一个LogLevel到了建造者并将记录级别设置在那里,如下图所示。

java. kotlin. 分析分析=新的分析。建造者(上下文,写作)。logLevel(LogLevel。verb)......建造(); 瓦分析=分析。建造者(上下文,写作)。logLevel(LogLevel。verb)。。。建造()

您可以选择完全禁用日志记录(LogLevel。没有一个),为SDK启用基本的日志记录(loglevel.basic.),为设备模式目标启用基本日志记录(loglevel.info.)或简单地记录一切(loglevel.verbose.)。

细分建议您关闭注销生产您的应用模式。

隐私方法选择退出

根据您的应用程序(例如,儿童)或您销售您的应用程序的国家(例如,欧盟)的国家,您可能需要提供用户在应用程序内选择退出分析数据收集的能力。您可以关闭所有目​​的地,包括细分本身:

java. kotlin. 分析。与(这)。撤出(真的); 分析。与(这)。撤出(真的)

设置当前设备和分析客户端组合的退出状态。此标志跨设备重新启动持续,因此您可以在应用程序中调用一次,例如在用户可以选择退出分析跟踪的屏幕中。

匿名IP.

段IOS,Android,Analytics.js和Xamarin库会自动导出并设置在用户设备上记录的事件的IP地址。在设备本身上不会收集IP,但是在接收消息时由段的服务器填写。

为了防止段在destinations和S3中记录用户的IP,您可以设置事件的IPcontext.ip.领域0.0.0.0.。如果它来自客户端,则段服务器不会覆盖此数据,因此不要记录客户端的IP地址。

格式化订单已完成活动

段的Android库提供了几种帮助程序方法,因此您可以轻松构建属性对象和产品列表,因此您的订单已完成事件符合该段电子商务规范。这是一个代码示例:

java. kotlin. 进口com.segment.Analytics.Analytics.;进口com.segment.Analytics.properties.;进口com.segment.analytics.Properties.Product;//初始化一个新的属性对象特性特性=新的特性();//将orderId和revenue添加到properties对象特性。putValue(“orderId”,字符串orderId)。putValue(“收入”,双倍的收入);//初始化一个新产品产品product1=新的产品(字符串id,字符串sku,双倍的价格);//初始化第二个产品产品product2=新的产品(字符串id,字符串sku,双倍的价格);//添加产品到属性对象特性。putProducts(product1,product2);//将properties对象传递到订单完成事件中分析。与(上下文)。追踪(“订单完成”,特性); 进口com.segment.Analytics.Analytics.进口com.segment.Analytics.properties.进口com.segment.analytics.Properties.Product//初始化一个新的属性对象瓦特性=特性();//将orderId和revenue添加到properties对象特性。putValue(“orderId”,orderId)。putValue(“收入”,收入)//初始化一个新产品产品product1=产品(id,sku,价格)//初始化第二个产品产品product2=产品(id,sku,价格)//添加产品到属性对象特性。putProducts(product1,product2)//将properties对象传递到订单完成事件中分析。与(上下文)。追踪(“订单完成”,特性)

查找详情事件命名的最佳实践以及跟踪方法有效载荷在里面段跟踪呼叫规范。

代理HTTP呼叫

您可以将Android SDK指向您自己的主机代理分段API。这通过代理运行了段API的HTTP流量。

java. kotlin. 分析分析=新的分析。建造者(这,Analytics_Write_Key.)//。ConnectionFactory.(新的ConnectionFactory.(){@Override受保护的httpurlconnection.openConnection(字符串URL.)抛出IoException.{字符串路径=Uri.。解析(URL.)。getpath.();//将YOUR_PROXY_HOST替换为代理的地址,例如:https://aba64da6.ngrok.io。返回极好的。openConnection(“YOUR_PROXY_HOST”+路径);}})。建造(); 瓦分析=分析。建造者(这,Analytics_Write_Key.)//。ConnectionFactory.(对象:ConnectionFactory.(){@Throws(IoException.::类)覆盖乐趣openConnection(URL.:字符串):httpurlconnection.{瓦路径=Uri.。解析(URL.)。路径//将YOUR_PROXY_HOST替换为代理的地址,例如:https://aba64da6.ngrok.io。返回极好的。openConnection(“美元YOUR_PROXY_HOST路径”)}})。建造() Analytics-Android版本

本节包含有关的信息:

出血边缘释放 支持旧版本的Android 从v2迁移到v3 迁移到v4出血边缘释放

当我们标记和释放时,段在周三发布每秒稳定的发布掌握分支。

在释放之后,我们也合并dev分支合并到掌握。通常,代码将可用掌握在标记为稳定的释放之前两周。在这段时期,掌握已发布为快照 - 相当于出血边缘版本。我们建议使用Snapshot版本尝试即将出版的即将发布的功能和修复。只需将快照寄存器添加到存储库,Gradle将拉入最新的快照构建。

存储库{Mavencentral.()Maven.{URL.”https://oss.sonatype.org/content/repositories/snapshots/'}} 支持旧版本的Android

Analytics-android库支持API级别14(Android 4.0)。你应该考虑一下!!如果您无法为自己的应用程序执行此操作,我们建议使用三种选项:

使用旧版本的Analytics-android库,支持您的最低要求。请记住,这些版本不会有任何更新或错误修复,但您可能仍然可以使用生产中使用旧版本的旧版本的客户端。 通过将调用拨打到Analytics-android SDK的呼叫,跳过旧设备上的用户运行Analytics构建查看。 写下自己的SDK。您仍然可以使用段中的大多数工具使用HTTP API。您可以使用Analytics-android或Java源码得到一个快速的始终。从v2迁移到v3

版本3弃用支持版本4

看看部分,以获取有关如何升级的说明。

如果您已经使用了Android SDK的版本2,则必须在第3版中启动和运行即可缩小更改。

在版本3中,我们组织了目的地,使核心SDK甚至更瘦。这就是旧的设置看起来像:

编译(”com。部分。分析。安卓:分析-核:+”){传播=真的}//根据需要添加其他依赖项编译”com。谷歌。安卓。gms:玩-服务:+”编译”com。mixpanel.。安卓:mixpanel.-安卓:+@aar”编译文件(”libs./Quantcastandroidsdk.。罐”)

在新版本中,而不是直接添加目的地,只需将段目的地模块添加为依赖关系。这也可以确保您使用的设备模式目标的版本匹配我们依赖的那个目标。

编译(”com。部分。分析。安卓:分析-核:+”){传播=真的}//根据需要添加其他依赖项编译(”com。部分。分析。安卓:分析-集成-谷歌-分析:+”){传播=真的}编译(”com。部分。分析。安卓:分析-集成-mixpanel:+”){传播=真的}编译(”com。部分。分析。安卓:分析-集成-Quantcast:+”){传播=真的}

早些时候,您可以使用布尔标志控制调试行为。在第3版中,这被更强大的更强大LogLevelEnum,它不仅可以控制分析器-Android SDK的日志记录行为,还可以控制设备模式目的地。

SDK的版本2还通过在XML中提供资源值来允许您自定义SDK的行为。版本3从XML中忽略这些自定义选项,以简化行为并提高性能。自定义分析客户端的推荐方式是使用建造者方法代替。

迁移到v4

笔记:如果您使用的是Android SDK的版本2,则必须更改更改以启动和运行版本3.。

在第3版中,添加设备模式目的地如下所示:

编译(”com。部分。分析。安卓:分析-核:+”){传播=真的}//根据需要添加其他依赖项编译(”com。部分。分析。安卓:分析-集成-谷歌-分析:+”){传播=真的}编译(”com。部分。分析。安卓:分析-集成-mixpanel:+”){传播=真的}编译(”com。部分。分析。安卓:分析-集成-Quantcast:+”){传播=真的}

或者,如果您想要使用所有设备模式的目标:

编译(”com。部分。分析。安卓:分析:+”){传播=真的}

在版本4中,analytics-core神器不再可用。它已被重命名为分析(它以前打包了所有设备模式目的地)。版本4的分析仅包括段目的地。要打包设备模式目的地的方法,您必须手动添加该依赖项。

编译”com。部分。分析。安卓:分析:+”编译(”com。部分。分析。安卓。一体化:谷歌-分析:1.0。0”){传播=真的}编译(”io。分支。部分。分析。安卓。一体化:图书馆:1.0。0-释放”){传播=真的}

除了添加依赖之外,还必须将Analytics-Android SDK指向目标。

java. kotlin. 分析分析=新的分析。建造者(上下文,写作)。用(GoogleanalyticsIntegration.。工厂)。用(分支组成。工厂)......。建造(); 瓦分析=分析。建造者(上下文,写作)。用(GoogleanalyticsIntegration.。工厂)。用(分支组成。工厂)。。。。建造()

此页面上次修改:2021年3月5日

需要支持?

问题吗?的问题?需要更多的信息吗?联系我们,我们可以帮助你!

访问我们的支持页面 此页面是否有帮助?

感谢您的反馈意见!

我们可以改进这个文档吗?寄给我们的反馈!

开始使用细分 段是将网站和移动应用程序数据集成到超过300个分析和增长工具的最简单方法。 或者 创建免费帐户
免责声明:非本网注明原创的信息,皆为程序自动获取自互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如此页面有侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件24小时内删除。