คู่มือการผสานรวม SDK MA สำหรับ iOS

เวอร์ชันที่ใช้ได้

คู่มือนี้ใช้กับ SDK MTMA แบบอิสระ v5.5.0 ขึ้นไป ปัจจุบัน SDK รองรับเฉพาะอุปกรณ์ที่ใช้ iOS 10 ขึ้นไป

สำหรับเวอร์ชันก่อน 5.5.0 โปรดดู คู่มือการผสานรวมก่อน 5.5.0

ตั้งแต่ v5.5.0 เป็นต้นไป SDK MTMA สามารถผสานรวมและเริ่มต้นใช้งานได้อย่างอิสระโดยไม่ต้องพึ่งพา AppPush โค้ดของ MTMA และ AppPush แยกจากกัน แต่ SDK ทางการยังคงเผยแพร่ผ่านแพ็กเกจรวม Push คุณสามารถผสานรวมเฉพาะ MTMA จากแพ็กเกจนั้น หรือผสานรวมทั้ง MTMA และ MTPush ได้

กำหนดค่าโปรเจกต์

นำเข้า SDK

นำเข้าผ่าน CocoaPods

pod 'MTMA' หมายเหตุ: หากไม่สามารถนำเข้าเวอร์ชันล่าสุดได้ ให้เรียกใช้ pod repo update เพื่ออัปเดตคลัง pod ในเครื่อง แล้วเรียกใช้ pod 'MTMA' อีกครั้ง
              
                  pod 'MTMA'

    หมายเหตุ: หากไม่สามารถนำเข้าเวอร์ชันล่าสุดได้ ให้เรียกใช้ pod repo update เพื่ออัปเดตคลัง pod ในเครื่อง แล้วเรียกใช้ pod 'MTMA' อีกครั้ง

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
  • หากต้องการติดตั้งเวอร์ชันที่ระบุ ให้ใช้วิธีต่อไปนี้ (ตัวอย่างใช้ MTMA 5.5.0):
pod 'MTMA', '5.5.0'
              
                  pod 'MTMA', '5.5.0'

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

นำเข้าด้วยตนเอง

  • แตกไฟล์แพ็กเกจ SDK แล้วเลือก “Add files to 'Your project name'...” ใน Xcode เพื่อเพิ่ม MTMA-ios-x.x.x.xcframework ลงในไดเรกทอรีโปรเจกต์

รายการประกาศความเป็นส่วนตัว

แพ็กเกจ SDK มีไฟล์ PrivacyInfo.xcprivacy ให้แล้ว หากไฟล์นี้ไม่ได้รวมอยู่ในแอปที่แพ็กโดยอัตโนมัติ ให้ใช้ไฟล์นี้เป็นข้อมูลอ้างอิงเพื่อเพิ่มรายการประกาศความเป็นส่วนตัวของแอป

เริ่มต้นใช้งาน SDK

SDK MTMA แบบอิสระใช้ MA AppKey ในการเริ่มต้นใช้งาน โดยไม่ต้องรอให้ AppPush เริ่มต้นใช้งานหรือลงทะเบียนสำเร็จ

ก่อนเริ่มต้นใช้งาน ให้กำหนด iOS Bundle ID ของแหล่งข้อมูลที่ตรงกับ MA AppKey ในโปรเจกต์ปัจจุบันบนคอนโซล MA ให้ตรงกับแอป และเปิดใช้งานแหล่งข้อมูลนั้น SDK อ่าน Bundle Identifier ของแอปโดยอัตโนมัติ จึงไม่ต้องตั้งค่าแยก หากยังไม่ได้ผูกหรือค่าไม่ตรงกัน การเริ่มต้นใช้งานจะล้มเหลว

