คู่มือ SDK API

泰语

# iOS SDK API ## คำอธิบายอินเตอร์เฟซ SDK 1. MTMAService รวมทุกอินเตอร์เฟซของ SDK 2. MTMAConfig คลาสข้อมูลการตั้งค่าแอปพลิเคชัน 3. MTMAUserID โมเดลระบุผู้ใช้งาน 4. MTMAUserContact โมเดลข้อมูลการติดต่อผู้ใช้งาน 5. MTMACollectControl โมเดลควบคุมการเก็บข้อมูล ## เริ่มต้นฟังก์ชัน MA #### เวอร์ชันที่รองรับ เวอร์ชันที่เริ่มรองรับ: 5.0.0 #### การกำหนดอินเตอร์เฟซ - **+ start:(MTMAConfig * )config;** - คำอธิบายอินเตอร์เฟซ: - เปิดใช้งานฟังก์ชัน EngageLab MA - อินเตอร์เฟซ start เป็นอินเตอร์เฟซเริ่มต้นสำหรับอินเตอร์เฟซอื่น ๆ ดังนั้นต้องเรียกใช้อินเตอร์เฟซ start ก่อนจึงจะสามารถเรียกใช้อินเตอร์เฟซอื่นได้ - คำอธิบายพารามิเตอร์ - config คลาสการตั้งค่า #### ตัวอย่างการเรียกใช้งาน
              
              # iOS SDK API

## คำอธิบายอินเตอร์เฟซ 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: ตั้งค่าข้อมูลการติดต่อหลายรายการ คีย์คือชื่อของข้อมูลการติดต่อ และค่าคือค่าของข้อมูลการติดต่อ ขณะนี้รองรับข้อมูลการติดต่อ 4 ประเภท: email, mobile_phone, landline_phone และ whatsapp_phone #### ตัวอย่างการเรียกใช้งาน
              
              
## ตั้งค่าข้อมูลการติดต่อผู้ใช้งาน

#### เวอร์ชันที่รองรับ

เวอร์ชันที่เริ่มรองรับ: 5.0.0

#### การกำหนดอินเตอร์เฟซ

- **+ (void)setUserContact:(MTMAUserContact * )contact;** 
   - คำอธิบายอินเตอร์เฟซ: 
      - ตั้งค่าข้อมูลการติดต่อผู้ใช้งาน
   - คำอธิบายพารามิเตอร์ 
      - contacts: ตั้งค่าข้อมูลการติดต่อหลายรายการ คีย์คือชื่อของข้อมูลการติดต่อ และค่าคือค่าของข้อมูลการติดต่อ ขณะนี้รองรับข้อมูลการติดต่อ 4 ประเภท: email, mobile_phone, landline_phone และ whatsapp_phone

#### ตัวอย่างการเรียกใช้งาน

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
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: คุณสมบัติของเหตุการณ์ โดยคีย์คือชื่อคุณสมบัติ และค่าคือค่าของคุณสมบัติ #### ตัวอย่างการเรียกใช้งาน
              
              
## การรายงานเหตุการณ์

#### เวอร์ชันที่รองรับ

เวอร์ชันที่เริ่มรองรับ: 5.0.0

#### การกำหนดอินเตอร์เฟซ

- **+ (void)eventRecord:(MTMAEventObject *)event;** 
   - คำอธิบายอินเตอร์เฟซ: 
      - รายงานเหตุการณ์
   - คำอธิบายพารามิเตอร์ 
      - โมเดลรายงานเหตุการณ์
      - eventName: ชื่อของเหตุการณ์ที่รายงาน
      - property: คุณสมบัติของเหตุการณ์ โดยคีย์คือชื่อคุณสมบัติ และค่าคือค่าของคุณสมบัติ

#### ตัวอย่างการเรียกใช้งาน

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
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 ที่สร้างโดยบุคคลที่สาม #### ตัวอย่างการเรียกใช้งาน
              
              
## ตั้งค่าระบุผู้ใช้งาน

#### เวอร์ชันที่รองรับ

