Quantcast-Measure 1.7.1

Quantcast-Measure 1.7.1

测试已测试
语言语言 Obj-CObjective C
许可证 未知
发布最后发布2020年5月

Michael KamprathKevin Smith维护。



  • 来自
  • Quantcast公司

Quantcast iOS SDK

本实施指南提供了集成Quantcast for Apps SDK的步骤,以便您利用宝贵的行动见解

  • 了解您的受众 - Quantcast使用直接测量和机器学习构建准确且详细的人口统计资料。
  • 比较和竞争 - 通过分析访问频率、留存率和升级情况来衡量用户忠诚度。
  • 吸引广告 – 通过展示最有力的数据点并使用受信任的来源来吸引广告。
  • 提高活动性能 - 通过了解最佳用户的特征并找到更多类似的人来提高您的活动性能。

如果您有任何实施问题,请通过电子邮件[email protected]联系我们。我们随时为您提供帮助。

集成Quantcast用于移动应用

要集成Quantcast的SDK到您的iOS应用中,您必须使用Xcode 6或更高版本。Quantcast SDK支持为iOS 10.0及更高版本构建的应用。

下载 SDK

获取 SDK 有两种方式。您可以直接从Quantcast 网站下载,或者使用 GitHub。如果您从我们的网站下载文件,在继续到设置您的 Xcode 项目部分之前,请解压文件。

(可选) 从 GitHub 获取 Quantcast SDK

如果您使用 Git 进行版本控制,我们建议您将 Quantcast SDK 仓库作为子模块添加到您的项目 Git 仓库中。为此,请打开您的 Mac 中的终端应用程序,cd 到您的 Git 仓库文件夹,然后执行以下命令

git submodule add https://github.com/quantcast/ios-measurement.git 
git submodule update --init 
cd ios-measurement
git submodule update --init 

如果您不想将 Quantcast SDK 仓库作为子模块添加到您的仓库中,您可以使用 Git 克隆 Quantcast iOS SDK 的 Git 仓库并初始化其所有子模块。

git clone https://github.com/quantcast/ios-measurement.git ./quantcast-ios-sdk
cd ./quantcast-ios-sdk/
git submodule update --init

设置您的 Xcode 项目

  1. 将 Quantcast SDK 代码导入到您的项目中。在 Xcode 中,选择您的项目,选择“添加到”,然后从您下载的文件夹中选择“Quantcast-iOS-Measurement”文件夹。

    Screenshot - Add Files to Project
  2. 如果您尚未链接以下 iOS 框架和库,请将其链接到您的项目。从项目属性中,转到“通用”部分,然后滚动到“链接的框架和库”,点击左下角的“+”。然后使用 Command 键进行多选并添加以下项

    • AdSupport 参考AdSupport 框架的使用
    • CoreGraphics
    • CoreTelephony
    • Foundation
    • libsqlite3.dylib 或 libsqlite3.tbd
    • libz.dylib 或 libz.tbd
    • Security
    • SystemConfiguration
    • UIKit
    Screenshot - Add Frameworks and Libraries

AdSupport 框架的使用

将 AdSupport 框架链接到 SDK 并不是必需的,但要通过它来在您的应用程序中提供广告或跟踪安装归因,该框架将允许 Quantcast 访问 IDFAs,我们可用这些数据在我们的 Measure 服务中提供更好的您用户的人口统计数据。

请记住,如果您的代码或应用中的任何第三方代码使用了IDFA,请在应用提交过程中回答“此应用使用广告标识符(IDFA)吗?”这个问题。因此,如果您集成了Quantcast SDK并选择链接到Ad Support框架,应回答“是”。此外,在应用提交过程中,您还需要确认您的应用 – 以及所有与您的应用交互的人 – 都尊重Limit Ad Tracking设置,Quantcast SDK就是这样做的。

如果您的项目没有使用自动引用计数(ARC),请按照以下步骤为Quantcast源文件设置编译器标志。否则,跳到下一节。

  1. 在项目配置屏幕中,点击“构建阶段”部分,然后展开“编译源文件”。

    Screenshot - Expand Compile Sources
  2. 通过按住Command按钮并选择所有以“Quantcast”开头的文件名,将Quantcast源文件进行多选。

    Screenshot - Multi-select Quantcast Files
  3. 按回车键弹出文本输入框,然后输入“-fobjc-arc”并按回车键。

    Screenshot - Set Compile Flag

