欢迎使用 jKool Tracking API for iOS。通过将此 Pod 导入您的应用程序并在您的 AppDelegate 中添加几行代码,用户的体验将被自动流式传输到您的 jKool 存储库。有了 jKool 订阅,您就可以查看有关用户的应用程序体验的数据。如果您没有 jKool 账户,您可以免费注册。由于对数据的图形表示,jKool 用户界面使得查看数据直观且易于理解。此外,使用 JKQL 查询语言,您可以使用类似英语的查询来查询和分析您的数据,以满足您的喜好。此 pod 会将用户的点击和访问的屏幕作为“事件”流式传输。它将用户整个会话的信息作为“活动”流式传输。请参阅下文了解更多有关数据结构的信息。
此 pod 利用 jKool Client API for iOS。jKool Client API 允许您流式传输、查询并订阅 jKool 数据。使用此 API,您可以流式传输自己的自定义数据,查询自己的自定义数据,并订阅自己的自定义数据。因此,通过导入跟踪 Cocoa Pod,您还将获得对客户端 API Cocoa Pod 的访问权限。请阅读有关 jKool Client API 的更多信息。
要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install
jKool LLC
请参阅 LICENSE 文件。
通过以下方式在您的 Podfile 中包含此 API
pod 'jkool-client-objc-tracking'
如果您希望此 CocoaPod 在 Swift 应用程序中工作,您只需创建一个 Bridge.m 文件并包含以下头文件。当创建 Bridge.m 时,选择“创建桥接头”的选项。本 ReadMe 中的代码示例在 Swift 和 Objective-c 中都有。
#import "jKoolTracking.h"
#import "jKoolData.h"
要使追踪功能正常运行,请将以下代码添加到您的AppDelegate中。请注意,当您注册jKool时,您将获得'token-your'。
要为applicationDidBecomeActive和applicationWillEnterForeground添加
Obj-c
[jKoolTracking createjKoolActivity];
Swift
jKoolTracking.createjKoolActivity();
要添加到applicationDidEnterBackground
Obj-c
[jKoolTracking streamjKoolActivity];
Swift
jKoolTracking.streamjKoolActivity();
要添加到didFinishLaunchingWithOptions
Obj-c
[jKoolTracking initializeTracking:@"your-token" enableErrors:<YES/NO> enableActions:<YES/NO> onlyIfWifi:<YES/NO>];
Swift
jKoolTracking.initializeTracking("your-token", enableErrors:<true/false>, enableActions:<true/false>, onlyIfWifi:<true/false>, tagToViewName:nil]; // see below how to use a tagToViewName parameter.
其中
如果您希望流式传输未捕获的错误异常,可以通过将以下代码添加到AppDelegate的未捕获异常处理程序(即使您还没有一个,这里提供了一个完整的处理程序)轻松完成:
Obj-c
void onUnCaughtException (NSException *exception)
{
[jKoolTracking jKoolExceptionHandler:exception];
// Sleeping is necessary to give it time to streaam.
[NSThread sleepForTimeInterval:5.0f];
}...
在didFinishLaunchWithOptions中包含以下内容
NSSetUncaughtExceptionHandler(&onUncaughtException);
Swift
在didFinishLaunchWithOptions中包含以下内容
NSSetUncaughtExceptionHandler
{
exception in
jKoolTracking.jKoolExceptionHandler(exception);
// Sleeping is necessary to give it time to stream.
sleep(5);
}
某些通常具有默认值的字段可以用您自己的自定义数据覆盖。要设置这些字段,请将以下方法调用添加到didFinishLaunchingWithOptions
Obj-c
[jKoolTracking setCustomApplicationName:@"<your-application-name>" andDataCenter:@"<your-data-center>" andResource:@"<your-activity-resource>" andSsn:<your-source> andCorrelators:[NSArray arrayWithObjects:@"<your-custom-correlator>",@"<your-custom-correlator>",..., nil] andActivityName:@"<your-activity-name>"];
Swift
let corrs : Array = ["<your-custom-correlator>","<your-custom-correlator>","<your-custom-correlator> ..."];
jKoolTracking.setCustomApplicationName("<your-application-name>", andDataCenter:"<your-data-center>", andResource:"<your-activity-resource>", andSsn:<your-source>, andCorrelators:corrs,@"<your-custom-correlator>",..., nil], andActivityName:"<your-activity-name>"];
iOS动作和iOS触摸事件都可以作为用户点击进行跟踪。这可能是多余的,因为如果触摸事件关联了动作,则触摸事件会被报告两次,一次作为触摸事件和第二次作为动作。但是,并非所有触摸事件都会被报告,并且所有动作都会被报告。大多数触摸事件都与动作关联,因此默认情况下不会报告。此外,为了获取有关触摸事件的直观信息,开发者必须帮助API确定确切接触了什么。这是因为iOS并不提供直观命名的触摸事件。因此,为了解决触摸事件直观命名的问题,也为了解决当触摸事件也作为动作报告时的重复报告问题,API只报告在字典中指定的触摸事件。所以,如果您想报告触摸事件,请在AppDelegate didFinishLaunchingWithOptions中做以下操作:
这个pod中有一个示例应用程序。它包含一个完整的工作应用程序,其中包含上述所有提到的代码。只需将“token-your”替换为您在注册jKool时分配的token。为了感受此跟踪API,我们建议您进行以下操作:
以下列出了事件和活动字段以及存储在其中的数据。我们只列出对您跟踪感兴趣的字段。您可能还会注意到其他字段,如果您正在流您自己的自定义数据,则这些字段可能也会对您感兴趣。有关这些附加字段以及如何流自定义数据的信息,请参阅jKool客户端API和jKool模型指南。
事件字段
活动字段
在正常通过jKool客户端API进行流式传输时,自定义用户字段存储在jKool '属性'中。这种跟踪API正在使用'属性'来存储描述性位置信息和存储有关用户设备的信息。有关查询属性的特殊语法,请参阅JKQL查询语言。
如果您有任何问题或疑虑,请通过电子邮件联系我们 [email protected]。我们会尽快回复您。