iOS SDK API

最新更新:2025-03-18

SDK 接口說明

  1. MTMAService,包含 SDK 所有接口。
  2. MTMAConfig,應用配置信息類。
  3. MTMAUserID,用戶標識模型。
  4. MTMAUserContact, 用戶聯繫方式模型。
  5. MTMACollectControl, 數據採集控制模型。

啟動 MA 業務功能

支援的版本

開始支援的版本: 5.0.0

接口定義

  • + start:(MTMAConfig * )config;
    • 接口說明:
      • 啟用 EngageLab MA 功能。
      • start 接口是其他接口的開始接口,所以必須先調用 start 接口,才能調用其他接口
    • 參數說明
      • config 配置類

調用示例

MTMAConfig *config = [[MTMAConfig alloc] init]; [MTMAService start:config];
              MTMAConfig *config = [[MTMAConfig alloc] init];
    [MTMAService start:config];

        
此代碼塊在浮窗中顯示

設置用戶聯繫方式

支援的版本

開始支援的版本: 5.0.0

接口定義

  • + (void)setUserContact:(MTMAUserContact * )contact;
    • 接口說明:
      • 設置用戶聯繫方式
    • 參數說明
      • contacts:設置多個聯繫方式,Key 為聯繫方式的名稱,value 為聯繫方式的值,目前支援 email、mobile_phone、landline_phone、whatsapp_phone 這 4 種聯繫方式

調用示例

MTMAUserContact *contact = [[MTMAUserContact alloc] init]; contact.contacts = @{@"工作手機":@"13*********"}; contact.completion = ^(NSInteger code, NSString * _Nonnull message) { }; [MTMAService setUserContact:contact];
              MTMAUserContact *contact = [[MTMAUserContact alloc] init];
    contact.contacts = @{@"工作手機":@"13*********"};
    contact.completion = ^(NSInteger code, NSString * _Nonnull message) { };
    [MTMAService setUserContact:contact];

        
此代碼塊在浮窗中顯示

事件上報

支援的版本

開始支援的版本: 5.0.0

接口定義

  • **+ (void)eventRecord:(MTMAEventObject )event;*
    • 接口說明:
      • 上報事件
    • 參數說明
      • 上報事件模型
      • eventName:上報的事件名稱
      • property:事件屬性,Key為屬性名稱,value為屬性值

調用示例

MTMAEventObject *object = [[MTMAEventObject alloc] init]; object.eventName = @"sndefineevent2"; object.property = @{ @"key1":@"value1", @"key2":@"value2", }; [MTMAService eventRecord:object];
              MTMAEventObject *object = [[MTMAEventObject alloc] init];
    object.eventName = @"sndefineevent2";
    object.property = @{
        @"key1":@"value1",
        @"key2":@"value2",
    };
    [MTMAService eventRecord:object];

        
此代碼塊在浮窗中顯示

設置用戶標識

支援的版本

開始支援的版本: 5.0.0

接口定義

  • + (void)identifyAccount:(MTMAUserID * )userID;
    • 接口說明:
      • 設置用戶標識
    • 參數說明
      • 用戶標識模型
      • userID:將唯一的登錄用戶標識設置在此
      • anonymousID:當用戶未登錄,但提供了其他可作為標識的信息時,可將其設置為匿名ID,如郵箱地址、第三方生成的標識ID

調用示例

MTMAUserID *userid = [[MTMAUserID alloc] init]; userid.anonymousID = @"xxx"; userid.userID = @"xxx"; [MTMAService identifyAccount:userid];
              MTMAUserID *userid = [[MTMAUserID alloc] init];
    userid.anonymousID = @"xxx";
    userid.userID = @"xxx";
    [MTMAService identifyAccount:userid];

        
此代碼塊在浮窗中顯示

設置上報數據間隔

支援的版本

開始支援的版本: 5.0.0

