全部產品
Search
文件中心

Quick Tracking:引入&配置SDK

更新時間:Nov 14, 2025

SDK基本資料

SDK名稱

版本號碼

md5值

包名

包體大小

QuickTracking iOS SDK

最新版本:1.7.9

更新日誌:iOS SDK更新日誌

c1c22f749eee7d6109f57ab0e6c31ac3

com.quicktracking.sdk.ios.QTCommon

6.8MB

1 快速整合

在QuickTracking後台,為每一個App產生了專屬的整合代碼,可以根據產品內的引導進行整合。注意,需要檢查目前是否已經使用了友盟+SDK,如果已經使用,請及時設定更改SDK檔案路徑,具體設定方式請參考本文檔中1.6章節部分內容。

1.1 進入產品後台image.png

1.2 找到應用歸屬組織image.png

1.3 找到應用image

1.4 點擊“去整合”image

1.5 點擊後可以擷取專屬整合代碼

image

1.6 檢查是否與友盟+SDK衝突

注意,需要檢查目前是否已經使用了友盟+SDK,如果已經使用,請務必設定更改SDK檔案路徑。

重要

更改SDK檔案路徑方式:

  • 已經整合了友盟+SDK,現在需要整合QT SDK:在QT和友盟+的所有代碼最前面增加(至少早於收數網域名稱)[QTConfigure resetStorePath];

  • 已經整合了QT SDK,現在需要整合友盟+SDK:在QT和友盟+的所有代碼最前面(至少早於收數網域名稱)增加[UMConfigure resetStorePath];

如果不按照上述的邏輯調用,則會使友盟+SDK與QT SDK共同使用一個儲存路徑,導致日誌混亂。具體邏輯為:先調用的哪個SDK初始化方法,就重新設定另外一個SDK的檔案路徑,比如先初始化的友盟+SDK,就調用 [QTConfigure resetStorePath];,如果是先初始化的QT SDK,就需要調用[UMConfigure resetStorePath];

請注意:如果您重新設定了QT SDK的路徑,使用者帳號、應用版本等主動設定給SDK的特徵資訊儲存Key值會發生變化,如果您依賴了這些欄位做業務處理,請重新設定,我們強烈建議您在初次整合時就進行配置,避免資料損失。

2 整合代碼明細

如果因為特定原因,無法抵達上述頁面,需要觀看文檔才可以進行整合,具體整合代碼如下:

2.1 參數準備

appkey:在應用列表中擷取

收數網域名稱:在“管理主控台-採集資訊”模組中擷取

2.2 引入SDK

在終端執行pod setup命令,拉取最新pod庫時間較長。

$ pod setup

Cocoapods整合可靈活配置所需SDK,如工程target名為“QuickTrackingDemo”,可選添下面的SDK,如在專案根目錄的Podfile的格式:

target 'QuickTrackingDemo' do     
pod '<Quick Tracking SDK名>' 
end

說明 :由於 pod search 命令對新增專案可能出現無法找到的情況,建議直接使用 pod update 命令進行直接更新。

Quick Tracking基礎庫

//QuickTracking 統計分析 SDK
pod 'QTCommon', '~> 1.7.9'
 
//可在專案中加入 “基礎庫-日誌庫” 中的 UMCCommonLog 進行開發調試。
pod 'UMCCommonLog'

說明:UMCCommonLog 為開發階段進行調試SDK及相關功能使用,可在發布 App 前移除

2.3 手動整合

依賴庫:

CoreTelephony.framework    擷取電訊廠商標識
    
libz.tbd  資料壓縮
    
libsqlite3.tbd  資料緩衝
     
SystemConfiguration.framework  判斷網路狀態

libc++.tbd   C++ 標準庫

