API SDK iOS

Deskripsi Antarmuka SDK

  1. MTMAService: Berisi seluruh antarmuka terkait fungsi MA dalam SDK.
  2. MTMAConfig: Kelas informasi konfigurasi aplikasi.
  3. MTMAUserID: Model identifikasi pengguna.
  4. MTMAUserContact: Model informasi kontak pengguna.
  5. 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

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.

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)

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).

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)

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

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)

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.

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

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:
[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:
[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:
[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:
[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:
[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:
[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:
[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.

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.

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.
Icon Solid Transparent White Qiyu
Hubungi Sales