接口定義

  • + (void)setReportInterval:(NSInteger)interval;
    • 接口說明:
      • 設置上報數據間隔,不調用該接口時,默認為 10s 上報一次事件數據
      • 上報間隔內存緩存,需要在應用程式每次生命週期中調用才會生效
    • 參數說明
      • interval 上報間隔,單位 s(秒)

調用示例

[MTMAService setReportInterval:10];
              [MTMAService setReportInterval:10];

        
此代碼塊在浮窗中顯示

設置事件緩存上限條數

支援的版本

開始支援的版本: 5.0.0

接口定義

  • + (void)setMaxEventCacheCount:(NSInteger)count;
    • 接口說明:
      • 設置事件緩存上限條數,默認 50 條,最高不能超過 500 條
      • 當超出緩存數量時會上報報全部數據
    • 參數說明
      • count 事件緩存條數上限

調用示例

[MTMAService setMaxEventCacheCount:50];
              [MTMAService setMaxEventCacheCount:50];

        
此代碼塊在浮窗中顯示

設置會話超時時間

支援的版本

開始支援的版本: 5.0.0

接口定義

  • + (void)setNoActiveSessionEndDurationTime:(NSInteger)interval;
    • 接口說明:
      • 設置會話超時時間,默認 30 分鐘
      • App 切換到後台,會話開始超時計時,超時時間內沒有活動,就結束當前會話
    • 參數說明
      • interval 超時時長,單位s(秒)

調用示例

[MTMAService setNoActiveSessionEndDurationTime:50];
              [MTMAService setNoActiveSessionEndDurationTime:50];

        
此代碼塊在浮窗中顯示

獲取 EUID

支援的版本

開始支援的版本: 5.0.0

接口定義

  • + (NSString * )EUID;
    • 接口說明:
      • 獲取 EngageLab MA 的 EUID

調用示例

[MTMAService EUID];
              [MTMAService EUID];

        
此代碼塊在浮窗中顯示

設置 UTM 屬性

支援的版本

開始支援的版本: 5.0.0

接口定義

  • + (void)setUtmProperties:(NSDictionary * )property;
    • 接口說明:
      • UTM 屬性為標準事件屬性,若開發者能識別用戶是從哪一個廣告跳轉訪問 App ,建議設置 UTM 信息,我們將在事件上報時傳遞該參數。目前能夠設置 UTM 屬性為:
        • utm_source 廣告系列來源
        • utm_medium 廣告系列媒介
        • utm_term 廣告系列字詞
        • utm_content 廣告系列內容
        • utm_campaign 廣告系列名稱
        • utm_id 廣告系列ID

調用示例

[MTMAService setUtmProperties:@{@"utm_source":@"value"}];
                 [MTMAService setUtmProperties:@{@"utm_source":@"value"}];

        
此代碼塊在浮窗中顯示

設置用戶屬性

覆蓋更新用戶屬性

  • + (void)setProperty:(NSDictionary * )userinfo completion:(void (^)(NSInteger code, NSString * message))completion;
    • 接口說明:
      • 這些用戶屬性的內容用一個 NSDictionary 來存儲,其中的 key 是用戶屬性的名稱,必須是 NSString,Value 則是用戶屬性的內容,只支援 NSString、NSNumber,NSSet、NSArray 這些類型。
      • NSSet 或者 NSArray 類型的 value 中目前只支援其中的元素是 NSString。
      • 如果某個用戶屬性之前已經存在了,則這次會被覆蓋掉;不存在,則會創建。如:用戶會員等級。
    • 調用示例:
[MTMAService setProperty:@{@"key":@"value"} completion:^(NSInteger code, NSString * _Nonnull message) { }];
             [MTMAService setProperty:@{@"key":@"value"} completion:^(NSInteger code, NSString * _Nonnull message) {
       
   }];

        