工程配置:

  1. 選擇SDK功能組件並下載,解壓.zip檔案得到相應組件包(例如:QTCommon.framework等)。

  2. XcodeFile—>Add Files to"Your Project",在彈出Panel選中所下載組件包->Add。(註:選中“Copy items if needed”)image

  3. 添加依賴庫,在專案設定target -> 選項卡General ->Linked Frameworks and Libraries

    如下:1615343052184-db860bef-a753-494f-92da-243a8c136b2d

  4. Targets->BuildSettings 中, Other Linker Flags增加-ObjC,⼀定要添加此項,注意是⼤寫C,不是⼩寫c。

2.4 引入標頭檔

#import <QTCommon/QTCommon.h>
#import <UMCommonLog/UMCommonLogManager.h> //引入日誌包時需要添加

3 埋點驗證配置

添加您的 URL Scheme 到專案中,URL Scheme 位於專案設定 target ->選項卡 Info ->URL Types。填入的scheme:atm.yourappkey。在AppDelegate中調用函數[QTMobClick handleUrl:url]來接收 URL

AppDelegate調用:

- (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
    if ([QTMobClick handleUrl:url]) {
        
      return YES;
    }

    return YES;
}

SceneDelegate調用:

- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {

    for (UIOpenURLContext *context in connectionOptions.URLContexts) {
        [QTMobClick handleUrl:context.URL];
    }
}

- (void)scene:(UIScene *)scene openURLContexts:(NSSet<UIOpenURLContext *> *)URLContexts {

    [QTMobClick handleUrl:URLContexts.allObjects.firstObject.URL];
}

4 上架說明

您需要在應用的隱私政策中明確: - 使用 QuickTracking SDK 收集的資料類型及用途(如裝置標識符、使用行為等)。 - 使用者如何撤回跟蹤授權(通過系統設定 > 隱私 > 跟蹤關閉許可權)。

4.1 IDFA說明

  1. 【Quick Tracking】SDK預設採集IDFA標識,用來更準確的分析核對資料。對於應用本身沒有擷取idfa的情況,建議將應用提交至AppStore時按如下方式配置:(以避免被蘋果以“應用不含廣告功能,但擷取了廣告標識符IDFA”為由拒絕上架。)1612266822165-29c8614c-00ce-4dd0-958e-76f02754d244

  2. Quick Tracking SDK不主動申請IDFA擷取許可權,若您的App本身就沒有申請IDFA許可權,Quick Tracking並不會觸發用戶端許可權申請的彈窗,因此需要您在應用中進行配置。

  3. 如果使用者不同意採集IDFA,請設定返回自訂欄位或返回Null 字元串,具體設定方式請參考文檔:2.1 裝置ID設定,這樣Quick Tracking SDK就不會採集IDFA標識了。

4.2 App Tracking Transparency 說明

為確保符合 Apple 的隱私政策,使用 QuickTracking SDK 的應用必須請求使用者授權以啟用跟蹤功能。此許可權需通過 iOS 的 App Tracking Transparency (ATT) 架構擷取。

配置步驟

  1. Info.plist 配置 在應用的 Info.plist 中添加 NSUserTrackingUsageDescription 鍵,並提供方便使用的說明文案:

    xml
    
    <!-- 新增 ATT 許可權描述 -->
    <key>NSUserTrackingUsageDescription</key>
    <string>為了提供更相關的廣告內容和最佳化服務體驗,我們需要擷取您的允許來跟蹤您的活動。</string>
  2. 請求授權時機 建議在應用啟動時或首次使用跟蹤相關功能前調用 ATT 彈窗。避免在冷啟動瞬間請求,以提高使用者同意率。

  3. 程式碼範例

    #import <AppTrackingTransparency/AppTrackingTransparency.h>
    #import <AdSupport/AdSupport.h>
    #import <QTCommon/QTCommon.h>
    
    - (void)requestTrackingPermission {
        if (@available(iOS 14, *)) {
            [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
                if (!(status == ATTrackingManagerAuthorizationStatusAuthorized)) {
                    {
                        [QTConfigure customSetIdfaBlock:^NSString *{
                            return @"填寫自訂的IDFA";
                        }];
                    }
                }
            }];
        }
    }