iOS -Objective -C-高级

入门

请参考我们的快速入门指南

发送事件

我们建议在您的应用程序中仅跟踪五到七个事件,而不是跟踪太多的事情要开始。理想情况下,您会跟踪用户浏览您的初始用户体验和一个对应用程序重要的关键指标(例如,视频流服务可能会选择“观看视频”作为关键指标)。

初始化库后,您可以通过致电跟踪事件轨道:属性:带有事件名称和属性。

mixpanel *mixpanel = [mixpanel sharedInstance];[mixpanel曲目: @“计划选定”属性: @{ @{ @plan“: @” premium“}];

正时事件

您可以跟踪采取行动所花费的时间,例如图像上传或评论帖子,使用TimeEvent:。这将标记您的动作的“开始”,然后您可以通过轨道通话完成。然后将持续时间记录在“持续时间”属性中。

mixpanel *mixpanel = [mixpanel sharedInstance];[MixPanel TimeEvent:@“ Image Upload”];[self uploadimagewithsuccesshandler:^{[mixpanel track:@“ image upload”];}];

超级特性

您要在发送的每个事件中都包含某些属性是很常见的。通常,这些是您对用户而不是特定事件的了解,例如用户的年龄,性别或来源。

为了使事情变得更容易,您可以将这些属性注册为超级属性。如果您这样做,我们将自动将它们与所有跟踪事件一起包含。超级属性将保存到设备存储中,并将在您的应用程序的调用中持续存在。MixPanel默认情况下已经将一些信息作为超级属性存储;查看MixPanel默认属性的完整列表这里

要设置超级属性,请致电登记处Properties:

//发送“计划:巨型”属性将发送//随附所有未来的轨道通话。[mixpanel registersuperproperties:@{@plan“:@“ mega”}];

展望未来,每当您跟踪事件时,超级属性都将作为属性包括在内。例如,如果您致电:

[MixPanel曲目: @“ Inbip”属性: @{ @{ @“ source”: @“ Twitter”}];

在上述电话后登记处Properties:,就像直接添加属性一样:

[MixPanel曲目: @“ Inbip”属性: @{ @{ @source“: @” Twitter“, @plan”: @“ mega”}];

仅设置超级属性一次

如果您只想存储超级属性一次(通常用于广告系列或来源之类的内容),则可以使用registersuperpropertiesonce:。此功能像登记处Properties:并且具有相同的接口,但并没有覆盖您已经保存的超级属性。

[mixpanel registersuperpropertiesonce:@{@source“:@“ ad-01”}];

这意味着可以安全打电话registersuperpropertiesonce:每个应用程序负载都具有相同的属性,并且只有在不存在的超级属性时才将其设置。

超级属性生活在本地存储中

我们的移动库将您的超级属性存储在本地存储中。只要安装应用程序(在启动和更新之间),它们就会持续存在。卸载该应用程序将删除客户超级属性。

管理用户身份

您可以使用确认别名方法。正确使用这些方法可以将事件跨设备,浏览器和其他平台移动时,将事件连接到正确的用户。

确认

标识具有独特ID的用户,可以跟踪跨设备的用户活动,将用户绑在其事件中,然后创建用户配置文件。如果您从不调用此方法,则使用第一次使用该应用程序的UUID来跟踪唯一访问者。

争论 类型 描述
区别 细绳
必需的
唯一标识用户的字符串 - 我们建议用户ID。如果未提供,则使用局部存储中的明显区域。

称呼确认当您知道当前用户的身份时,通常是在登录或注册之后。我们建议不要使用确认对于您网站的匿名访问者。

//确保从//发送的所有未来事件将具有独特的13793 [mixpanel标识:@“ 13793”];

ID合并

如果一个项目有ID合并启用,识别方法在适当的情况下将连接前后的验证事件。

如果项目未启用ID合并,则标识将将用户的本地独立_ID更改为您通过的唯一ID。在身份验证之前跟踪的事件将不会连接到相同的用户身份。如果禁用ID合并,则可以使用别名来连接预注册事件。

别名

别名方法会创建一个别名,将Mixpanel用来将一个ID重新映射到另一个ID。多个别名可以指向相同的标识符。

ID合并

如果一个项目有ID合并已启用,只需在您知道用户将合并匿名并确定不同的dinters_ids时,请立即与您选择的标识符识别识别。不再需要调用别名。

争论 类型 描述
别名 细绳
必需的
您想将其用作该用户的标识符的唯一标识符。
区别 细绳
必需的
当前的用户标识符。

以下是有效使用别名

[mixpanel createalias:@“ new ID” fordistincind:mixpanel.distinctid];[mixpanel createalias:@“ newer id” fordistincind:mixpanel.distinctid];

别名也可以链接 - 以下是一个有效的示例:

[mixpanel createalias:@“ new_id” fordistincind:@“ caster_id”];//您可以链接别名[mixpanel createalias:@“ newer_id” fordistinctid:@“ new_id”];

别名不能指向多个标识符 - 以下示例将无效:

[mixpanel createalias:@“ new_id” fordistincind:@“ caster_id”];//这是无效的,因为'new_id'已经指向'astarpanel createalias:@“ new_id” fordistincind:@“ newer_id”];

❗️

ID合并

如果一个项目没有ID合并启用,最好的做法是致电别名一次,首先为用户创建唯一的ID(例如,当用户首先注册帐户时)。不使用别名对于没有ID合并的单个用户多次启用。

在注销时致电重置

如果经常使用,重置可以填充身份群集

仅当多个用户共享设备时,才应使用重置。

经常调用重置可能会导致用户迅速超过每个身份群集限制的500个不同的_id。一旦达到500限制,您将不再能够向用户身份群集添加其他不同的_ID。

RESET生成新的随机不同_id并清除超级属性。调用重置以清除该用户注销时归因于用户的数据。这使您可以在单个设备上处理多个用户。有关维护用户身份的更多信息,请参见身份管理:最佳实践文章。

从版本v3.6.2开始,MixPanel不再使用IFA(广告客户的ID),而是使用随机生成的UUID作为默认不同的ID。调用重置后,MixPanel会生成一个新的Dinters_ID。

如果要使用ifv(dissinifierforvendor)作为独特的_id,则可以设置
mixpanel_unique_distinct_id = 1在构建设置中预处理器宏在Mixpanel框架目标上。调用重置后,IFV将不会更改。但是,当用户删除然后重新安装应用程序时,IFV将随着每个安装而更改。

存储用户配置文件

除事件外,您还可以将用户配置文件存储在Mixpanel中。配置文件是描述用户的持续属性集,例如名称,电子邮件地址和注册日期。

您可以使用个人资料来探索和细分用户,而不是他们所做的。您还可以使用个人资料发送消息,例如电子邮件,SMS或推送通知。

笔记

在发送个人资料更新之前,您必须致电确认:。这样可以确保您仅保存在系统中的实际注册用户。

设置配置文件属性

您可以在用户配置文件上设置属性people.set:

对用户配置文件的更新在设备上排队直到确认叫做。

//将用户13793的“计划”属性设置为“ premium” [mixpanel.people set:@{@{@plan“:@” premium“ premium”}];

这将在用户13793的配置文件上设置具有“ PROUP”的“计划”属性。如果已经在Mixpanel中没有具有独特的_id 13793的配置文件,将创建一个新的配置文件。如果用户13793已经在其个人资料中具有名为“计划”的属性,则旧值将被“ Premium”覆盖。

笔记

明智地选择您的财产名称。可以随意使用大写字母和单词之间的空间。
有一些局限性:

  1. 您的财产名称不应开始$或者MP_。这些属性保留给Mixpanel发送的特殊属性。
  2. 您的属性名称不能以空间的形式开始或结束,因为它们会自动修剪。
  3. 您的属性名称和值不能超过255个字符。实际上,它们应该比这短得多。属性名称被我们的用户界面以约20个字符的形式切断。

点击这里要查看Mixpanel保留的用户配置文件属性列表。

增加数字属性

您可以使用人们增加:更改数字属性的当前值。当您想保持诸如玩游戏,发送消息或获得的点之类的内容时,这很有用。

//在这里,我们将用户的点计数增加500。[mixpanel.people增量:@“点计数” by:@500];//将nsdictionary传递以增加多个属性[mixpanel.people递增: @{ @offer ofder ofder offore offore: @17, @credits剩余“: @-34}];

其他类型的个人资料更新

还有一些其他类型的配置文件更新。要了解更多信息,请查看完整MixPanelPeople API文档

跟踪收入

Mixpanel使分析您从个人客户那里赚取的收入变得容易。通过将费用与用户配置文件相关联,您可以比较不同客户群的收入,并计算诸如终身价值之类的内容。

您可以跟踪一次交易人们跟踪:。此呼叫将为单个用户配置文件增加交易,这也将反映在Mixpanel收入报告中。

//跟踪用户收入$ 100.77 13793 [mixpanel.people Trackcharge:@(100.77)];//退还此用户$ 50 [MIXPANEL.PEOPLE TRACKCHARGE:@-50];//在// 1月2日的用户13793的收入$ 25 [mixpanel.people trackcharge:@25 with with properties:@{@{@“ $ time”:“ 2016-01-01-02T00:00:00:00:00:00:00”}];

小组分析

添加组键

要开始跟踪组数据,在项目设置中添加组键。如果您在项目设置中没有看到组键,请与Mixpanel销售团队购买小组分析。

Mixpanel组分析允许选定组而不是单个用户进行行为数据分析。

通过标识符进行分组独特的_id使用MixPanel Analytics时,将允许在公司或小组级别进行分析。读本文了解有关小组分析的更多信息。

一个小组由group_keygroup_id

  • group_key是将事件数据连接用于组分析的属性。
  • group_id是特定组的标识符。

如果选择“公司”进行小组分析,则“公司”是group_key,以及“ Mixpanel”,“ A Company A”和“ 13254”都是潜在的group_id值。

用户可以属于多个组。对组的所有更新都在group_keygroup_id

创建组密钥

通过您的项目设置管理组钥匙。组键是事件属性。所有事件都需要在其上具有定义的组键,以归因于组。组密钥是特定于项目的,并且在发送组数据之前应设置组密钥。请注意,Mixpanel在实施组密钥之前不会回填历史数据。

要管理组钥匙,请导航到您的项目设置。点击+添加组密钥在下面组钥匙部分。

1846年1846年

输入事件属性以将组键归因于。您还可以输入组键的显示名称。点击

创建组配置文件

可以创建类似于用户配置文件的组配置文件。你必须打电话getGroup()。set()构建组配置文件。重要的是group_key,,,,group_id和一个属性,使配置文件不是空的。

[[self.mixpanel getGroup:@“ company”,groupID:@“ mixpanel”] set:@{@@@@@@@@“ yo”}];

设置组配置文件属性

您可以通过向组添加属性来添加详细信息。

为了更新组配置文件属性,您必须指定需要通过调用需要更新的组getGroup():groupid()

getGroup():groupid()方法可以用其他编辑特定属性的命令链接。

您可以设置属性$名称要填充组配置文件顶部的名称字段。

这些操作类似于用户配置文件属性更新的相应操作。

mixpanel.getGroup()。set()更新或将属性添加到组中。

[[self.mixpanel getGroup:@“ company”,groupID:@“ mixpanel”] set:@{@@@@@@@@“ yo”}];

设置一次

mixpanel.getGroup()。setOnce()仅在没有设置的情况下将属性值添加到组中。

[[self.mixpanel getGroup:@“ company”,groupID:@“ mixpanel”] setOnce:@{@{@offer

不设置

mixpanel.getGroup()。unset()在小组中安排特定属性。

[[self.mixpanel getGroup:@“ company”,groupID:@“ mixpanel”] unset:@“ c”];

消除

mixpanel.getGroup()。remove()在列表属性中删除特定值。

[[self.mixpanel getGroup:@“ company”,groupID:@“ mixpanel”]删除:@“ c”值:@5];

联盟

mixpanel.getGroup()。union()将指定值添加到列表属性中,并确保这些值仅出现一次。

[[self.mixpanel getGroup:@“ company”,groupID:@“ mixpanel”]联合:@“ c”值:@[@5,@4]];

删除

mixpanel.getGroup()。deleteGroup()删除一个小组。

[[self.mixpanel getGroup:@“ company”,groupID:@“ mixpanel”]删除];

选择用户退出跟踪

可以通过控制用户的选择退出/选择输入状态来停止或恢复各个用户数据的客户端跟踪。退出方法和库配置设置仅影响从单个库实例发送的数据。从其他来源发送到Mixpanel API的数据仍然会被摄入,而不管用户是否在本地选择退出。

用户的退出/选择状态由存储在用户设备的本地存储中的选择输出标志控制。如果标志的值为真,则将选择用户选择,并且不会跟踪。如果选择输出标志为false,则跟踪用户。初始化SDK时未设置标志,因此既未选择也没有选择初始状态。如果没有标志集,则默认情况下将跟踪用户。

要选择当地的用户,请使用optouttracking方法。要恢复个人用户的跟踪,请使用OptIntracking。称呼hasOptedOutTracking在本地检查用户的退出状态。默认情况下,每次用户选择进入时,都会发送“ $ opt_in”事件。

//从数据收集MixPanel *mixPanel = [mixpanel sharedInstance]中选择一个用户;[MixPanel optOutTracking];//检查用户的选择输出状态//如果用户被选为未跟踪本地bool hasOptedTracking = [mixpanel hasOptedOutTracking];

默认情况下选择用户退出跟踪

MixPanel的跟踪库将默认情况下发送用户数据。显式初始化默认的退出状态是,默认情况下将退出所有用户,除非将用户的选择退出状态设置为否,否则可以防止数据发送。

//初始化是//的默认选择输出状态将防止默认情况下收集数据 *mixPanel = [mixpanel sharedInstanceWithToken:@“ your_api_token” trackaautomaticevents:yes optoutTrackingbybydefault:yes optouttrackingbydefault:yes yes];

删除现有数据

选择用户退出跟踪将停止任何未来的跟踪。这不会自动删除已经收集的数据。Mixpanel's删除API可用于删除现有数据。

自动跟踪事件

将库安装到您的iOS应用程序中后,Mixpanel将自动收集常见的移动活动。您可以在Mixpanel设置菜单中启用/禁用自动收集。此外,MixPanel允许您使用我们的浏览器编辑器即时添加跟踪。

通过单击Mixpanel项目的上右上角的装备来导航到我们的编辑器并选择无编码跟踪从下拉列表。

调试和伐木

您可以通过设置MixPanel记录启用磁盘旗帜

[mixpanel sharedInstance] .enableLogging = yes;

另外,您可以在构建设置中添加以下预处理器宏:

  • mixpanel_debug = 1- 将事件的排队和冲洗到Mixpanel
  • mixpanel_error = 1- 记录与连接或畸形事件有关的任何错误

如果您使用的是Cocoapods,则需要将其添加到POD目标中,而不是主要应用程序项目的目标:

12471247

您还可以将其添加到您的Podfile中,以确保团队中的每个人都将始终启用日志记录:

post_install do |安装程序|installer.pods_project.targets.each do | target |target.build_configurations.each do | config |settings = config.build_settings ['gcc_preprocessor_definitions'] settings = ['$(sarented)']如果settings.nil?如果target.name =='pods-myproject-mixpanel'设置<<'mixpanel_debug = 1'设置<<'mixpanel_error = 1'end end config.build_settings ['gcc_preprocessor_definitions']

关于弧

从2.2.0版开始,Mixpanel IOS库使用弧。

如果您在未启用ARC的项目中使用MixPanel,则需要仅在Xcode Project设置中的MixPanel源文件启用ARC。这是通过添加-fobj-arc每个Mixpanel文件的编译器标志建立阶段 - >编译资源

欧盟数据居住

将数据路由到Mixpanel的欧盟服务器,通过设置ServerUrl初始化客户端后的属性。

self.mixpanel = [mixpanel sharedInstanceWithToken:@“ mixpanel_token” lainingoptions:lainingoptions];self.mixpanel.serverurl = @“ https://api-eu.www.jy710.com”;

发布历史

查看所有版本