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.配置查看