此代碼塊在浮窗中顯示
  • + (void)setProperty:(NSString * )key to:(id)value completion:(void (^)(NSInteger code, NSString * message))completion;
    • 接口說明:
      • 設置用戶的單個用戶屬性的內容。
      • 這些用戶屬性的內容用一個 NSDictionary 來存儲,其中的 key 是用戶屬性的名稱,必須是 NSString,Value 則是用戶屬性的內容,只支援 NSString、NSNumber,NSSet、NSArray 這些類型。
      • NSSet 或者 NSArray 類型的 value 中目前只支援其中的元素是 NSString。
      • 如果某個用戶屬性之前已經存在了,則這次會被覆蓋掉;不存在,則會創建。如:用戶會員等級。
    • 調用示例:
[MTMAService setProperty:@"key" to:@"value" completion:^(NSInteger code, NSString * _Nonnull message) { }];
             [MTMAService setProperty:@"key" to:@"value" completion:^(NSInteger code, NSString * _Nonnull message) {
       
   }];

        
此代碼塊在浮窗中顯示

累加更新用戶屬性

  • **+ (void)increaseProperty:(NSString )key by:(NSNumber )amount completion:(void (^)(NSInteger code, NSString * message))completion;
    • 接口說明:
      • 給一個數值類型的用戶屬性增加一個數值,累加所有上報的數據,如累計消費金額。
      • 只能對 NSNumber 類型的用戶屬性調用這個接口,否則會被忽略, 如果這個用戶屬性之前不存在,則初始值當做 0 來處理。
    • 調用示例:
