Panduan Integrasi SDK MA iOS

Versi yang Berlaku

Panduan ini berlaku untuk SDK MTMA mandiri v5.5.0 dan versi lebih baru. Saat ini, SDK hanya mendukung perangkat dengan iOS 10 atau lebih baru.

Untuk versi sebelum 5.5.0, lihat Panduan Integrasi Sebelum 5.5.0.

Mulai v5.5.0, SDK MTMA dapat diintegrasikan dan diinisialisasi secara mandiri tanpa bergantung pada AppPush. Kode MTMA dan AppPush terpisah, tetapi SDK resmi tetap didistribusikan dalam paket gabungan Push. Anda dapat mengintegrasikan hanya MTMA dari paket tersebut, atau MTMA dan MTPush sekaligus.

Mengonfigurasi Proyek

Mengimpor SDK

Impor melalui CocoaPods

pod 'MTMA' Catatan: Jika versi terbaru tidak dapat diimpor, jalankan pod repo update untuk memperbarui repositori pod lokal, lalu jalankan kembali pod 'MTMA'.
              
                  pod 'MTMA'

    Catatan: Jika versi terbaru tidak dapat diimpor, jalankan pod repo update untuk memperbarui repositori pod lokal, lalu jalankan kembali pod 'MTMA'.

            
Tampilkan blok kode ini di jendela mengambang
  • Untuk memasang versi tertentu, gunakan cara berikut (contoh MTMA 5.5.0):
pod 'MTMA', '5.5.0'
              
                  pod 'MTMA', '5.5.0'

            
Tampilkan blok kode ini di jendela mengambang

Impor manual

  • Ekstrak paket SDK. Di Xcode, pilih “Add files to 'Your project name'...” dan tambahkan MTMA-ios-x.x.x.xcframework ke direktori proyek Anda.

Manifest privasi

Paket SDK menyertakan PrivacyInfo.xcprivacy. Jika file ini tidak otomatis disertakan dalam aplikasi yang dikemas, gunakan file tersebut sebagai referensi untuk melengkapi manifest privasi aplikasi.

Menginisialisasi SDK

SDK MTMA mandiri diinisialisasi menggunakan MA AppKey, tanpa perlu menunggu inisialisasi atau registrasi AppPush berhasil.

Sebelum inisialisasi, di konsol MA, atur iOS Bundle ID pada sumber data yang sesuai dengan MA AppKey di proyek saat ini agar sama dengan aplikasi, lalu aktifkan sumber data tersebut. SDK membaca Bundle Identifier aplikasi secara otomatis; tidak perlu diatur terpisah. Inisialisasi akan gagal jika belum ditautkan atau tidak cocok.

Jika inisialisasi mengembalikan 55004 dan message berisi packageName is not bound, periksa konfigurasi penautan di atas.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { MTMAConfig *config = [[MTMAConfig alloc] init]; config.appKey = @"MA AppKey Anda"; 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 Anda";
    config.resultCompletion = ^(MTMAInitResult *result) {
        NSLog(@"result:%ld - %@", result.code, result.message);
    };
    [MTMAService start:config];

    return YES;
}

            
Tampilkan blok kode ini di jendela mengambang
Penjelasan Beberapa Parameter
  • appKey
    • MA AppKey wajib diisi dan harus terdiri dari 24 huruf atau angka.
    • MA AppKey dan Push AppKey saling independen; nilainya boleh sama atau berbeda.
  • resultCompletion
    • Callback hasil inisialisasi. Gunakan result.isSuccess untuk memeriksa keberhasilan; jika gagal, gunakan result.code dan result.message untuk menelusuri penyebabnya.
    • Lihat objek yang dikembalikan dan penjelasan kolomnya di Kelas MTMAInitResult.

Inisialisasi memerlukan koneksi jaringan. Saat perangkat offline, SDK menunggu jaringan pulih dan melanjutkan secara otomatis, tanpa langsung memanggil callback kegagalan.

SDK mendukung inisialisasi berulang dan pergantian MA AppKey. Setiap pemanggilan yang valid dijalankan secara berurutan dan memiliki callback sendiri. Lihat aturan lengkap di Memulai Fungsi MA.

Mengatur Pengenal Pengguna Saat Inisialisasi

Untuk mengatur pengenal pengguna saat inisialisasi, kirim melalui MTMAConfig.userID. userID, anonymousID, email, dan phone semuanya opsional. Contoh berikut menggunakan userID:

