iOS SDK

1、iOS SDK 的最新版本是 2.0.5

一、集成 SDK

1.1、CocoaPods 获取 SDK 库

在 Podfile 文件中添加 pod 'TSAnalyticsSDK-iOS'
打开终端,切换到项目目录
执行 pod install 或 pod update

1.2、初始化 SDK

在 AppDelegate 程序入口引入 SDK,配置参数并调用采集数据接口

// 引入SDK 头文件
import AnalyticsSDK;
@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        // 初始化配置 配置TSConfigOptions对象,默认server_url值SDK会自动判断
        let options = TSConfigOptions(appKey: "qa157646865XXX", launchOptions: launchOptions);
        // 如果需要自定义指定server_url参数,则使用下面的方法进行配置
        //let options1 = TSConfigOptions(appKey: "qa157646865XXX",serverURL: "XXX", launchOptions: launchOptions);
        // 开启 Debug模式
        options.debugMode = TSAnalyticsDebugMode.only;
        //用于区分一个项目下的多个应用, 可选
        options.ts_app = "";
        //全局自定义扩展属性
        options.ts_ext = "";
        // 初始化SDK
        TSAnalyticsSDK.start(with: options);
        return true
    }
}

二、设置用户属性

2.1 调用 setUserInfo 方法设置用户属性

在登录成功后设置用户信息,且最好在发送页面采集数据请求前调用,否则数据上无法准确识别用户

参数说明:JsonObject,只支持以下属性的设置

字段 类型 是否必须 说明
guid String 业务系统用户唯一标识
real_name String 真实姓名
nick_name String 昵称
age Number 年龄
birthday String 生日
gender String 性别: 男/女
account String 账号
country String 国家
province String 省份
city String 城市

示例

//在登录成功后设置用户信息
let userInfo = TSConfigUserInfo();
userInfo.guid = "9527";
TSAnalyticsSDK.sharedInstance().setUserInfo(userInfo);

2.2 采集页面数据

示例

在需要自定义页面名称的控制器中继承协议,实现对应的协议方法即可

import UIKit

class ViewController: UIViewController,TSAnalyticsSDKAutoTracker {

    var channel:String = "";
    var firstName:String = "";
    var age:NSInteger = 0;
    var isShow:Bool = false;
    var lastName:String = "";

    override func viewDidLoad() {
        super.viewDidLoad()
        self.title = "test页面";
        self.view.backgroundColor = UIColor.white;

//        getProperties()
    }

    ///自定义页面名称
    func setPageName() -> String {
        return NSStringFromClass(testViewController.self) + "的page_name";
    }
    ///自定义页面标题
    func setPageTitle() -> String {
        return NSStringFromClass(testViewController.self) + "的page_title";
    }


}

至此已完成对页面数据的采集,用户访问页面,即可监测到对应数据

三、自定义事件埋码

示例
⻚⾯有⼀个获取⼿机验证码的按钮需要,需要添加监测,可在点击按钮时调用事件采集接口

接口参数类型:JsonObject
JsonObject 中的每个参数如下

  • event_name:String,必须,事件名称
  • event_param:JsonObject,选填,事件属性
let eventInfo = TSConfigEvent();
// 事件名 必须
eventInfo.eventName = "获取验证码";
let eventParam = [
    "phone": "1861087138x",//事件属性 非必须 手机号
 ];
eventInfo.eventParam = eventParam;
// 上报数据
TSAnalyticsSDK.sharedInstance().event(eventInfo);

通过上面的监测代码,我们可以监测到获取手机验证码的按钮,被点击了几次,以及哪些手机号在获取验证码

示例 1:查看商品,加入购物车流程

// 在进入商品详情页面加载完成后埋点上传「商品详情」事件
let eventInfo = TSConfigEvent();
// 定义事件名称
eventInfo.eventName = "商品详情";
let eventParam = [
      "productId": "1",// 设置商品ID
    "productName": "源慧大礼品",// 设置商品名称
    "productCategory": "电子",// 设置商品类别
 ];
//设置事件属性
eventInfo.eventParam = eventParam;
// 调用采集事件接口
TSAnalyticsSDK.sharedInstance().event(eventInfo);


// 在商品详情页面为加入购物车按钮进行埋点上传,事件为「加入购物车」
let eventInfo = TSConfigEvent();
// 定义事件名称
eventInfo.eventName = "加入购物车";
let eventParam = [
      "productId": "1",// 设置商品ID
    "productName": "源慧大礼品",// 设置商品名称
    "productCategory": "电子",// 设置商品类别
 ];
//设置事件属性
eventInfo.eventParam = eventParam;
// 调用采集事件接口
TSAnalyticsSDK.sharedInstance().event(eventInfo);

示例 2:用户登录流程

// 点击登录按钮后未提交登录请求前进行埋点上传,事件为「登录」
let eventInfo = TSConfigEvent();
// 定义事件名称
eventInfo.eventName = "登录";
// 定义事件属性,该事件属性为空
let eventParam = [];
//设置事件属性
eventInfo.eventParam = eventParam;
// 调用采集事件接口
TSAnalyticsSDK.sharedInstance().event(eventInfo);

// 点击登录按钮提交登录请求后进行埋点上传,事件为「登录成功」
let eventInfo = TSConfigEvent();
// 定义事件名称
eventInfo.eventName = "登录成功";
let eventParam = [
      "status": "success",// 设置登录状态 success/fail
    "errMsg": ""// 设置登录失败错误信息
 ];
//设置事件属性
eventInfo.eventParam = eventParam;
// 调用采集事件接口
TSAnalyticsSDK.sharedInstance().event(eventInfo);

通过上面的示例,可以在任意流程进行事件埋点

results matching ""

    No results matching ""