[MTMAService increaseProperty:@"key" by:@(2) completion:^(NSInteger code, NSString * _Nonnull message) { }];
              [MTMAService increaseProperty:@"key" by:@(2) completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

        
此代碼塊在浮窗中顯示
  • **+ (void)increaseProperty:(NSDictionary )userinfo completion:(void (^)(NSInteger code, NSString * message))completion;*
    • 接口說明:
      • 給多個數值類型的用戶屬性增加數值,累加所有上報的數據,如累計消費金額。
      • 只能對 NSNumber 類型的用戶屬性調用這個接口,否則會被忽略, 如果這個用戶屬性之前不存在,則初始值當做 0 來處理。
    • 調用示例:
[MTMAService increaseProperty:@{@"key1":@(5),@"key2":@(3)} completion:^(NSInteger code, NSString * _Nonnull message) { }];
              [MTMAService increaseProperty:@{@"key1":@(5),@"key2":@(3)} completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

        
此代碼塊在浮窗中顯示

追加用戶屬性

  • **+ (void)addProperty:(NSString )key by:(NSObject )content completion:(void (^)(NSInteger code, NSString * message))completion
    • 接口說明:
      • 向一個 NSSet 或者 NSArray 類型的屬性添加一些值。
      • 如前面所述,這個 NSSet 或者 NSArray 的元素必須是 NSString,否則,會忽略, 同時,如果要 add 的用戶屬性之前不存在,會初始化一個空的 NSSet 或者 NSArray。
    • 調用示例:
[MTMAService addProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) { }];
              [MTMAService addProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

        
此代碼塊在浮窗中顯示
  • **+ (void)addProperty:(NSDictionary )userinfo completion:(void (^)(NSInteger, NSString * _Nonnull))completion;*
    • 接口說明:
      • 向多個 NSSet 或者 NSArray 類型的屬性添加一些值。
      • 如前面所述,這個 NSSet 或者 NSArray 的元素必須是 NSString,否則,會忽略, 同時,如果要 add 的用戶屬性之前不存在,會初始化一個空的 NSSet 或者 NSArray。
    • 調用示例:
[MTMAService addProperty:@{@"key1":@[@"value"],@"key2":@[@"value"]} completion:^(NSInteger code, NSString * _Nonnull message) { }];
              [MTMAService addProperty:@{@"key1":@[@"value"],@"key2":@[@"value"]} completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

        
此代碼塊在浮窗中顯示

移除用戶屬性

  • **+ (void)removeProperty:(NSString * )key by:(NSObject )content completion:(void (^)(NSInteger code, NSString * message))completion;*
    • 接口說明:
      • 向一個 NSSet 或者 NSArray 類型的屬性刪除一些值。
      • 參數 content 類型為 NSSet 或者 NSArray,裡面的元素必須是 NSString。
    • 調用示例:
[MTMAService removeProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) { }];
              [MTMAService removeProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

        
此代碼塊在浮窗中顯示

刪除用戶屬性

支援的版本

開始支援的版本: 5.0.0

接口定義

  • + (void)deleteProperty:(NSString * )key completion:(void (^)(NSInteger code, NSString * message))completion;
    • 接口說明:
      • 刪除某個用戶屬性的全部內容
      • 如果這個用戶屬性之前不存在,則直接忽略

調用示例

[MTMAService deleteProperty:@"key" completion:^(NSInteger code, NSString * _Nonnull message) { }];
              [MTMAService deleteProperty:@"key" completion:^(NSInteger code, NSString * _Nonnull message) {
        
    }];

        
此代碼塊在浮窗中顯示

數據採集控制

支援的版本

開始支援的版本: 5.0.0

接口定義

  • **+ (void)setCollectControl:(MTMACollectControl )control;*
    • 接口說明:
      • 控制 MTMACollectControl 類中數據項是否採集

調用示例

MTMACollectControl *collectControl = [[MTMACollectControl alloc] init]; collectControl.idfa = YES; collectControl.idfv = YES; collectControl.carrier = YES; [MTMAService setCollectControl:collectControl];
              MTMACollectControl *collectControl = [[MTMACollectControl alloc] init];
    collectControl.idfa = YES;
    collectControl.idfv = YES;
    collectControl.carrier = YES;
    [MTMAService setCollectControl:collectControl];

        
此代碼塊在浮窗中顯示

MTMAConfig 類

應用配置信息類。以下是屬性說明:

參數名稱 參數類型 參數說明
userID MTMAUserID 用戶標識模型,當設置該屬性時時會在初始化時進行設置用戶標識
completion (^)(NSInteger code, NSString * message) 请求結果回調, code:0為成功

MTMAUserID 類

用戶標識模型類。以下是屬性說明:

參數名稱 參數類型 參數說明
userID NSString 將唯一的登錄用戶標識設置在此
anonymousID NSString 當用戶未登錄,但提供了其他可作為標識的信息時,可將其設置為匿名ID,如郵箱地址、第三方生成的標識ID
completion (^)(NSInteger code, NSString * message) 请求結果回調, code:0 為成功

MTMACollectControl 類

用戶數據採集控制模型類。以下是屬性說明:

參數名稱 參數類型 參數說明
idfa BOOL 是否採集idfa信息。設置為NO,不採集idfa信息。默認為NO。
idfv BOOL 是否採集idfv信息。設置為NO,不採集idfv信息。默認為NO。
carrier BOOL 是否採集運營商信息。設置為NO,不採集運營商信息。默認為YES。

MTMAUserContact 類

用戶通道模型類。以下是屬性說明:
如果不設置或者設置為 nil 則認為不修改,設置為 "" 空字符串的時候認為清空該聯繫方式

參數名稱 參數類型 參數說明
contacts NSDictionary 聯繫方式字典,支援 email、mobile_phone、landline_phone、whatsapp_phone 這 4 種聯繫方式
completion (^)(NSInteger code, NSString * message) 请求結果回調, code:0 為成功

MTMAEventObject 類

自定義事件對象類。以下是屬性說明:

參數名稱 參數類型 參數說明
eventName NSString 事件 ID,必填,非空
property NSDictionary<NSString *, id> 自定義屬性 (小於等於500個) key 為 NSString,只能包含數字字母下劃線;value 可以是 NSString/NSNumber
在文档中心打开
icon
聯繫銷售