使用 CocoaPods(https://cocoapods.org.cn)可以简单地集成 Alooma-iOS 库。
Podfile
的文件pod "Alooma-iOS"
pod install
<your-project>.xcworkspace
)Alooma-iOS 库是 Mixpanel-iphone 库的一个修改版,简化到仅有事件跟踪的必需功能。
要集成 Alooma-iOS,您需要使用 Xcode 5 和 iOS 7.0 作为基础 SDK。该库将支持以上 iOS 6.0 的部署目标。
要使用 Alooma-iOS 库,您必须首先使用您的 Alooma 端点的服务器名和令牌来初始化它。由于这应该只进行一次,因此在您的应用完成启动时初始化 Alooma-iOS 是有意义的
#import <Alooma-iOS/Alooma.h>
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/* ... */
[Alooma sharedInstanceWithToken:@"<your Alooma API token>" serverURL:@"<your Alooma endpoint>"];
return YES;
}
初始化后,您可以在您的代码的任何地方通过调用 sharedInstance
方法来使用 Alooma-iOS 库
Alooma *alooma = [Alooma sharedInstance];
要向 Alooma 发送事件,您可以坚持 Mixpanel 的 track:properties:
惯例,或者您可以使用更自由的 trackCustomEvent:
来发送一个 JSON 序列化的 NSDictionary 对象。
正如我们提到的,Alooma-iOS 是从 Mixpanel 分支出来的,因此它支持 Mixpanel 库中实施的所有方法
track
track:properties
timeEvent
registerSuperProperties:
和 registerSuperPropertiesOnce:
identify
flush
和 reset
使用以下代码可以实现基本的事件跟踪
Alooma *alooma = [Alooma sharedInstance];
// Track an event just with a type
[alooma track:@"Event-type1"];
// Track an event with a type & properties
[alooma track:@"Event-type2" properties:@{
@"prop1": @"abc",
@"prop2": 123
}];
使用这些方法将发送以下格式的事件
{
"event": "Event-type2",
"properties": {
"prop1": "abc",
"prop2": 123,
/*
additional properties added by the library:
distinct_id, $os, time, sending_time, $model
$manufacturer, $wifi, $screen_width,
$screen_height, ...
*/
}
}
有关 Mixpanel 提供的其他函数的文档可以在Mixpanel 网站上找到。
如果您尚未使用 Mixpanel,只需发送自定义 JSON 对象,可以使用以下代码片段
Alooma *alooma = [Alooma sharedInstance];
[alooma trackCustomEvent:@{
@"custom-field1": @"event-type",
@"custom-field2": @"abc",
@"custom-field3": 123
}];
使用此方法将发送以下格式的数据
{
"custom-field1": "event-type",
"custom-field2": "abc",
"custom-field3": 123,
"properties": {
/*
additional properties added by the library:
distinct_id, $os, time, sending_time, $model
$manufacturer, $wifi, $screen_width,
$screen_height, ...
*/
}
}
Alooma-iOS 为每个事件添加了额外的属性
Alooma-iOS 将事件存储在内部事件队列中,以便在设备在线时发送。队列大小固定为 500 个事件。如果设备离线且队列已满,第 501 个事件将导致队列中的第一个(最老的事件)被弹出并丢弃。
要运行示例项目,请克隆仓库,并在 Example 目录下运行 pod install
。打开 SampleApp.xcworkspace
并运行应用程序。
Alooma, [email protected]
Alooma-iOS 在 Apache v2 许可证下可用。有关更多信息,请参阅 LICENSE 文件。