เวอร์ชันที่เริ่มรองรับ: 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;** - คำอธิบายอินเตอร์เฟซ: - ตั้งค่าช่วงเวลาการรายงานข้อมูลที่อัปโหลด หากไม่ได้เรียกใช้อินเตอร์เฟซนี้ ข้อมูลเหตุการณ์จะถูกรายงานทุก ๆ 10 วินาทีโดยค่าเริ่มต้น - ช่วงเวลาการรายงานจะถูกเก็บไว้ในหน่วยความจำ และต้องเรียกใช้งานในทุกวงจรชีวิตของแอปพลิเคชันเพื่อให้มีผล - คำอธิบายพารามิเตอร์ - interval ช่วงเวลาการรายงาน หน่วยเป็นวินาที (s) #### ตัวอย่างการเรียกใช้งาน
              
              
## ตั้งค่าช่วงเวลาการรายงานข้อมูลที่อัปโหลด

#### เวอร์ชันที่รองรับ

เวอร์ชันที่เริ่มรองรับ: 5.0.0

#### การกำหนดอินเตอร์เฟซ

- **+ (void)setReportInterval:(NSInteger)interval;** 
   - คำอธิบายอินเตอร์เฟซ: 
      - ตั้งค่าช่วงเวลาการรายงานข้อมูลที่อัปโหลด หากไม่ได้เรียกใช้อินเตอร์เฟซนี้ ข้อมูลเหตุการณ์จะถูกรายงานทุก ๆ 10 วินาทีโดยค่าเริ่มต้น
      - ช่วงเวลาการรายงานจะถูกเก็บไว้ในหน่วยความจำ และต้องเรียกใช้งานในทุกวงจรชีวิตของแอปพลิเคชันเพื่อให้มีผล
   - คำอธิบายพารามิเตอร์ 
      - interval ช่วงเวลาการรายงาน หน่วยเป็นวินาที (s)

#### ตัวอย่างการเรียกใช้งาน

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
[MTMAService setReportInterval:10];
              
              [MTMAService setReportInterval:10];

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
## ตั้งค่าขีดจำกัดจำนวนรายการแคชเหตุการณ์ #### เวอร์ชันที่รองรับ เวอร์ชันที่เริ่มรองรับ: 5.0.0 #### การกำหนดอินเตอร์เฟซ - **+ (void)setMaxEventCacheCount:(NSInteger)count;** - คำอธิบายอินเตอร์เฟซ: - ตั้งค่าขีดจำกัดจำนวนรายการแคชเหตุการณ์ ค่าเริ่มต้นคือ 50 และไม่สามารถเกิน 500 ได้ - เมื่อจำนวนแคชเกินขีดจำกัด ข้อมูลทั้งหมดจะถูกรายงาน - คำอธิบายพารามิเตอร์ - count ขีดจำกัดจำนวนรายการแคชเหตุการณ์ #### ตัวอย่างการเรียกใช้งาน
              
              
## ตั้งค่าขีดจำกัดจำนวนรายการแคชเหตุการณ์

#### เวอร์ชันที่รองรับ

เวอร์ชันที่เริ่มรองรับ: 5.0.0

#### การกำหนดอินเตอร์เฟซ

- **+ (void)setMaxEventCacheCount:(NSInteger)count;** 
   - คำอธิบายอินเตอร์เฟซ: 
      - ตั้งค่าขีดจำกัดจำนวนรายการแคชเหตุการณ์ ค่าเริ่มต้นคือ 50 และไม่สามารถเกิน 500 ได้
      - เมื่อจำนวนแคชเกินขีดจำกัด ข้อมูลทั้งหมดจะถูกรายงาน
   - คำอธิบายพารามิเตอร์ 
      - count ขีดจำกัดจำนวนรายการแคชเหตุการณ์

