SDK,用于将应用程序安装和用户目标操作跟踪引入第三方项目。
将 ActionpayTracker.framework 链接到项目。
框架是一个静态库,因此需要在项目设置为添加标志。
其他链接器标志:-all_load
在某些情况下,为了跟踪安装,需要与应用程序通过 URL Scheme 进行反馈。为了正常工作,必须存在 URL 方案。
// ...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Инициализируем параметры трэкера
// [SLTracker initTest:@"sltestscheme" /* URL scheme */ installUrl:nil]; // Инициализация в тестовом режиме
[SLTracker init:@"my_app_id" scheme:@"sltestscheme" installUrl:nil]; // Инициализация в боевом режиме
// Установим время автоматической отсылки событий
[[SLTracker sharedTracker] setUpdateInterval:10 /* каждые 10 секунд */ repeat:YES /* повторять */];
// Начать следить за состоянием изменения подключения к интернету
[[SLTracker sharedTracker] connectionListenerStart];
// Установить делегат для контроля цикла обработки событий
[[SLTracker sharedTracker] setDelegate:self];
return YES;
}
// ЭТО НЕОБХОДИМО СДЕЛАТЬ: Устанавливаем обработчик URL Scheme
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [SLTracker.sharedTracker trackUrl:application url:url];
}
#pragma mark – SmartLeadTracker delegate
- (BOOL)onBeginTrack:(id)sender action:(SLAction *)action
{
NSLog(@"onBeginTrack: %@ action: %@", sender, action.name);
return YES;
}
- (BOOL)onBeginSend:(id)sender action:(SLAction *)action
{
NSLog(@"onBeginSend: %@ action: %@", sender, action.name);
return YES;
}
- (void)onEndSend:(id)sender action:(SLAction *)action
{
NSLog(@"onEndSend: %@ action: %@ -> %d", sender, action.name, action.sent);
}
// ...
事件仅发生一次
[[SLTracker sharedTracker] trackAction:@"event" apid:nil]; // Повторно событие не отработает
每次都会处理事件
[[SLTracker sharedTracker] trackAction:@"purchase" price:@"440" orderid:nil];
事件跟踪方法
// name – имя события
// price – используется при регистрации событий оплаты (если указан этот параметр событие отрабатывает каждый раз)
// orderId – Идетификатор заказа (Используется совместно с price)
// apid – Постфикс идентификатор (если хотите указать свой постфикс к имени события, в противном случае он будет формироваться автоматически)
- (BOOL)trackAction:(NSString *)name
price:(NSString *)price
orderid:(NSString *)orderid;
- (BOOL)trackAction:(NSString *)name
price:(NSString *)price
orderid:(NSString *)orderid
apid:(NSString *)apid;
- (BOOL)trackAction:(NSString *)name
apid:(NSString *)apid;
// Простое событие вызывается единожды
- (BOOL)trackAction:(NSString *)name;