集成Quantcast SDK推荐的方式只需一行代码

  1. QuantcastMeasurement.h导入到您的UIApplication代理类中

    #import "QuantcastMeasurement.h"
    Screenshot - Import Header
  2. 在您的UIApplication代理的application:didFinishLaunchingWithOptions:方法中,放置以下代码

    [[QuantcastMeasurement sharedInstance] setupMeasurementSessionWithAPIKey:@"<Insert your API Key Here>" userIdentifier:nil labels:nil];

    将"<在这里插入您的API密钥>"替换为您的Quantcast API密钥。API密钥可以在您的Quantcast SDK文件夹中的“api-key.txt”文件中找到。您所有API密钥也可以在您的Quantcast仪表板上找到:[https://www.quantcast.com/user/resources?listtype=apps](https://www.quantcast.com/user/resources?listtype=apps)。有关如何和何时使用API密钥的更多信息,请参阅[了解API密钥](#optional-understanding-the-api-key)。

    userIdentifier:参数接受一个唯一标识用户的字符串,例如账户登录名。传递此信息允许Quantcast提供有关您所有属性合并受众的报告:在线、移动网页和移动应用。请参阅[合并Web/App受众](#combined-webapp-audiences)部分了解更多信息。

    labels:参数可以为空,并用于创建受众细分。请参阅[受众标签](#audience-labels)部分获取更多信息。

    Screenshot - SetupMeasurement

API密钥用于Quantcast Measure的基本报告实体。同一个API密钥可以跨多个应用(例如:AppName免费/AppName付费)和/或应用平台(例如:iOS/Android)使用。对于每个唯一API密钥下的所有应用,Quantcast将报告它们之间的总受众,并且还会识别/报告各个应用版本。

编译和测试

你现在可以测试你的集成。构建并运行你的项目。Quantcast Measure将记录iOS模拟器的活动,只要您正确地退出应用(而不是在应用运行时关闭模拟器窗口)。完成一个应用会话后,你将在第二天看到你的会话被记录在你的Quantcast Measure仪表板上。如果没有,你可以参考我们的故障排除指南获取提示。有问题?请通过电子邮件联系我们:[email protected]

恭喜!现在你已经完成了基本的集成,探索如何启用强大的功能来了解你的受众并跟踪你应用的使用情况。

用户隐私

隐私通知

Quantcast相信让用户了解他们的数据如何被使用。我们建议你在隐私政策中披露你使用Quantcast来了解你的受众。你可以链接到Quantcast的隐私政策:https://www.quantcast.com/privacy

用户选择退订

您可以通过提供Quantcast Measure退出选项对话框的访问权限,让用户选择退出Quantcast Measure。这应该通过您应用程序选项视图中的按钮或表格视图单元格(如果您的选项基于分组表格视图)来完成,标题为“测量选项”或“隐私”。当用户点击您提供的按钮时,请使用以下方法调用Quantcast的默认退出对话框:

[[QuantcastMeasurement sharedInstance] displayUserPrivacyDialogOver:currentViewController withDelegate:nil];

currentViewController参数是当前视图控制器。由于iOS SDK显示模态对话框的方式,SDK需要知道这一点(有关presentViewController:animated:completion:的更多信息,请参阅Apple的文档)。委托是一个可选参数,在QuantcastOptOutDelegate协议头中进行了说明。

如果您想提供对Quantcast退出过程的定制控制,可以直接设置isOptedOut属性来设置退出偏好,而不是使用默认对话框。例如:

[QuantcastMeasurement sharedInstance].isOptedOut = YES;

在未使用默认对话框的情况下,我们强烈建议您还包含一个按钮来显示Quantcast的隐私政策。您可以通过调用以下内容来展示:

[[QuantcastMeasurement sharedInstance] displayQuantcastPrivacyPolicy]; 

注意:当用户退出Quantcast Measure时,SDK立即停止向或从用户的设备发送或接收信息,并删除可能保留的任何缓存信息。

可选代码集成

结合的网站/应用受众

Quantcast Measure使您能够测量您的结合网站和移动应用受众,使您能够了解您的在线和移动应用受众之间的差异和相似之处,甚至可以是您不同应用结合的受众。要启用此功能,您需要提供一个用户标识符,在它从用户的设备传输之前,Quantcast将始终使用单程散列对其进行匿名化。此用户标识符也应提供给您的网站;有关说明,请参阅Quantcast的网站测量文档

通常,您的应用程序用户标识符会通过UIApplication代理的application:didFinishLaunchingWithOptions:方法提供,使用上述必需代码集成部分中描述的beginMeasurementSessionWithAPIKey:userIdentifier:labels:方法。如果应用程序的生命周期中较晚更改活动的用户标识符,您可以使用以下方法调用更新用户标识符:

[[QuantcastMeasurement sharedInstance] recordUserIdentifier:userIdentifierStr withLabels:nil];

当前用户标识符通过userIdentifierStr参数传递。

请注意,在任何情况下,Quantcast的iOS SDK都会立即对传递的应用程序用户标识符进行单程散列,并返回散列值供您参考。您无需对散列值采取任何操作。

用户标签

使用标签来创建用户群体,或具有共同属性或属性的用户的组合。例如,您可以创建一个在您应用中购买用户的用户群体。对于您创建的每个用户群体,Quantcast都会跟踪该群体的会员资格,并生成包含其人口统计数据的用户报告。如果您在其网站上实施相同的用户群体,您将看到每个用户群体的网站和应用程序受众的合并视图。有关如何使用用户群体的更多信息,包括如何使用点表示法创建段层次结构,请在此处了解:[了解如何使用用户群体](https://www.quantcast.com/help/using-audience-segments)。

有两种方式可以分配标签。第一种是通过appLabels属性。将appLabels属性设置为记录与用户属性相关的标签。例如,要分配两个标签“purchaser.ebook”和“sharer.onFB”,您可以这样做

NSArray *myUserSegmentMembership = @[@"purchaser.ebook",@"sharer.onFB"];
[QuantcastMeasurement sharedInstance].appLabels = myUserSegmentMembership; 

设置appLabels属性的效果是在调用Quantcast SDK的每个方法时传递这些标签。然而,在任何时候,您都可以使用appLabels设置来临时添加已分配的标签,在您的Quantcast方法调用中设置labels:参数。

以下是一个示例,该示例除通过appLabels属性已分配的标签外(“sharer.onFB”,“purchaser.ebook”)还添加了标签“sharer.firstShare”。此示例使用logEvent:withLabels:方法,您可以在跟踪应用事件部分了解有关此方法的更多信息。

NSString *newLabel = @"sharer.firstShare";
NSString *theEventStr = @"tweeted";
[[QuantcastMeasurement sharedInstance] logEvent:theEventStr withLabels:newLabel]; 

在任何应用会话过程中设置的标签都将登记该应用的会话,但只有通过appLabels属性设置的标签才能在会话之间持久化。当应用启动时,或者当应用在超过30分钟后从后台唤醒时,会话开始。当一个应用关闭或者新的会话开始时,会话被视为结束。在上面的示例中,会话将在受众群体中登记:“sharer.onFB”,“purchaser.ebook”和“sharer.firstShare”。如果应用然后暂停超过30分钟,然后再唤醒,我们的服务器将记录新的应用会话。如果没有向QuantcastMeasurement发出额外的调用,只有通过appLabels属性分配的段,“sharer.onFB”和“purchaser.ebook”,将为该会话登记访问。

大多数Quantcast SDK方法的labels:参数类型为id指针。但是,它只接受一个表示单个标签的NSString对象,或者一个包含一个或多个表示要应用于事件的标签集合的NSString对象的NSArray对象。

虽然对标签维度的预期用途没有具体的约束,但建议不要用它来指示离散事件;在这种情况下,请使用在跟踪应用事件部分描述的logEvent:withLabels:方法。

跟踪应用事件

Quantcast Measure可用于测量在您的应用程序中参与特定活动的受众。为了记录应用事件或活动的发生,请调用以下方法

[[QuantcastMeasurement sharedInstance] logEvent:theEventStr withLabels:nil];

theEventStr是与您正在记录的事件关联的字符串。可以通过使用用点作为分隔符的从左到右的标注来表示层次信息。例如,记录名为“button.left”的一个事件和名为“button.right”的另一个事件将在Quantcast Measure中创建三个报告项:“button.left”,“button.right”和“button”。虽然此层次结构方案可以创建无限的基数,但频率较低的元素可能因为没有具有统计意义的受众而没有受众报告。

地理位置测量

Quantcast不再提供开箱即用的地理位置测量。如果您对此功能感兴趣,请将您的业务理由发送至 [email protected]

数字杂志及期刊

Quantcast Measure提供针对数字杂志及期刊的特定测量功能。这些选项允许您测量特定的问题、文章和页码,以及测量托管杂志的应用程序的一般测量。为了利用这种测量,您必须至少标记特定问题打开和关闭以及该问题中每页的查看情况(除了基本的SDK集成之外)。您还可以选择性地标记特定文章的查看情况。更多信息,请参阅SDK源文件夹中“Periodicals”头文件内的文档,该文件位于Optional/QuantcastMeasurement+Periodicals.h

测量直接提供的广告活动

对于服务于广告并能够从其广告系统中访问广告主和活动标识的应用程序,Quantcast可以测量接触这些活动的观众。如果您还想记录您应用中出现的广告显示并对抗接触的观众进行观众测量,首先您必须首先添加在Optional/QuantcastMeasurement+Advertising.h中找到的可选来源。然后在广告显示或刷新时添加日志广告印象方法。

[[QuantcastMeasurement sharedInstance] logAdImpressionForCampaign:inCampaignOrNil media:inMediaOrNil placement:inPlacementOrNil withAppLabels:nil];

其中inCampaignOrNil是当前用于广告印象显示的活动标识的NSString,inMediaOrNil是当前显示的广告创意标识的NSString,inPlacementOrNil是位置标识的placement的NSString。请注意,Campaign、Media和Placement字符串都是可选的,并且它们的名称中的任何句点都将视为标签句点,表示层次结构的级别。

您还可以在这里传递一个动态观众标签。在这种情况下,传递给应用标签参数的标签将把看到广告印象的设备用户置于指定的观众段。您可以使用此广告印象标签来分类正在显示的广告产品类型,以便您可以获取关于观众曝光的汇总报告。有关观众段落的更多信息,请参见上面的观众标签部分。

SDK自定义

日志和调试

您可以通过调用以下方法在Quantcast iOS SDK中进行调试,以启用日志记录。默认情况下,日志记录是关闭的。要启用日志记录,请随时调用以下方法,包括在调用任一beginMeasurementSession:方法之前

[QuantcastMeasurement sharedInstance].enableLogging = YES;

您应该不要启用日志记录的功能来发布应用程序。

事件上传频率

Quantcast iOS SDK将定期将收集的事件上传到Quantcast的服务器。过于频繁的上传会耗尽设备的电池。不够频繁的上传会导致Quantcast接收用于分析和报告所需的数据出现显著的延迟。默认情况下,这些上传在收集至少100个事件或应用程序暂停时(即它切换到后台)发生。您可以通过设置uploadEventCount属性来更改此默认行为。例如,如果您希望在收集20个事件后上传应用程序的事件,您将执行以下操作

[QuantcastMeasurement sharedInstance].uploadEventCount = 20;

您可以在应用程序执行的任何时候多次更改此属性。

安全数据上传

从版本1.5.0开始,默认启用安全下载。这一变更是因为苹果发布了新的App传输安全更新。若首选非https调用,Quantcast iOS SDK仍然可以支持。为了禁用安全数据上传,请在项目的预编译头文件(以'.pch'结尾的文件)中添加以下预处理器宏定义。

#define QCMEASUREMENT_USE_SECURE_CONNECTIONS 0

请注意,如果您关闭安全连接,则需要在您的Info.plist中使用NSAppTransportSecurity键设置适当的异常。NSExceptionDomains键应设置为quantcount.com,并包含子目录NSIncludesSubdomains。请在此了解更多有关设置异常的信息。

故障排除

在Quantcast.com的应用程序配置文件中未显示少量或无应用程序流量
Quantcast每天都会更新其网站,包含您应用程序的最新受众度量数据。如果即使过了1天,quantcast.com中您应用程序的配置文件中仍然没有数据显示,请检查以下内容

  • Quantcast SDK在您的应用程序切换到后台时上传大部分数据。如果在Xcode开发测试工作流程中,您经常通过在Xcode中按"停止"来结束应用程序的测试运行,则您的应用程序可能没有机会上传使用数据。为了确保您的应用程序在测试时有机会将使用数据上传到Quantcast,请确保在测试的设备上点击Home按钮,以便将应用程序放入后台并触发使用数据上传到Quantcast。
  • 如果您在构建时遇到问题,请查看项目设置和SDK集成的文档。最常见的错误之一是缺少其中一步。如果您仍然有问题,请通过电子邮件[email protected]联系我们。

许可

此Quantcast测量SDK版权所有(C)2012-2014 Quantcast公司。此SDK根据Quantcast移动应用程序测量服务条款授权,可在以下链接找到:Quantcast网站(“许可证”)。除非(1)您在Quantcast.com注册账户并同意许可证,以及(2)遵守许可证,否则您不得使用此SDK。有关许可证下管理许可和限制的具体条款,请参阅许可证。未经授权使用此文件构成版权侵权和违法行为。