You need to enable JavaScript to run this app.
导航

iOS

最近更新时间2024.01.11 10:28:06

首次发布时间2023.11.10 11:15:14

一、简介

火山引擎DataSail提供埋点数据上报iOS SDK,用户在开通DataSail服务之后,可以通过iOS SDK将埋点数据上报到火山云DataSail。

二、前置准备

服务开通

请确保您已开通了您需要访问的服务。您可前往火山引擎控制台开通全域数据集成服务,详见服务开通

获取安全凭证

Access Key(访问密钥)是访问火山引擎服务的安全凭证,包含Access Key ID(简称为AK)和Secret Access Key(简称为SK)两部分。您可登录火山引擎控制台,前往访问控制访问密钥 中创建及管理您的Access Key。更多信息可参考访问密钥帮助文档

三、集成SDK

CocoaPods

CocoaPods Guides

1. 设置火山源

Podfile 中添加火山引擎源

source 'https://github.com/volcengine/volcengine-specs.git'

2. 集成SDK

Podfile 中添加 DataSail 依赖, 后执行 pod install --repo-update

#required 引入火山引擎源


target APPLICATION_TARGET do

  pod 'DataSail', '0.0.1'
  
end

具体可用 Specs 列表

CocoaPods Spec必要 Required功能 FuntionalDesc
Core[默认] 埋点核心库
Basic[默认] DataSail Core Features 核心功能依赖库
DevToolsDevTools 开发者工具
四、使用

获取应用信息

1、获取AppId/应用ID

  1. 申请应用:DataSail-应用管理-新建应用

  2. AppID查看

2、获取TenantID/租户ID

3、获取Endpoint & TaskKey

实时埋点 endpoint & taskKey

Endpoint

https://datasail01-cn-beijing.volceapplog.com/v1/production/general/collect/{DataSail 采集任务ID}/list/

TaskKey

  1. 新建数据采集任务:DataSail-数据采集-采集管理-新建采集任务

  2. 采集任务TaskKey查看




启动

可以参考以下代码进行启动

#import <DataSail/DataSail.h>


@interface AppDelegate () {
    DataSailAgent *agent;
}

@end

@implementation AppDelegate

//在需要使用埋点之前启动SDK
- (BOOL)launchSDK
    // Override point for customization after application launch.
    
    DataSailConfig *config = [DataSailConfig configurationWithAppID:<# nonnull NSString *appId #>];
    
    //租户Id
    config.tenantId = <# nonnull NSString * tenant Id #>;
    
    //schema + url
    //e.g https://datasail.com/
    config.endpointDomain = <# nonnull NSString * Endpoint Domain #>;
    config.taskKey = <# nonnull NSString * Task Key #>;
    
#if DEBUG
    //开启Console日志
    config.consoleLogEnabled = YES;
#endif
    //是否开启埋点验证,线上Release版本一定要关闭
    config.verificationEnabled = <# BOOL verificationEnabled #>;
    
    //如果关闭压缩设置 DSCompressionAlgorithmNone
    config.compression = DSCompressionAlgorithmGZIP;
    
    DataSailAgent *agent = [DataSailAgent agentWithConfiguration:config];
    self->agent = agent; //用户需要持有实例的内存
    
    //启动
    NSError *error;
    if (![agent start:&error]) {
        NSLog(@"DataSail init failure due to %@", error.localizedDescription);
    } else {
        NSLog(@"DataSail init successful");
    }
    
    return YES;
}
@end

埋点

[agent trackEvent:<# nonnull NSString * Event Key #>
   withProperties:<# nullable NSDictionary * props #>];

Properties 参数需要是有效的 JSON 对象,参考 <Foundation/NSJSONSerialization.h>
- All objects are NSString, NSNumber, NSArray, NSDictionary, or NSNull
- All dictionary keys are NSStrings
- NSNumbers are not NaN or infinity

1. 功能开关

SDK 支持在不同的合规场景下,对于埋点的记录和上报进行独立的功能开关控制

@interface DataSailAgent : NSObject
//Default is YES;
@property (nonatomic, assign) BOOL eventTrackEnabled;

//Default is YES;
@property (nonatomic, assign) BOOL eventUploadEnabled;

@end

用户态

埋点会基于触发的时序上对于用户态进行关联,默认的登录态需要在 SDK 启动后尽快进行设置

//![agent start:&error]
//默认登陆态需要在启动后尽快的设置
[agent setUserUniqueId:<# nullable NSString * user_id #>];


埋点验证

1、启动时开启埋点验证功能

config.verificationEnabled = YES;

2、获取在启动后,本地设备ID

//![agent start:&error]NSLog(@"cdid => %@", [agent clientId]);

3、在火山产品页面进行埋点验证,详见用户手册:埋点实时验证



开发者工具

1.集成

pod 'DataSail/DevTools', '0.0.1'

2.设置

config.devToolsEnabled = YES;

3. 用户自行添加入口显示DevToolsUI

- (void)onAnyDevToolsButtonClick {
    if (self.agent.devToolsPanel) {
        [self.navigationController presentViewController:self.agent.devToolsPanel animated:YES completion:nil];
    }
}

4.主要功能使用

1.日志导出

在 LOG 标签下,选择对应启动的日志文件,左滑后点击蓝色的分享按钮

日志文件名为 session_id 的前缀




2.配置查看