#### ตัวอย่างการเรียกใช้งาน

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
[MTMAService setMaxEventCacheCount:50];
              
              [MTMAService setMaxEventCacheCount:50];

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
## ตั้งค่าระยะเวลาหมดเวลาของเซสชัน #### เวอร์ชันที่รองรับ เวอร์ชันที่เริ่มรองรับ: 5.0.0 #### การกำหนดอินเตอร์เฟซ - **+ (void)setNoActiveSessionEndDurationTime:(NSInteger)interval;** - คำอธิบายอินเตอร์เฟซ: - ตั้งค่าระยะเวลาหมดเวลาของเซสชัน ค่าเริ่มต้นคือ 30 นาที - เมื่อแอปพลิเคชันสลับไปยังพื้นหลัง ตัวจับเวลาหมดเวลาของเซสชันจะเริ่มทำงาน หากไม่มีการใช้งานในระยะเวลาที่กำหนด เซสชันปัจจุบันจะสิ้นสุด - คำอธิบายพารามิเตอร์ - interval ระยะเวลาหมดเวลา หน่วยเป็นวินาที (s) #### ตัวอย่างการเรียกใช้งาน
              
              
## ตั้งค่าระยะเวลาหมดเวลาของเซสชัน

#### เวอร์ชันที่รองรับ

เวอร์ชันที่เริ่มรองรับ: 5.0.0

#### การกำหนดอินเตอร์เฟซ

- **+ (void)setNoActiveSessionEndDurationTime:(NSInteger)interval;** 
   - คำอธิบายอินเตอร์เฟซ: 
      - ตั้งค่าระยะเวลาหมดเวลาของเซสชัน ค่าเริ่มต้นคือ 30 นาที
      - เมื่อแอปพลิเคชันสลับไปยังพื้นหลัง ตัวจับเวลาหมดเวลาของเซสชันจะเริ่มทำงาน หากไม่มีการใช้งานในระยะเวลาที่กำหนด เซสชันปัจจุบันจะสิ้นสุด
   - คำอธิบายพารามิเตอร์ 
      - interval ระยะเวลาหมดเวลา หน่วยเป็นวินาที (s)

#### ตัวอย่างการเรียกใช้งาน

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
[MTMAService setNoActiveSessionEndDurationTime:50];
              
              [MTMAService setNoActiveSessionEndDurationTime:50];

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
## รับค่า EUID #### เวอร์ชันที่รองรับ เวอร์ชันที่เริ่มรองรับ: 5.0.0 #### การกำหนดอินเตอร์เฟซ - **+ (NSString * )EUID;** - คำอธิบายอินเตอร์เฟซ: - รับค่า EUID ของ EngageLab MA #### ตัวอย่างการเรียกใช้งาน
              
              
## รับค่า EUID

#### เวอร์ชันที่รองรับ

เวอร์ชันที่เริ่มรองรับ: 5.0.0

#### การกำหนดอินเตอร์เฟซ

- **+ (NSString * )EUID;** 
   - คำอธิบายอินเตอร์เฟซ: 
      - รับค่า EUID ของ EngageLab MA

#### ตัวอย่างการเรียกใช้งาน

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
[MTMAService EUID];
              
              [MTMAService EUID];

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
## ตั้งค่าคุณสมบัติ UTM #### เวอร์ชันที่รองรับ เวอร์ชันที่เริ่มรองรับ: 5.0.0 #### การกำหนดอินเตอร์เฟซ - **+ (void)setUtmProperties:(NSDictionary * )property;** - คำอธิบายอินเตอร์เฟซ: - คุณสมบัติ UTM เป็นคุณสมบัติเหตุการณ์มาตรฐาน หากนักพัฒนาสามารถระบุได้ว่าผู้ใช้งานมาจากโฆษณาใดที่นำไปยังแอปพลิเคชัน แนะนำให้ตั้งค่าข้อมูล UTM เราจะส่งพารามิเตอร์นี้เมื่อรายงานเหตุการณ์ ขณะนี้สามารถตั้งค่าคุณสมบัติ UTM ได้ดังนี้: - utm_source แหล่งที่มาของแคมเปญโฆษณา - utm_medium สื่อของแคมเปญโฆษณา - utm_term คำหลักของแคมเปญโฆษณา - utm_content เนื้อหาของแคมเปญโฆษณา - utm_campaign ชื่อของแคมเปญโฆษณา - utm_id รหัสของแคมเปญโฆษณา #### ตัวอย่างการเรียกใช้งาน
              
              
## ตั้งค่าคุณสมบัติ UTM

