Qoncrete
works on iOS 6+、OS 10.7+ and requires ARC to build.
或者,您可以直接将 Qoncrete.h
和 Qoncrete.m
源文件添加到您的项目中。
Qoncrete.h
和 Qoncrete.m
拖放到项目中(使用“产品导航器视图”)。如果在项目外提取了代码存档,请确保选择复制项。#import "Qoncrete.h"
在需要的地方包含 Qoncrete。您还可以将 Qoncrete 添加为静态库到您的项目或工作区。
Qoncrete.xcodeproj
拖放到项目中或工作区中(使用“产品导航器视图”)。libQoncrete.a
。您可能还需要将 Qoncrete
添加到目标依赖项列表中。#import <Qoncrete/Qoncrete.h>
在任何需要 Qoncrete 的地方包含它。// 1) Require sdk
#import "Qoncrete.h"
// 2) Create a new client.
Qoncrete *client = [Qoncrete sharedSingleton];
client.sourceID = @"SOURCE_ID";
client.apiToken = @"API_TOKEN";
[client endConfig];
// 3) send a log
client.send(@{ @"user": @"toto", @"action": @"purchase", @"price": @99.99 })
Qoncrete *client = [Qoncrete sharedSingleton];
client.sourceID = 'SOURCE_ID'; // MANDATORY: The source ID. (Once logged-in, can be found at https://qoncrete.com/account/#!/source)
client.sourceID = 'API_TOKEN'; // MANDATORY: The api token. (Once logged-in, can be found at https://qoncrete.com/account/#!/token)
client.errorLogger = ^(NSDictionary *err){
// do something.
}; // A block called on error. typedef void (^errorLogger)(NSDictionary *err)
client.cacheDNS = YES; // Active userland dns cache. Default: true"
client.timeoutAfter = 15; // Abort the query on timeout. Default: 15s
client.retryOnTimeout = 1; // Number of times to resend the log on timeout. Default: 1 (on timeout, it will retry one more time)
client.autoBatch = true; // Try to send log by batch instead of sending them one by one. Default: true
client.batchSize = 1000; // Only matters if autoBatch is True. Number of logs to send in a batch. Default: 1000, Max: 1000
client.autoSendAfter = 2; // Only matters if autoBatch is True. Time after the logs will be sent if the batch is not full. Default: 2s
client.concurrency = 200; // Number of simultaneous queries that can be made, can be set lower or higher depending your server configuration. Default: 200
[client endConfig];
这是 qoncrete 自定义分析平台 [a href="https://www.qoncrete.com">的 iOS 或 OS 客户端。