หากการเริ่มต้นใช้งานคืนค่า 55004 และ message ระบุว่า packageName is not bound ให้ตรวจสอบการกำหนดค่าการผูกข้างต้น

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { MTMAConfig *config = [[MTMAConfig alloc] init]; config.appKey = @"MA AppKey ของคุณ"; config.resultCompletion = ^(MTMAInitResult *result) { NSLog(@"result:%ld - %@", result.code, result.message); }; [MTMAService start:config]; return YES; }
              
              - (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    MTMAConfig *config = [[MTMAConfig alloc] init];
    config.appKey = @"MA AppKey ของคุณ";
    config.resultCompletion = ^(MTMAInitResult *result) {
        NSLog(@"result:%ld - %@", result.code, result.message);
    };
    [MTMAService start:config];

    return YES;
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
คำอธิบายพารามิเตอร์บางส่วน
  • appKey
    • MA AppKey เป็นค่าที่จำเป็น ต้องประกอบด้วยตัวอักษรหรือตัวเลข 24 ตัว
    • MA AppKey และ Push AppKey เป็นอิสระจากกัน สามารถใช้ค่าเดียวกันหรือคนละค่าได้
  • resultCompletion
    • Callback ผลการเริ่มต้นใช้งาน ใช้ result.isSuccess เพื่อตรวจสอบว่าสำเร็จหรือไม่ หากล้มเหลว สามารถใช้ result.code และ result.message เพื่อหาสาเหตุ
    • ดูออบเจ็กต์ที่คืนค่าและคำอธิบายฟิลด์ใน คลาส MTMAInitResult

การเริ่มต้นใช้งานต้องเชื่อมต่อเครือข่าย หากอุปกรณ์ออฟไลน์ SDK จะรอให้เครือข่ายกลับมาแล้วดำเนินการต่อโดยอัตโนมัติ โดยไม่เรียก callback แจ้งความล้มเหลวทันที

SDK รองรับการเริ่มต้นใช้งานซ้ำและการเปลี่ยน MA AppKey การเรียกที่ถูกต้องแต่ละครั้งจะทำงานตามลำดับและมี callback แยกกัน ดูกฎโดยละเอียดใน เริ่มใช้งานฟังก์ชัน MA

ตั้งค่าตัวระบุผู้ใช้ระหว่างการเริ่มต้นใช้งาน

หากต้องการตั้งค่าตัวระบุผู้ใช้ระหว่างการเริ่มต้นใช้งาน ให้ส่งผ่าน MTMAConfig.userID โดย userID, anonymousID, email และ phone เป็นฟิลด์ที่ไม่บังคับทั้งหมด ตัวอย่างต่อไปนี้ใช้ userID:

MTMAUserID *userID = [[MTMAUserID alloc] init]; userID.userID = @"member_10001"; MTMAConfig *config = [[MTMAConfig alloc] init]; config.appKey = @"MA AppKey ของคุณ"; config.userID = userID; config.resultCompletion = ^(MTMAInitResult *result) { if (result.isSuccess) { NSLog(@"เริ่มต้นใช้งาน MTMA สำเร็จ"); } else { NSLog(@"เริ่มต้นใช้งาน MTMA ล้มเหลว, code=%ld, message=%@", (long)result.code, result.message); } }; [MTMAService start:config];
              
              MTMAUserID *userID = [[MTMAUserID alloc] init];
userID.userID = @"member_10001";

MTMAConfig *config = [[MTMAConfig alloc] init];
config.appKey = @"MA AppKey ของคุณ";
config.userID = userID;
config.resultCompletion = ^(MTMAInitResult *result) {
    if (result.isSuccess) {
        NSLog(@"เริ่มต้นใช้งาน MTMA สำเร็จ");
    } else {
        NSLog(@"เริ่มต้นใช้งาน MTMA ล้มเหลว, code=%ld, message=%@", (long)result.code, result.message);
    }
};
[MTMAService start:config];

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

สามารถเริ่มต้นใช้งานโดยไม่ตั้งค่าตัวระบุผู้ใช้ได้เช่นกัน การเริ่มต้นใช้งานสำเร็จไม่ได้หมายความว่าตั้งค่าตัวระบุทุกรายการสำเร็จ ดูการตรวจสอบฟิลด์และ callback ใน คลาส MTMAUserID

สถานการณ์การเริ่มต้นใช้งาน

สถานการณ์ วิธีผสานรวม
MA และ AppPush ใช้ AppKey เดียวกัน เริ่มต้นใช้งาน MTMA และ AppPush แยกกันโดยใช้ AppKey เดียวกัน สามารถเริ่มตัวใดก่อนก็ได้
ใช้เฉพาะ MTMA ผสานรวมและเริ่มต้นใช้งานเฉพาะ MTMA โดยไม่ต้องผสานรวม AppPush
ใช้ MTMA ก่อน แล้วเพิ่ม AppPush ภายหลัง คงการผสานรวม MTMA ไว้ แล้วเพิ่มและเริ่มต้นใช้งาน AppPush ระบบจะตั้งค่าช่องทางโดยอัตโนมัติหลังจาก AppPush ลงทะเบียนสำเร็จ
MA และ AppPush ใช้ AppKey ต่างกัน เริ่มต้นใช้งาน MTMA และ AppPush แยกกันโดยใช้ AppKey ของแต่ละส่วน สามารถเริ่มตัวใดก่อนก็ได้
ใช้ JPush หรือ Push ของบุคคลที่สามอื่น เริ่มต้นใช้งาน MTMA และ Push ของบุคคลที่สามแยกกัน เมื่อ MTMA เริ่มต้นใช้งานสำเร็จและได้รับ RID หรือ Token ของบุคคลที่สามแล้ว ให้เรียกอินเทอร์เฟซตั้งค่าช่องทาง Push ของบุคคลที่สาม

ใช้งานร่วมกับ AppPush

เมื่อกำหนดค่าแหล่งข้อมูลมือถือในคอนโซล MA ให้เลือกใช้งานร่วมกับ AppPush และเลือกแอป AppPush ที่ผสานรวมจริง ใช้ AppKey ของแอปที่เลือกเมื่อเริ่มต้นใช้งาน AppPush

MTMA และ AppPush เริ่มต้นใช้งานแยกกัน โดยไม่กำหนดลำดับตายตัว

// เริ่มต้นใช้งาน SDK Push [MTPushService setupWithOption:launchOptions appKey:pushAppKey channel:channel apsForProduction:isProduction advertisingIdentifier:nil]; // เริ่มต้นใช้งาน SDK MTMA MTMAConfig *config = [[MTMAConfig alloc] init]; config.appKey = maAppKey; config.resultCompletion = ^(MTMAInitResult *result) { NSLog(@"result:%ld - %@", result.code, result.message); }; [MTMAService start:config];
              
              // เริ่มต้นใช้งาน SDK Push
[MTPushService setupWithOption:launchOptions
                        appKey:pushAppKey
                       channel:channel
              apsForProduction:isProduction
         advertisingIdentifier:nil];

// เริ่มต้นใช้งาน SDK MTMA
MTMAConfig *config = [[MTMAConfig alloc] init];
config.appKey = maAppKey;
config.resultCompletion = ^(MTMAInitResult *result) {
    NSLog(@"result:%ld - %@", result.code, result.message);
};
[MTMAService start:config];

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

เมื่อ AppPush ลงทะเบียนสำเร็จและได้รับ Push RegistrationID แล้ว SDK MTMA จะตั้งค่าช่องทาง AppPush โดยอัตโนมัติ การที่ AppPush ยังไม่ลงทะเบียนหรือการตั้งค่าช่องทางล้มเหลว ไม่กระทบต่อการเริ่มต้นใช้งาน MTMA การเก็บเหตุการณ์ หรือการรายงานเหตุการณ์

ตั้งค่า ID ติดต่อของช่องทาง

หากต้องการใช้ Push ของบุคคลที่สาม ให้ตั้งค่า RID หรือ Token ของผู้ให้บริการนั้นหลังจาก MTMA เริ่มต้นใช้งานสำเร็จ

[MTMAService setChannelValueWithChannelId:136 values:@[@"RID หรือ Token ของ Push"] completion:^(NSInteger code, NSString *message) { NSLog(@"result:%ld - %@", code, message); }];
              
              [MTMAService setChannelValueWithChannelId:136
                                   values:@[@"RID หรือ Token ของ Push"]
                               completion:^(NSInteger code, NSString *message) {
    NSLog(@"result:%ld - %@", code, message);
}];

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
คำอธิบายพารามิเตอร์บางส่วน
  • channelId
    • ID ของช่องทาง Push ของบุคคลที่สามที่กำหนดไว้ในคอนโซล MA ต้องมากกว่า 0
  • values
    • อาร์เรย์ RID หรือ Token ของ Push ของบุคคลที่สาม ทั้งอาร์เรย์และสมาชิกต้องไม่ว่าง
    • เมื่อ RID หรือ Token เปลี่ยน ต้องเรียกอินเทอร์เฟซอีกครั้งเพื่ออัปเดต

อินเทอร์เฟซนี้ใช้สำหรับ Push ของบุคคลที่สามเท่านั้น ดูข้อจำกัดโดยละเอียดใน ตั้งค่า ID ติดต่อของช่องทาง

การอัปเกรดจากเวอร์ชันเก่า

  • SDK ทางการยังคงเผยแพร่ผ่านแพ็กเกจรวม Push โปรเจกต์ที่ผสานรวม AppPush และ MTMA ร่วมกันอยู่แล้วไม่ต้องเปลี่ยนวิธีนำเข้าด้วยตนเอง
  • หลังจากอัปเกรดเป็น v5.5.0 ต้องตั้งค่า appKey ของ MTMAConfig
  • MTMAConfig.userID และฟิลด์ตัวระบุผู้ใช้ทั้งสี่เป็นคุณสมบัติที่ไม่บังคับ ให้จัดการเป็น optional เมื่อผสานรวมด้วย Swift
  • ยังคงใช้ callback completion แบบเดิมได้ แต่แนะนำให้เปลี่ยนไปใช้ resultCompletion หากตั้งค่าทั้งสอง จะเรียกเฉพาะ resultCompletion
  • Push RegistrationID และ MA RID เป็นข้อมูลระบุอุปกรณ์คนละประเภท ไม่สามารถใช้แทนกันได้
Icon Solid Transparent White Qiyu
ติดต่อฝ่ายขาย