MTMAUserID *userID = [[MTMAUserID alloc] init]; userID.userID = @"member_10001"; MTMAConfig *config = [[MTMAConfig alloc] init]; config.appKey = @"MA AppKey Anda"; config.userID = userID; config.resultCompletion = ^(MTMAInitResult *result) { if (result.isSuccess) { NSLog(@"Inisialisasi MTMA berhasil"); } else { NSLog(@"Inisialisasi MTMA gagal, 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 Anda";
config.userID = userID;
config.resultCompletion = ^(MTMAInitResult *result) {
    if (result.isSuccess) {
        NSLog(@"Inisialisasi MTMA berhasil");
    } else {
        NSLog(@"Inisialisasi MTMA gagal, code=%ld, message=%@", (long)result.code, result.message);
    }
};
[MTMAService start:config];

            
Tampilkan blok kode ini di jendela mengambang

SDK juga dapat diinisialisasi tanpa pengenal pengguna. Inisialisasi yang berhasil tidak berarti semua pengenal berhasil diatur. Lihat validasi kolom dan callback di Kelas MTMAUserID.

Skenario Inisialisasi

Skenario Cara Integrasi
MA dan AppPush menggunakan AppKey yang sama Inisialisasi MTMA dan AppPush secara terpisah dengan AppKey yang sama, dalam urutan apa pun
Hanya menggunakan MTMA Integrasikan dan inisialisasi hanya MTMA; tidak perlu mengintegrasikan AppPush
Menggunakan MTMA terlebih dahulu, kemudian menambahkan AppPush Pertahankan integrasi MTMA, lalu tambahkan dan inisialisasi AppPush; kanal diatur otomatis setelah registrasi AppPush berhasil
MA dan AppPush menggunakan AppKey yang berbeda Inisialisasi MTMA dan AppPush secara terpisah dengan AppKey masing-masing, dalam urutan apa pun
Menggunakan JPush atau Push pihak ketiga lainnya Inisialisasi MTMA dan Push pihak ketiga secara terpisah; setelah inisialisasi MTMA berhasil dan RID atau Token pihak ketiga diperoleh, panggil antarmuka pengaturan kanal Push pihak ketiga

Menggunakan AppPush Bersamaan

Saat mengonfigurasi sumber data seluler di konsol MA, pilih penggunaan bersama AppPush dan pilih aplikasi AppPush yang benar-benar diintegrasikan. Gunakan AppKey aplikasi tersebut saat menginisialisasi AppPush.

MTMA dan AppPush diinisialisasi secara terpisah, tanpa urutan inisialisasi tertentu.

// Menginisialisasi SDK Push [MTPushService setupWithOption:launchOptions appKey:pushAppKey channel:channel apsForProduction:isProduction advertisingIdentifier:nil]; // Menginisialisasi SDK MTMA MTMAConfig *config = [[MTMAConfig alloc] init]; config.appKey = maAppKey; config.resultCompletion = ^(MTMAInitResult *result) { NSLog(@"result:%ld - %@", result.code, result.message); }; [MTMAService start:config];
              
              // Menginisialisasi SDK Push
[MTPushService setupWithOption:launchOptions
                        appKey:pushAppKey
                       channel:channel
              apsForProduction:isProduction
         advertisingIdentifier:nil];

// Menginisialisasi SDK MTMA
MTMAConfig *config = [[MTMAConfig alloc] init];
config.appKey = maAppKey;
config.resultCompletion = ^(MTMAInitResult *result) {
    NSLog(@"result:%ld - %@", result.code, result.message);
};
[MTMAService start:config];

            
Tampilkan blok kode ini di jendela mengambang

Setelah AppPush berhasil terdaftar dan memperoleh Push RegistrationID, SDK MTMA mengatur kanal AppPush secara otomatis. AppPush yang belum terdaftar atau kegagalan pengaturan kanal tidak memengaruhi inisialisasi MTMA, pengumpulan event, maupun pelaporannya.

Mengatur ID Kontak Kanal

Untuk menggunakan Push pihak ketiga, atur RID atau Token pihak ketiga setelah inisialisasi MTMA berhasil.

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

            
Tampilkan blok kode ini di jendela mengambang
Penjelasan Beberapa Parameter
  • channelId
    • ID kanal Push pihak ketiga yang dikonfigurasi di konsol MA; harus lebih besar dari 0.
  • values
    • Array RID atau Token Push pihak ketiga. Array maupun elemennya tidak boleh kosong.
    • Jika RID atau Token berubah, panggil antarmuka lagi untuk memperbaruinya.

Antarmuka ini hanya digunakan untuk Push pihak ketiga. Lihat batasan lengkap di Mengatur ID Kontak Kanal.

Memperbarui dari Versi Sebelumnya

  • SDK resmi tetap didistribusikan dalam paket gabungan Push. Proyek yang sudah mengintegrasikan AppPush dan MTMA sekaligus tidak perlu mengubah metode impor manual.
  • Setelah memperbarui ke v5.5.0, appKey pada MTMAConfig wajib diatur.
  • MTMAConfig.userID dan keempat kolom pengenal pengguna merupakan properti opsional. Perlakukan sebagai opsional saat mengintegrasikan dengan Swift.
  • Callback completion lama tetap tersedia, tetapi disarankan beralih ke resultCompletion. Jika keduanya diatur, hanya resultCompletion yang dipanggil.
  • Push RegistrationID dan MA RID adalah identitas perangkat yang berbeda dan tidak dapat saling menggantikan.
Icon Solid Transparent White Qiyu
Hubungi Sales