#### เวอร์ชันที่รองรับ

เวอร์ชันที่เริ่มรองรับ: 5.0.0

#### การกำหนดอินเตอร์เฟซ

- **+ (void)setUtmProperties:(NSDictionary * )property;** 
   - คำอธิบายอินเตอร์เฟซ: 
      - คุณสมบัติ UTM เป็นคุณสมบัติเหตุการณ์มาตรฐาน หากนักพัฒนาสามารถระบุได้ว่าผู้ใช้งานมาจากโฆษณาใดที่นำไปยังแอปพลิเคชัน แนะนำให้ตั้งค่าข้อมูล UTM เราจะส่งพารามิเตอร์นี้เมื่อรายงานเหตุการณ์ ขณะนี้สามารถตั้งค่าคุณสมบัติ UTM ได้ดังนี้:
         - utm_source แหล่งที่มาของแคมเปญโฆษณา
         - utm_medium สื่อของแคมเปญโฆษณา
         - utm_term คำหลักของแคมเปญโฆษณา
         - utm_content เนื้อหาของแคมเปญโฆษณา
         - utm_campaign ชื่อของแคมเปญโฆษณา
         - utm_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 - ปัจจุบัน องค์ประกอบใน value ของประเภท NSSet หรือ NSArray รองรับเฉพาะการเป็น NSString - หากคุณสมบัติผู้ใช้บางอย่างมีอยู่ก่อนแล้ว จะถูกเขียนทับในครั้งนี้; หากไม่มีอยู่ จะถูกสร้างขึ้น ตัวอย่างเช่น ระดับสมาชิกของผู้ใช้ - ตัวอย่างการเรียกใช้:
              
              
## ตั้งค่าคุณสมบัติผู้ใช้

### เขียนทับและอัปเดตคุณสมบัติผู้ใช้

- **+ (void)setProperty:(NSDictionary * )userinfo completion:(void (^)(NSInteger code, NSString * message))completion;** 
   - คำอธิบายอินเทอร์เฟซ: 
      - เนื้อหาของคุณสมบัติผู้ใช้เหล่านี้ถูกเก็บไว้ใน NSDictionary โดยที่ key คือชื่อของคุณสมบัติผู้ใช้และต้องเป็น NSString และ value คือเนื้อหาของคุณสมบัติผู้ใช้ซึ่งรองรับเฉพาะประเภท NSString, NSNumber, NSSet และ NSArray
      - ปัจจุบัน องค์ประกอบใน value ของประเภท NSSet หรือ NSArray รองรับเฉพาะการเป็น NSString
      - หากคุณสมบัติผู้ใช้บางอย่างมีอยู่ก่อนแล้ว จะถูกเขียนทับในครั้งนี้; หากไม่มีอยู่ จะถูกสร้างขึ้น ตัวอย่างเช่น ระดับสมาชิกของผู้ใช้
   - ตัวอย่างการเรียกใช้:

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

