PromotedMetricsSDK-ObjC
示例
要运行示例项目,首先克隆仓库,然后从 示例 目录运行 pod install
。
示例应用程序包含两个按钮,一个用于模拟登出,另一个用于登录。
在 PDAppDelegate.m 中,找到 application:didFinishLaunchingWithOptions:
并将传递给 initializeWithTrackerUrl:useHttps:
的跟踪器 URL 替换为您提供的 URL。
它应该看起来像这样
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[PDPromotedTracker.instance
initializeWithTrackerUrl:@"localhost:3000/api/logger"
useHttps:NO
];
return YES;
}
文档
访问度量实例
度量实例在 PromotedTracker
类中以单例属性的形式实现,命名为 instance
。为了引用它,请添加 PromotedTracker.h 头文件
#import "PDPromotedTracker.h"
接下来,使用 instance
作为类属性
PDPromotedTracker.instance
或类方法
[PDPromotedTracker instance]
初始化
在您的 AppDelegate
实现中,找到 application:didFinishLaunchingWithOptions:
方法,并调用 initializeWithTrackerUrl:useHttps:
,传递
- 跟踪器 URL,不包括协议(如
localhost:3000/api/logger
)。 - 一个布尔值,表示是否使用 HTTPS 或 HTTP - 后者通常在开发期间用于访问本地跟踪器。
注意:如果您没有初始化度量实例,应用程序可能会崩溃或表现出不可预测的行为,所以您绝对不要忘记调用它。
跟踪用户身份验证
有两种方法可以跟踪用户分别登录或注销的时间。
-
logSignedInUser:
接收已登录用户的 ID。NSString *userId; ... [PDPromotedTracker.instance logSignedInUser:userId];
-
logSignedOutUser
logSignedInUser:
可以多次调用相同的用户 ID,它只会记录第一次,并在后续调用中跳过。为此,用户 ID 将存储在用户默认设置中。
注意,目前还没有跟踪用户注销 — logSignedOutUser:
的目的是重置用户默认设置中存储的用户 ID。
跟踪屏幕查看
要跟踪视图控制器何时显示,请使用 logScreenView:
。它需要一个参数
screenName
:视图控制器的名称,可以是类名。
logScreenView:
通常在 viewDidLoad
或 viewWillAppear:
中调用。例如
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[PDPromotedTracker.instance logScreenView:[self className]];
}
要获取视图控制器类的名称,您通常会使用以下代码
NSString *className = NSStringFromClass([self class]);
由于您可能会在这个框架中频繁地需要它,因此已经向 UIViewController
(通过类别)添加了一个辅助方法,称为 className
。所以,每当您需要获取视图控制器的类名时,您可以简单地调用
NSString *className = [viewController className];
自动跟踪
自动跟踪将在每个视图控制器的 viewWillAppear:
中自动调用 logScreenView:
,以便您不必手动添加到每个视图控制器中。
默认情况下已禁用,要启用它,请在初始化后将其跟踪器的 enableAutoScreenViewTracking
设置为 YES
[PDPromotedTracker.instance setEnableAutoScreenViewTracking:YES];
跟踪用例
用例 用于跟踪按预定义类别分组的相关内容。以下用例在 PDPromotedTrackingUseCase
枚举中定义
- 无(概念上类似于
nil
,即没有要跟踪的用例) - 未知
- 自定义
- 搜索
- 搜索建议
- 动态内容
- 相关内容
- 特写
- 分类内容
- 我的内容
- 我的内容
- 卖家内容
有三种不同的方式来跟踪用例
- 显式地,通过按每个用例调用方法。
- 自动地,通过在按每个用例重写方法。
- 声明性地,通过静态绑定视控制器列表到用例。
显式跟踪
PDPromotedTracker
定义了可以使用它来手动跟踪用例的 logUseCase:
方法
[[PDPromotedTracker instance] logUseCase:PDPromotedTrackingUseCase];
它只接受一个参数:用例,它是 PDPromotedTrackingUseCase
枚举中的一个情况。您通常在视图控制器的 viewDidLoad
覆盖中调用它。
通过属性覆盖自动跟踪
通过一个类别,您的应用中的每个视图控制器都有一个 promotedUseCase
方法
- (PDPromotedTrackingUseCase) promotedUseCase;
在其默认实现中,它返回 PDPromotedTrackingUseCaseNone
,这意味着跳过用例跟踪。
在视图控制器上启用用例跟踪就像覆盖 promotedUseCase
以返回不同于 PDPromotedTrackingUseCaseNone
的枚举情况一样简单,例如
- (PDPromotedTrackingUseCase) promotedUseCase {
return PDPromotedTrackingUseCaseCustom;
}
通过静态绑定声明性跟踪
除了在每个要启用用例跟踪的视图控制器上添加代码以进行跟踪以外,还可以通过将视图控制器类型列表绑定到用例来以声明性的方式配置它。
静态绑定使用 PDPromotedTracker
's addPromotedUseCase:to:
方法完成,定义如下
- (void)addPromotedUseCase:(PDPromotedTrackingUseCase)useCase
to:(NSArray<NSString *> * _Nonnull)types;
第一个参数是 useCase
,它代表使用情况,类型为 PDPromotedTrackingUseCase
。
第二个参数是一个包含类名的数组,用于启用自动跟踪,这些类名必须是 UIViewController
的子类。
例如,要将 搜索 用例跟踪功能启用到 ViewController1
和 ViewController2
。
PDPromotedTracker *tracker = [PDPromotedTracker instance];
[tracker addPromotedUseCase:PDPromotedTrackingUseCaseSearch
to:@[
[ViewController1 className],
[ViewController2 className]
]
];
静态绑定的优点是配置仅在一个地方进行,而不是分散在多个文件中。
上下文
会话
会话跟踪用于自动将会话信息添加到提交给推广指标 API 的所有事件。会话跟踪用户活动,并会在从最后用户活动开始以来预定义的时间间隔过期后自动过期。
要启用自动会话跟踪,请在初始化之后将追踪器的 enableAutoSessionTracking
属性设置为 YES
。
[PDPromotedTracker.instance setEnableAutoSessionTracking:YES];
安装
PromotedMetricsSDK-ObjC 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile
pod 'PromotedMetricsSDK-ObjC'
然后从您的项目根目录运行以下命令
pod install
注意:该 Pod 尚未提供,它将很快发布
平台
PromotedMetricsSDK-ObjC 目前适用于 iOS 9.3 及以上版本。
许可证
PromotedMetricsSDK-ObjC 基于 MIT 许可证。更多详情请参阅 LICENSE 文件。