测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | 自定义 |
发布上次发布 | 2015年12月 |
由Michael Kamprath维护。
感谢您下载 Quantcast iOS SDK!此实现指南提供了集成 SDK 的步骤,以便您可以利用有价值的行动见解。
如果您有任何实现问题,请通过电子邮件[email protected]与我们联系。我们在这里帮助您。
要将 Quantcast 的 SDK 集成到您的 iOS 应用程序中,您必须使用 Xcode 4.5 或更高版本。请在开始所需代码集成之前确保您使用的是 Xcode 的最新版本。Quantcast SDK 完全支持为 iOS 5 和更高版本构建的应用程序。经过一些修改后,Quantcast iOS SDK 也可以支持 iOS 4.3 和更高版本。
首先,克隆 Quantcast iOS SDK 的 git 仓库并初始化其所有子模块。在您的 Mac 上打开 Terminal 应用程序并执行以下命令
git clone https://github.com/quantcast/ios-measurement.git ./quantcast-ios-sdk
cd ./quantcast-ios-sdk/
git submodule update --init
一旦下载了 Quantcast iOS SDK 的代码,请执行以下步骤
CoreGraphics
CoreTelephony
Foundation
SystemConfiguration
UIKit
AdSupport
libsqlite3
libz
如果您打算支持 iOS 4.3 和更高版本,您必须执行以下步骤
将以下预处理器宏定义添加到您的项目的预编译头文件(即以 '.pch' 结尾的文件)中
#define QCMEASUREMENT_ENABLE_JSONKIT 1
整合Quantcast SDK有两种方式。第一种是一键式集成,只需一行代码即可完成Quantcast SDK的整合。大多数整合应使用此方法。但是,如果您需要更多地控制Quantcast SDK如何记录应用程序的暂停和恢复事件,则应使用详细SDK集成,这可以通过四行代码实现。如果您需要传递在应用程序暂停或恢复时的更新或不同的标签,则应使用详细SDK集成。
一键式集成可用于Quantcast SDK的简单实现。使用常数或无事件标签的项目将受益最大。此方法会自动为您设置暂停/恢复/结束方法,因此这将是在完成最小集成时需要进行的唯一调用。如果使用此集成方法,您仍然可以自由使用可选功能,如跟踪应用程序事件。
使用一键式集成进行整合
QuantcastMeasurement.h
导入到您的UIApplication
委托类中在您的UIApplication
委托的application:didFinishLaunchingWithOptions:
方法中,放置以下内容:
[[QuantcastMeasurement sharedInstance] setupMeasurementSessionWithAPIKey:@"<*Insert your API Key Here*>" userIdentifier:userIdentifierStrOrNil labels:nil];
将 "<*在此处插入您的API密钥*>" 替换为您的Quantcast API密钥,该密钥可以在您的Quantcast网站主页上生成。API密钥是用作Quantcast Measure的基本报告实体的。相同的API密钥可以跨多个应用程序(例如AppName Free / AppName Paid)和/或应用程序平台(例如iOS / Android)使用。对于每个独特API密钥下的所有应用程序,Quantcast将报告它们之间的综合受众,并识别/报告单个应用程序版本。
参数userIdentifier
是一个字符串,用于唯一标识个人用户,例如账户登录。这与唯一的设备标识符不同。传递此信息允许Quantcast提供关于您在整个属性中的综合受众的报告:在线、移动网页和移动应用程序。如果您的应用程序在启动时没有可用的用户标识符,则此参数可能为nil。如果调用setupMeasurementSessionWithAPIKey:userIdentifier:labels:
时不知道用户标识符,则可以在稍后记录用户标识符。请参阅综合Web/App受众部分获取更多信息。
参数labels
可能为nil,并在可选代码集成下的事件标签部分进行了更详细的讨论。
使用setupMeasurementSessionWithAPIKey:userIdentifier:labels:
调用时,不需要在代码中添加beginMeasurementSessionWithAPIKey:userIdentifier:labels:
、pauseSessionWithLabels:
或resumeSessionWithLabels:
调用。您可以选择在任何时候调用endMeasurementSessionWithLabels:
以显式结束测量会话,但这不是必需的。
对于那些希望对受众细分和标签有更多控制的应用程序,Quantcast iOS SDK需要四个代码集成点。如果您使用的是详细SDK集成方法,则不应调用setupMeasurementSessionWithAPIKey:userIdentifier:labels:
。四个集成点是一组必备调用,用于指示iOS应用程序何时启动、暂停(放入后台)、恢复和退出。
要实现必需的SDK调用集合,请执行以下步骤
QuantcastMeasurement.h
导入到您的UIApplication
委托类中在您的UIApplication
委托的application:didFinishLaunchingWithOptions:
方法中,放置以下内容:
[[QuantcastMeasurement sharedInstance] beginMeasurementSessionWithAPIKey:@"<*Insert your API Key Here*>" userIdentifier:userIdentifierStrOrNil labels:nil];
将 "<*在此处插入您的API密钥*>" 替换为您的Quantcast API密钥,该密钥可以在您的Quantcast网站主页上生成。API密钥是用作Quantcast Measure的基本报告实体的。相同的API密钥可以跨多个应用程序(例如AppName Free / AppName Paid)和/或应用程序平台(例如iOS / Android)使用。对于每个独特API密钥下的所有应用程序,Quantcast将报告它们之间的综合受众,并识别/报告单个应用程序版本。
userIdentifier:
参数是一个字符串,用于唯一标识个人用户,例如账户登录名。这与唯一设备标识符不同。通过传递此信息,Quantcast 可以提供您所有属性(包括在线、移动网页和移动应用)的合并受众报告。如果您的应用在应用启动时没有可用用户标识符,则此参数可能为nil。如果在调用 application:didFinishLaunchingWithOptions:
方法时用户标识符未知,可以在稍后记录用户标识符。请参阅 合并 Web/App 受众 部分获取更多信息。
标签参数可能为nil,并且将在 事件标签 部分的可选代码集成中进行详细讨论。
在你的 UIApplication
委托的 applicationWillTerminate:
方法中,放置以下内容
[[QuantcastMeasurement sharedInstance] endMeasurementSessionWithLabels:nil];
在你的 UIApplication
委托的 applicationDidEnterBackground:
方法中,放置以下内容
[[QuantcastMeasurement sharedInstance] pauseSessionWithLabels:nil];
在你的 UIApplication
委托的 applicationWillEnterForeground:
方法中,放置以下内容
[[QuantcastMeasurement sharedInstance] resumeSessionWithLabels:nil];
Quantcast 相信应该告知用户他们的数据是如何使用的。我们建议你在隐私策略中披露你使用 Quantcast 来了解你的受众。你可以在此处链接到 Quantcast 的隐私政策 此处。
你可以通过提供访问 Quantcast Measure 选择退出的对话框来让用户选择退出 Quantcast Measure。这应该在应用选项视图中使用一个按钮或表格视图单元(如果您的选项基于分组表格视图)完成,标题为“测量选项”或“隐私”。当用户点击你提供的按钮时,使用以下方法调用 Quantcast 的退出对话框
[[QuantcastMeasurement sharedInstance] displayUserPrivacyDialogOver:currentViewController withDelegate:nil];
currentViewController
参数是当前视图控制器。SDK 需要知道这一点,因为 iOS SDK 以这种方式呈现模态对话框(请参阅 Apple's documentation for presentViewController:animated:completion:
)。委托是一个可选参数,并在 QuantcastOptOutDelegate
协议头文件中进行说明。
注意:当用户选择退出 Quantcast Measure 时,SDK 将立即停止向或从用户的设备传输信息,并删除所有可能保留的缓存信息。此外,当用户在任何单个应用上选择退出时,该操作将影响下次设备上启动的与 Quantcast Measure 整合的所有其他应用。
Quantcast Measure 可以用来测量参与您应用中特定活动的受众。要记录应用事件或活动的发生,请调用以下方法
[[QuantcastMeasurement sharedInstance] logEvent:theEventStr withLabels:nil];
theEventStr
是与您记录的事件关联的字符串。可以通过使用点作为分隔符的从左到右的表示法来表示层次信息。例如,记录一个名为 "button.left" 的活动和另一个名为 "button.right" 的活动将在 Quantcast Measure 中创建三个可报告条目:"button.left"、"button.right" 和 "button"。此分层方案可以创建的基数没有限制,尽管低频事件可能由于缺乏具有统计意义的群体而没有受众报告。
Quantcast SDK 的大多数公共方法都提供一个选项,可以提供一个或多个标签,或者如果你不希望有标签,可以提供 nil
。标签是任何与事件相关联的任意字符串。标签将在 Quantcast Measure 受众报告中创建第二个维度。通常,这个维度是“用户类别”指示器。例如,你可以在你的应用程序中使用两个标签之一:一个用于尚未购买应用升级的用户,另一个用于已购买升级的用户。
大多数 Quantcast SDK 方法的 labels:
参数被指定为 id
指针类型。然而,它只接受一个代表单个标签的 NSString
对象,或者一个包含一个或多个代表要应用事件的标签集合的 NSArray
对象。
标签也可以通过 appLabels 属性设置。这些标签可以在任何时间更改,并且将自动与任何调用标签时传入的标签组合。这对于那些经常在各个地方传递相同标签的应用程序来说,可能会很方便。
虽然对标签维度的预期用途没有具体限制,但建议不要使用它来表示离散的事件;在这种情况下,请使用在跟踪应用程序事件下描述的 logEvent:withLabels:
方法。
要启用地理位置测量,请按照以下步骤操作:
CoreLocation
框架Optional
文件夹中的 QuantcastGeoManager.m
编译单元添加到你的项目中。将以下行添加到你的项目预编译头文件中
#define QCMEASUREMENT_ENABLE_GEOMEASUREMENT 1
在调用任何形式的 beginMeasurementSession:
方法后,将以下调用插入到你的 UIApplication
代理的 application:didFinishLaunchingWithOptions:
方法中
[QuantcastMeasurement sharedInstance].geoLocationEnabled = YES;
你可以在应用程序启动后任何时间安全地更改 geoLocationEnabled
的状态。Quantcast SDK 总是遵守其当前设置。
请注意,你应该只在你的应用程序具有用户可感知的地理位置用途时启用地理跟踪。
当你的应用程序在后台时,Quantcast iOS SDK 会自动暂停地理跟踪。这样做是为了电池寿命和隐私考虑。
Quantcast Measure 提供了针对数字杂志和期刊的特定测量功能。这些选项允许测量特定的期号、文章和页面,除了测量承载杂志的应用程序的一般测量之外。为了利用这种测量,您至少需要在特定期号打开和关闭以及在该期号中每页浏览时进行标记(除基本的 SDK 集成之外)。您还可以可选地点标记特定文章的阅读。有关更多信息,请参阅 SDK 源文件夹中的 Periodicals 头文件中的文档,可在 Optional/QuantcastMeasurement+Periodicals.h
找到。
Quantcast Measure能让您测量您的网站和移动应用用户群体,帮助您了解线上线下、不同应用之间用户群体的差异和相似性。要启用此功能,您需要提供一个用户标识符,Quantcast会在用户设备发送之前对其进行1向哈希匿名处理。此用户标识符还应用于您的网站;请参阅Quantcast的网页测量文档获取说明。
通常,您的应用用户标识符会通过UIApplication
代理的application:didFinishLaunchingWithOptions:
方法以所需代码集成部分中描述的beginMeasurementSessionWithAPIKey:userIdentifier:labels:
方法提供。如果应用的活跃用户标识符在其生命周期中以后发生了变化,您可以使用以下方法调用来更新用户标识符
[[QuantcastMeasurement sharedInstance] recordUserIdentifier:userIdentifierStr withLabels:nil];
当前用户标识符通过userIdentifierStr
参数传递。
请注意,在所有情况下,Quantcast iOS SDK会立即对传递的应用用户标识符进行1向哈希处理,并返回哈希值供您参考。您不需要对哈希值采取任何操作。
您可以为调试目的在Quantcast iOS SDK中启用日志记录。默认情况下,日志记录是关闭的。要启用日志记录,在任何时候,包括在调用任何beginMeasurementSession:
方法之前,调用以下方法
[QuantcastMeasurement sharedInstance].enableLogging = YES;
您不应发布允许日志记录的应用。
Quantcast iOS SDK会定期将收集的事件上传到Quantcast的服务器。过于频繁的上传会耗尽设备的电量。上传过于稀少会导致Quantcast接收分析所需的必要数据产生重大延迟。默认情况下,这些上传会在至少收集到100个事件或在您的应用程序暂停时发生(即进入后台)。您可以通过设置uploadEventCount
属性来改变此默认行为。例如,如果您希望收集后20个事件上传应用的事件,您将执行以下调用
[QuantcastMeasurement sharedInstance].uploadEventCount = 20;
您可以在应用的执行过程中多次更改此属性。
Quantcast iOS SDK支持使用SSL/TLS进行安全数据上传。为了启用安全数据上传,首先将项目链接到Security
框架。然后添加以下预处理宏定义到项目的预编译头文件(文件扩展名为'.pch')中
#define QCMEASUREMENT_USE_SECURE_CONNECTIONS 1
请注意,使用安全数据上传会导致您的应用使用加密技术。不同地区都有控制使用加密技术软件应用出口的法律。在启用Quantcast iOS SDK中的安全数据上传之前,请先查阅您所在地区有关出口使用加密技术的软件的法律。
在Quantcast.com的应用配置文件中显示的流量很少或没有
Quantcast每天都会更新其网站上的您的应用最新受众度量数据。即使过了1天,quantcast.com上您的应用配置文件中仍然没有数据显示,有以下几个事项需要检查
Info.plist
文件中将 UIApplicationExitsOnSuspend
属性设置为 YES
。为了保证 Quantcast iOS SDK 正确运行,需要在您的应用 Info.plist
中删除 UIApplicationExitsOnSuspend
属性。本 Quantcast 测量 SDK 版权所有 2012 Quantcast Corp。本 SDK 受 Quantcast 移动应用程序测量服务条款的约束,该条款可在此处 Quantcast 网站查看(以下简称“许可协议”)。除非(1)您在 Quantcast.com 签署账户并同意许可协议,以及(2)遵守许可协议,否则您不得使用本 SDK。有关许可协议下许可和限制的具体语言,请参阅许可协议。