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'.
- Untuk memasang versi tertentu, gunakan cara berikut (contoh MTMA 5.5.0):
pod 'MTMA', '5.5.0'
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;
}
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];
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];
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);
}];
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.










