API SDK iOS
Deskripsi Antarmuka SDK
- MTMAService: Berisi seluruh antarmuka terkait fungsi MA dalam SDK.
- MTMAConfig: Kelas informasi konfigurasi aplikasi.
- MTMAUserID: Model identifikasi pengguna.
- MTMAUserContact: Model informasi kontak pengguna.
- MTMACollectControl: Model kontrol pengumpulan data.
Memulai Fungsi Bisnis MA
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- + start:(MTMAConfig * )config;
- Deskripsi:
- Mengaktifkan fungsi EngageLab MA.
- Antarmuka start adalah titik awal, dan harus dipanggil terlebih dahulu sebelum menggunakan antarmuka lain.
- Parameter:
- config: kelas konfigurasi
- Deskripsi:
Contoh Pemanggilan
MTMAConfig *config = [[MTMAConfig alloc] init];
[MTMAService start:config];
MTMAConfig *config = [[MTMAConfig alloc] init];
[MTMAService start:config];
Tampilkan blok kode ini di jendela mengambang
Mengatur Informasi Kontak Pengguna
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- + (void)setUserContact:(MTMAUserContact * )contact;
- Deskripsi:
- Mengatur informasi kontak pengguna.
- Parameter:
- contacts: Beberapa informasi kontak. Key adalah nama kontak, value adalah nilainya. Mendukung: email, mobile_phone, landline_phone, whatsapp_phone.
- Deskripsi:
Contoh Pemanggilan
MTMAUserContact *contact = [[MTMAUserContact alloc] init];
contact.contacts = @{@"Work Mobile Phone":@"13*********"};
contact.completion = ^(NSInteger code, NSString * _Nonnull message) { };
[MTMAService setUserContact:contact];
MTMAUserContact *contact = [[MTMAUserContact alloc] init];
contact.contacts = @{@"Work Mobile Phone":@"13*********"};
contact.completion = ^(NSInteger code, NSString * _Nonnull message) { };
[MTMAService setUserContact:contact];
Tampilkan blok kode ini di jendela mengambang
Pelaporan Event
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- **+ (void)eventRecord:(MTMAEventObject )event;*
- Deskripsi:
- Melaporkan sebuah event.
- Parameter:
- eventName: Nama event yang dilaporkan
- property: Properti event (key: nama properti, value: nilai properti)
- Deskripsi:
Contoh Pemanggilan
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];
Tampilkan blok kode ini di jendela mengambang
Mengatur Identifikasi Pengguna
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- + (void)identifyAccount:(MTMAUserID * )userID;
- Deskripsi:
- Mengatur identifikasi pengguna.
- Parameter:
- userID: Identifikasi unik pengguna yang login.
- anonymousID: Jika pengguna belum login namun ada info lain yang bisa diidentifikasi, bisa diatur sebagai anonymous ID (misal email atau ID pihak ketiga).
- Deskripsi:
Contoh Pemanggilan
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];
Tampilkan blok kode ini di jendela mengambang
Mengatur Interval Pelaporan Data
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- + (void)setReportInterval:(NSInteger)interval;
- Deskripsi:
- Mengatur interval pelaporan data upload. Jika tidak dipanggil, default 10 detik.
- Interval pelaporan disimpan di memori dan perlu dipanggil setiap siklus hidup aplikasi.
- Parameter:
- interval: Interval pelaporan (detik)
- Deskripsi:
Contoh Pemanggilan
[MTMAService setReportInterval:10];
[MTMAService setReportInterval:10];
Tampilkan blok kode ini di jendela mengambang
Mengatur Batas Maksimal Cache Event
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- + (void)setMaxEventCacheCount:(NSInteger)count;
- Deskripsi:
- Mengatur batas maksimal jumlah cache event, default 50, maksimal 500.
- Jika cache melebihi batas, seluruh data akan dilaporkan.
- Parameter:
- count: Batas maksimal cache event
- Deskripsi:
Contoh Pemanggilan
[MTMAService setMaxEventCacheCount:50];
[MTMAService setMaxEventCacheCount:50];
Tampilkan blok kode ini di jendela mengambang
Mengatur Timeout Sesi
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- + (void)setNoActiveSessionEndDurationTime:(NSInteger)interval;
- Deskripsi:
- Mengatur timeout sesi, default 30 menit.
- Saat aplikasi ke background, timer timeout sesi mulai. Jika tidak ada aktivitas dalam periode timeout, sesi berakhir.
- Parameter:
- interval: Durasi timeout (detik)
- Deskripsi:
Contoh Pemanggilan
[MTMAService setNoActiveSessionEndDurationTime:50];
[MTMAService setNoActiveSessionEndDurationTime:50];
Tampilkan blok kode ini di jendela mengambang
Mendapatkan EUID
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- + (NSString * )EUID;
- Deskripsi:
- Mendapatkan EUID dari EngageLab MA.
- Deskripsi:
Contoh Pemanggilan
[MTMAService EUID];
[MTMAService EUID];
Tampilkan blok kode ini di jendela mengambang
Mengatur Properti UTM
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- + (void)setUtmProperties:(NSDictionary * )property;
- Deskripsi:
- Properti UTM adalah properti event standar. Jika developer bisa mengidentifikasi dari iklan mana pengguna masuk aplikasi, disarankan mengatur UTM. Properti UTM yang bisa diatur:
- utm_source: Sumber kampanye iklan
- utm_medium: Media kampanye iklan
- utm_term: Kata kunci kampanye iklan
- utm_content: Konten kampanye iklan
- utm_campaign: Nama kampanye iklan
- utm_id: ID kampanye iklan
- Properti UTM adalah properti event standar. Jika developer bisa mengidentifikasi dari iklan mana pengguna masuk aplikasi, disarankan mengatur UTM. Properti UTM yang bisa diatur:
- Deskripsi:
Contoh Pemanggilan
[MTMAService setUtmProperties:@{@"utm_source":@"value"}];
[MTMAService setUtmProperties:@{@"utm_source":@"value"}];
Tampilkan blok kode ini di jendela mengambang
Mengatur Properti Pengguna
Timpa dan Perbarui Properti Pengguna
- + (void)setProperty:(NSDictionary * )userinfo completion:(void (^)(NSInteger code, NSString * message))completion;
- Deskripsi:
- Konten properti pengguna disimpan dalam NSDictionary, key: nama properti (NSString), value: isi properti (NSString, NSNumber, NSSet, NSArray).
- Nilai NSSet/NSArray hanya mendukung NSString.
- Jika sudah ada, akan ditimpa; jika belum, akan dibuat. Contoh: level keanggotaan.
- Contoh Pemanggilan:
- Deskripsi:
[MTMAService setProperty:@{@"key":@"value"} completion:^(NSInteger code, NSString * _Nonnull message) {
}];
[MTMAService setProperty:@{@"key":@"value"} completion:^(NSInteger code, NSString * _Nonnull message) {
}];
Tampilkan blok kode ini di jendela mengambang
- + (void)setProperty:(NSString * )key to:(id)value completion:(void (^)(NSInteger code, NSString * message))completion;
- Deskripsi:
- Mengatur satu properti pengguna.
- Konten dan aturan sama seperti di atas.
- Contoh Pemanggilan:
- Deskripsi:
[MTMAService setProperty:@"key" to:@"value" completion:^(NSInteger code, NSString * _Nonnull message) {
}];
[MTMAService setProperty:@"key" to:@"value" completion:^(NSInteger code, NSString * _Nonnull message) {
}];
Tampilkan blok kode ini di jendela mengambang
Tambah dan Perbarui Properti Pengguna
- **+ (void)increaseProperty:(NSString )key by:(NSNumber )amount completion:(void (^)(NSInteger code, NSString * message))completion;
- Deskripsi:
- Menambah nilai pada properti numerik dan mengakumulasi data, misal total konsumsi.
- Hanya untuk properti NSNumber, jika tidak akan diabaikan. Jika belum ada, nilai awal 0.
- Contoh Pemanggilan:
- Deskripsi:
[MTMAService increaseProperty:@"key" by:@(2) completion:^(NSInteger code, NSString * _Nonnull message) {
}];
[MTMAService increaseProperty:@"key" by:@(2) completion:^(NSInteger code, NSString * _Nonnull message) {
}];
Tampilkan blok kode ini di jendela mengambang
- **+ (void)increaseProperty:(NSDictionary )userinfo completion:(void (^)(NSInteger code, NSString * message))completion;*
- Deskripsi:
- Menambah nilai pada beberapa properti numerik sekaligus.
- Hanya untuk NSNumber, jika tidak akan diabaikan. Jika belum ada, nilai awal 0.
- Contoh Pemanggilan:
- Deskripsi:
[MTMAService increaseProperty:@{@"key1":@(5),@"key2":@(3)} completion:^(NSInteger code, NSString * _Nonnull message) {
}];
[MTMAService increaseProperty:@{@"key1":@(5),@"key2":@(3)} completion:^(NSInteger code, NSString * _Nonnull message) {
}];
Tampilkan blok kode ini di jendela mengambang
Menambah Properti Pengguna
- **+ (void)addProperty:(NSString )key by:(NSObject
)content completion:(void (^)(NSInteger code, NSString * message))completion - Deskripsi:
- Menambah beberapa nilai pada properti NSSet/NSArray.
- Elemen NSSet/NSArray harus NSString, jika tidak akan diabaikan. Jika belum ada, akan diinisialisasi dengan NSSet/NSArray kosong.
- Contoh Pemanggilan:
- Deskripsi:
[MTMAService addProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) {
}];
[MTMAService addProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) {
}];
Tampilkan blok kode ini di jendela mengambang
- **+ (void)addProperty:(NSDictionary )userinfo completion:(void (^)(NSInteger, NSString * _Nonnull))completion;*
- Deskripsi:
- Menambah beberapa nilai pada beberapa properti NSSet/NSArray.
- Elemen NSSet/NSArray harus NSString, jika tidak akan diabaikan. Jika belum ada, akan diinisialisasi dengan NSSet/NSArray kosong.
- Contoh Pemanggilan:
- Deskripsi:
[MTMAService addProperty:@{@"key1":@[@"value"],@"key2":@[@"value"]} completion:^(NSInteger code, NSString * _Nonnull message) {
}];
[MTMAService addProperty:@{@"key1":@[@"value"],@"key2":@[@"value"]} completion:^(NSInteger code, NSString * _Nonnull message) {
}];
Tampilkan blok kode ini di jendela mengambang
Menghapus Properti Pengguna
- **+ (void)removeProperty:(NSString * )key by:(NSObject
)content completion:(void (^)(NSInteger code, NSString * message))completion;* - Deskripsi:
- Menghapus beberapa nilai dari properti NSSet/NSArray.
- content harus NSSet/NSArray, elemen harus NSString.
- Contoh Pemanggilan:
- Deskripsi:
[MTMAService removeProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) {
}];
[MTMAService removeProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) {
}];
Tampilkan blok kode ini di jendela mengambang
Menghapus Properti Pengguna
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- + (void)deleteProperty:(NSString * )key completion:(void (^)(NSInteger code, NSString * message))completion;
- Deskripsi:
- Menghapus seluruh isi dari suatu properti pengguna.
- Jika belum ada, akan diabaikan.
- Deskripsi:
Contoh Pemanggilan
[MTMAService deleteProperty:@"key" completion:^(NSInteger code, NSString * _Nonnull message) {
}];
[MTMAService deleteProperty:@"key" completion:^(NSInteger code, NSString * _Nonnull message) {
}];
Tampilkan blok kode ini di jendela mengambang
Kontrol Pengumpulan Data
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- **+ (void)setCollectControl:(MTMACollectControl )control;*
- Deskripsi:
- Mengontrol apakah item data dalam MTMACollectControl dikumpulkan atau tidak.
- Deskripsi:
Contoh Pemanggilan
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];
Tampilkan blok kode ini di jendela mengambang
Kelas MTMAConfig
| Nama Parameter | Tipe Parameter | Deskripsi Parameter |
|---|---|---|
| userID | MTMAUserID | Model identifikasi pengguna. Jika diatur, identifikasi pengguna akan diatur saat inisialisasi. |
| completion | (^)(NSInteger code, NSString * message) | Callback hasil permintaan, code: 0 berarti sukses. |
Kelas MTMAUserID
| Nama Parameter | Tipe Parameter | Deskripsi Parameter |
|---|---|---|
| userID | NSString | Identifikasi unik pengguna yang login. |
| anonymousID | NSString | Jika pengguna belum login namun ada info lain yang dapat diidentifikasi, bisa diatur sebagai anonymous ID (misal email atau ID pihak ketiga). |
| completion | (^)(NSInteger code, NSString * message) | Callback hasil permintaan, code: 0 berarti sukses. |
Kelas MTMACollectControl
| Nama Parameter | Tipe Parameter | Deskripsi Parameter |
|---|---|---|
| idfa | BOOL | Apakah akan mengumpulkan info idfa. NO = tidak dikumpulkan. Default: NO. |
| idfv | BOOL | Apakah akan mengumpulkan info idfv. NO = tidak dikumpulkan. Default: NO. |
| carrier | BOOL | Apakah akan mengumpulkan info carrier. NO = tidak dikumpulkan. Default: YES. |
Kelas MTMAUserContact
Jika tidak diatur atau nil, dianggap tidak ada perubahan. Jika diatur ke string kosong "", berarti info kontak dihapus.
| Nama Parameter | Tipe Parameter | Deskripsi Parameter |
|---|---|---|
| contacts | NSDictionary | Dictionary info kontak, mendukung: email, mobile_phone, landline_phone, whatsapp_phone. |
| completion | (^)(NSInteger code, NSString * message) | Callback hasil permintaan, code: 0 berarti sukses. |
Kelas MTMAEventObject
| Nama Parameter | Tipe Parameter | Deskripsi Parameter |
|---|---|---|
| eventName | NSString | ID event, wajib diisi dan tidak boleh kosong. |
| property | NSDictionary<NSString *, id> | Properti kustom (maksimal 500). Key: NSString (angka, huruf, garis bawah); value: NSString/NSNumber. |