[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 - ปัจจุบัน องค์ประกอบใน value ของประเภท NSSet หรือ NSArray รองรับเฉพาะการเป็น NSString - หากคุณสมบัติผู้ใช้บางอย่างมีอยู่ก่อนแล้ว จะถูกเขียนทับในครั้งนี้; หากไม่มีอยู่ จะถูกสร้างขึ้น ตัวอย่างเช่น ระดับสมาชิกของผู้ใช้ - ตัวอย่างการเรียกใช้:
              
              
- **+ (void)setProperty:(NSString * )key to:(id)value completion:(void (^)(NSInteger code, NSString * message))completion;** 
   - คำอธิบายอินเทอร์เฟซ: 
      - ตั้งค่าเนื้อหาของคุณสมบัติผู้ใช้เดี่ยวของผู้ใช้
      - เนื้อหาของคุณสมบัติผู้ใช้เหล่านี้ถูกเก็บไว้ใน NSDictionary โดยที่ key คือชื่อของคุณสมบัติผู้ใช้และต้องเป็น NSString และ value คือเนื้อหาของคุณสมบัติผู้ใช้ซึ่งรองรับเฉพาะประเภท NSString, NSNumber, NSSet และ NSArray
      - ปัจจุบัน องค์ประกอบใน value ของประเภท NSSet หรือ NSArray รองรับเฉพาะการเป็น NSString
      - หากคุณสมบัติผู้ใช้บางอย่างมีอยู่ก่อนแล้ว จะถูกเขียนทับในครั้งนี้; หากไม่มีอยู่ จะถูกสร้างขึ้น ตัวอย่างเช่น ระดับสมาชิกของผู้ใช้
   - ตัวอย่างการเรียกใช้:

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

[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 - ตัวอย่างการเรียกใช้:
              
              
### เพิ่มและอัปเดตคุณสมบัติผู้ใช้

- **+ (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 - ตัวอย่างการเรียกใช้:
              
              
- **+ (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<NSFastEnumeration> *)content completion:(void (^)(NSInteger code, NSString * message))completion** - คำอธิบายอินเทอร์เฟซ: - เพิ่มค่าบางส่วนให้กับคุณสมบัติของประเภท NSSet หรือ NSArray - ดังที่กล่าวไว้ก่อนหน้านี้ องค์ประกอบของ NSSet หรือ NSArray นี้ต้องเป็น NSString มิฉะนั้นจะถูกละเว้น ในขณะเดียวกัน หากคุณสมบัติผู้ใช้ที่จะเพิ่มไม่มีอยู่ก่อน จะมีการเริ่มต้น NSSet หรือ NSArray ว่างเปล่า - ตัวอย่างการเรียกใช้:
              
              
### เพิ่มคุณสมบัติผู้ใช้

- **+ (void)addProperty:(NSString *)key by:(NSObject<NSFastEnumeration> *)content completion:(void (^)(NSInteger code, NSString * message))completion** 
   - คำอธิบายอินเทอร์เฟซ: 
      - เพิ่มค่าบางส่วนให้กับคุณสมบัติของประเภท NSSet หรือ NSArray
      - ดังที่กล่าวไว้ก่อนหน้านี้ องค์ประกอบของ NSSet หรือ NSArray นี้ต้องเป็น NSString มิฉะนั้นจะถูกละเว้น ในขณะเดียวกัน หากคุณสมบัติผู้ใช้ที่จะเพิ่มไม่มีอยู่ก่อน จะมีการเริ่มต้น 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 มิฉะนั้นจะถูกละเว้น ในขณะเดียวกัน หากคุณสมบัติผู้ใช้ที่จะเพิ่มไม่มีอยู่ก่อน จะมีการเริ่มต้น NSSet หรือ NSArray ว่างเปล่า - ตัวอย่างการเรียกใช้:
              
              
- **+ (void)addProperty:(NSDictionary *)userinfo completion:(void (^)(NSInteger, NSString * _Nonnull))completion;** 
   - คำอธิบายอินเทอร์เฟซ: 
      - เพิ่มค่าบางส่วนให้กับคุณสมบัติหลายรายการของประเภท NSSet หรือ NSArray
      - ดังที่กล่าวไว้ก่อนหน้านี้ องค์ประกอบของ NSSet หรือ NSArray นี้ต้องเป็น NSString มิฉะนั้นจะถูกละเว้น ในขณะเดียวกัน หากคุณสมบัติผู้ใช้ที่จะเพิ่มไม่มีอยู่ก่อน จะมีการเริ่มต้น 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<NSFastEnumeration> *)content completion:(void (^)(NSInteger code, NSString * message))completion;** - คำอธิบายอินเทอร์เฟซ: - ลบค่าบางส่วนออกจากคุณสมบัติของประเภท NSSet หรือ NSArray - พารามิเตอร์ content เป็นประเภท NSSet หรือ NSArray และองค์ประกอบภายในต้องเป็น NSString - ตัวอย่างการเรียกใช้:
              
              
### ลบคุณสมบัติผู้ใช้

- **+ (void)removeProperty:(NSString * )key by:(NSObject<NSFastEnumeration> *)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;** - คำอธิบายอินเทอร์เฟซ: - ลบเนื้อหาทั้งหมดของคุณสมบัติผู้ใช้บางอย่าง - หากคุณสมบัติผู้ใช้นี้ไม่มีอยู่ก่อน จะถูกละเว้นโดยตรง #### ตัวอย่างการเรียกใช้
              
              

## ลบคุณสมบัติผู้ใช้

#### เวอร์ชันที่รองรับ

เวอร์ชันที่เริ่มรองรับ: 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 จะถูกรวบรวมหรือไม่ #### ตัวอย่างการเรียกใช้
              
              
## การควบคุมการเก็บข้อมูล

#### เวอร์ชันที่รองรับ

เวอร์ชันที่เริ่มรองรับ: 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 โมเดลช่องทางผู้ใช้ ต่อไปนี้คือคำอธิบายของคุณสมบัติ: <br />หากไม่ได้ตั้งค่าหรือกำหนดค่าเป็น nil จะถือว่าไม่มีการแก้ไข เมื่อกำหนดค่าเป็นสตริงว่าง "" จะถือว่าข้อมูลการติดต่อถูกล้าง | ชื่อพารามิเตอร์ | ประเภทพารามิเตอร์ | คำอธิบายพารามิเตอร์ | | --- | --- | --- | | contacts | NSDictionary | พจนานุกรมข้อมูลการติดต่อ รองรับ 4 ประเภทของข้อมูลการติดต่อ: email, mobile_phone, landline_phone และ whatsapp_phone | | completion | (^)(NSInteger code, NSString * message) | การเรียกกลับผลลัพธ์ของคำขอ โดยที่ code: 0 หมายถึงสำเร็จ | ## คลาส MTMAEventObject คลาสวัตถุเหตุการณ์ที่กำหนดเอง ต่อไปนี้คือคำอธิบายของคุณสมบัติ: | ชื่อพารามิเตอร์ | ประเภทพารามิเตอร์ | คำอธิบายพารามิเตอร์ | | --- | --- | --- | | eventName | NSString | รหัสเหตุการณ์ ซึ่งจำเป็นและต้องไม่ว่างเปล่า | | property | NSDictionary<NSString *, id> | คุณสมบัติที่กำหนดเอง (น้อยกว่าหรือเท่ากับ 500) key เป็น NSString และสามารถมีเฉพาะตัวเลข ตัวอักษร และขีดล่าง; value สามารถเป็น NSString/NSNumber |
              
              



## คลาส 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

โมเดลช่องทางผู้ใช้ ต่อไปนี้คือคำอธิบายของคุณสมบัติ: <br />หากไม่ได้ตั้งค่าหรือกำหนดค่าเป็น nil จะถือว่าไม่มีการแก้ไข เมื่อกำหนดค่าเป็นสตริงว่าง "" จะถือว่าข้อมูลการติดต่อถูกล้าง

| ชื่อพารามิเตอร์ | ประเภทพารามิเตอร์ | คำอธิบายพารามิเตอร์ |
| --- | --- | --- |
| contacts | NSDictionary | พจนานุกรมข้อมูลการติดต่อ รองรับ 4 ประเภทของข้อมูลการติดต่อ: email, mobile_phone, landline_phone และ whatsapp_phone |
| completion | (^)(NSInteger code, NSString * message) | การเรียกกลับผลลัพธ์ของคำขอ โดยที่ code: 0 หมายถึงสำเร็จ |


## คลาส MTMAEventObject

คลาสวัตถุเหตุการณ์ที่กำหนดเอง ต่อไปนี้คือคำอธิบายของคุณสมบัติ:

| ชื่อพารามิเตอร์ | ประเภทพารามิเตอร์ | คำอธิบายพารามิเตอร์ |
| --- | --- | --- |
| eventName | NSString | รหัสเหตุการณ์ ซึ่งจำเป็นและต้องไม่ว่างเปล่า |
| property | NSDictionary<NSString *, id> | คุณสมบัติที่กำหนดเอง (น้อยกว่าหรือเท่ากับ 500) key เป็น NSString และสามารถมีเฉพาะตัวเลข ตัวอักษร และขีดล่าง; value สามารถเป็น NSString/NSNumber |

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
icon
ติดต่อฝ่ายขาย