API SDK Android
Deskripsi Antarmuka SDK
- MTMAApi, berisi seluruh antarmuka terkait fungsionalitas MA pada SDK.
Mengaktifkan Fungsi MA
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- start(UserIdentity userIdentity, CallBack callBack)
- Deskripsi:
- Mengaktifkan fungsi MA. Informasi identifikasi pengguna dapat diatur sekaligus saat aktivasi.
- Parameter:
- userIdentity: Identitas pengguna, bisa null jika tidak ada.
- setUserId(String userId): userId, atur identitas unik pengguna yang login.
- setAnonymousId(String anonymousId): anonymousId, jika pengguna belum login tapi memberikan info identitas lain, bisa diatur sebagai anonymous ID, misal email atau ID pihak ketiga.
- callBack: Callback hasil data.
- userIdentity: Identitas pengguna, bisa null jika tidak ada.
- Return:
onCallBack(int code, String message)- code: Kode return. 0 = berhasil, -1 = gagal. Lihat deskripsi message untuk detailnya.
- message: Penjelasan alasan.
- Deskripsi:
Contoh Pemanggilan
MTMAApi.getInstance(this).start(new CallBack() {
@Override
public void onCallBack(int code, String message) {
Log.e(TAG, "start code:" + code);
Log.e(TAG, "startmessage:" + message);
}
});
Mengatur Identifikasi Pengguna
Disarankan dipanggil saat pengguna login atau memberikan info identitas agar EUID sesuai dengan pengguna.
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- setUserIdentity(UserIdentity userIdentity, CallBack callBack)
- Deskripsi:
- Mengatur identifikasi pengguna, seperti nomor kartu member.
- Parameter:
- userIdentity: Identitas pengguna.
- setUserId(String userId): userId, atur identitas unik pengguna yang login.
- setAnonymousId(String anonymousId): anonymousId, jika belum login tapi ada info identitas lain, bisa diatur sebagai anonymous ID.
- callBack: Callback antarmuka.
- userIdentity: Identitas pengguna.
- Return:
onCallBack(int code, String message)- code: 0 = berhasil, -1 = gagal. Lihat deskripsi message.
- Deskripsi:
Contoh Pemanggilan
UserIdentity userIdentity = new UserIdentity();
userIdentity.setUserId("Your userId");
userIdentity.setAnonymousId("Your AnonymousId");
MTMAApi.getInstance(this).setUserIdentity(userIdentity, new CallBack() {
@Override
public void onCallBack(int code, String message) {
MTCommonLog.e(TAG, "setUserIdentity code:" + code);
MTCommonLog.e(TAG, "setUserIdentity message:" + message);
}
});
Mengatur Informasi Kontak Pengguna
Jika informasi kontak pengguna berubah, gunakan antarmuka ini untuk memperbarui detail kontak pengguna.
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- setUserContact(JSONObject contacts, CallBack callBack)
- 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.
- callBack: Callback antarmuka.
- Return:
onCallBack(int code, String message)- code: 0 = berhasil, -1 = gagal. Lihat deskripsi message.
- message: Penjelasan alasan.
- Deskripsi:
Contoh Pemanggilan
JSONObject contacts = new JSONObject();
try {
contacts.put("key1", "cc");
contacts.put("key2", "dd");
} catch (JSONException e) {
e.printStackTrace();
}
MTMAApi.getInstance(this).setUserContact(contacts, new CallBack() {
@Override
public void onCallBack(int code, String message) {
Log.e(TAG, "setUserContact code:" + code);
Log.e(TAG, "setUserContact message:" + message);
}
});
Mendapatkan EUID
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- getEuid()
- Deskripsi:
- Mendapatkan EUID, yaitu ID unik pengguna.
- Deskripsi:
Contoh Pemanggilan
MTMAApi.getInstance(this).getEuid();
Mengatur Interval Pelaporan Data yang Diunggah
Digunakan bersama setMaxEventCacheCount. Pelaporan dilakukan jika salah satu kondisi terpenuhi.
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- setReportInterval(int interval)
- Deskripsi:
- Mengatur interval pelaporan data yang diunggah. Default 10 detik jika tidak dipanggil.
- Interval disimpan di memori dan perlu dipanggil setiap siklus hidup aplikasi.
- Parameter
- interval: Interval pelaporan (detik).
- Deskripsi:
Contoh Pemanggilan
MTMAApi.getInstance(this).setReportInterval(10);
Mengatur Batas Maksimal Cache Event
Digunakan bersama setReportInterval. Pelaporan dilakukan jika salah satu kondisi terpenuhi.
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- setMaxEventCacheCount(int count)
- Deskripsi:
- Mengatur batas maksimal cache event, default 50, maksimal 500.
- Jika cache melebihi batas, semua data akan dilaporkan.
- Parameter
- count: Batas maksimal cache event.
- Deskripsi:
Contoh Pemanggilan
MTMAApi.getInstance(this).setMaxEventCacheCount(50);
Mengatur Timeout Sesi
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- setNoActiveSessionEndDurationTime(int duration)
- Deskripsi:
- Saat aplikasi ke background, timer timeout sesi mulai. Jika melebihi waktu yang ditetapkan (default 30 menit), sesi berakhir.
- Parameter
- duration: Durasi timeout (detik).
- Deskripsi:
Contoh Pemanggilan
MTMAApi.getInstance(this).setNoActiveSessionEndDurationTime(5*60);
Mengatur Properti UTM
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- setUtmProperties(UtmProperties utmProperties)
- Deskripsi:
- Mengatur properti UTM. Jika developer dapat mengidentifikasi dari iklan mana pengguna masuk aplikasi, disarankan mengatur info 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.
- Mengatur properti UTM. Jika developer dapat mengidentifikasi dari iklan mana pengguna masuk aplikasi, disarankan mengatur info UTM. Properti UTM yang bisa diatur:
- Deskripsi:
Contoh Pemanggilan
UtmProperties utmProperties = new UtmProperties();
utmProperties.setUtmSource("Your utm_source");
utmProperties.setUtmCampaign("Your utm_campaign");
utmProperties.setUtmContent("Your utm_content");
utmProperties.setUtmId("Your utm_id");
utmProperties.setUtmMedium("Your utm_medium");
utmProperties.setUtmTerm("Your utm_term");
MTMAApi.getInstance(this).setUtmProperties(utmProperties);
Mengatur Izin Pengumpulan Data
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- setCollectControl(MTMACollectControl control)
- Deskripsi:
- Mengatur izin pengumpulan data. Aktifkan/nonaktifkan pengumpulan data tertentu sesuai kebutuhan.
- Parameter
- control: Pengaturan izin, default aktif.
- Deskripsi:
Contoh Pemanggilan
try {
MTMACollectControl mtmaCollectControl = new MTMACollectControl();
mtmaCollectControl.setIMEI(true);
mtmaCollectControl.setAAID(true);
MTMAApi.getInstance(this).setCollectControl(mtmaCollectControl);
} catch (Throwable e) {
e.printStackTrace();
}
Mengatur Properti Pengguna
Mengatur nilai properti pengguna. Jika properti belum ada, akan otomatis dibuat di backend.
Timpa dan Perbarui Properti Pengguna
- propertySet(final JSONObject properties, final CallBack callBack)
Deskripsi:
- Memperbarui nilai properti pengguna secara batch, menimpa data lama.
- Hanya data terbaru yang disimpan, menimpa data historis, misal level member.
Parameter:
- properties: Properti pengguna.
- callBack: Callback antarmuka.
Return:
onCallBack(int code, String message)- code: 0 = berhasil, -1 = gagal. Lihat kode error untuk detailnya.
- message: Penjelasan alasan.
Contoh Pemanggilan:
try {
JSONObject properties = new JSONObject();
properties.put("Nama properti pengguna Anda", "Nilai properti Anda");
properties.put("Nama properti pengguna Anda 2", "Nilai properti Anda 2");
properties.put("Nama properti pengguna Anda 3", "Nilai properti Anda 3");
MTMAApi.getInstance(this).propertySet(properties, new CallBack() {
@Override
public void onCallBack(int code, String message) {
}
});
} catch (Throwable e) {
e.printStackTrace();
}
- propertySet(String property, Object value, CallBack callBack)
Deskripsi:
- Memperbarui satu nilai properti pengguna, menimpa data lama.
- Hanya data terbaru yang disimpan, menimpa data historis.
Parameter:
- property: Nama properti.
- value: Nilai properti.
- callBack: Callback antarmuka.
Return:
onCallBack(int code, String message)- code: 0 = berhasil, -1 = gagal. Lihat kode error untuk detailnya.
- message: Penjelasan alasan.
Contoh Pemanggilan:
MTMAApi.getInstance(this).propertySet("Nama properti pengguna Anda", "Nilai properti Anda", new CallBack() {
@Override
public void onCallBack(int code, String message) {
}
});
Tambah Nilai Properti Pengguna (Increment)
- propertyIncrease(final Map<String, ? extends Number> properties, CallBack callBack)
Deskripsi:
- Menambah nilai properti pengguna secara batch.
- Semua data dilaporkan akan diakumulasi, misal total transaksi.
- Hanya untuk properti numerik, selain itu diabaikan. Jika belum ada, nilai awal 0.
Parameter:
- properties: Properti pengguna.
- callBack: Callback antarmuka.
Return:
onCallBack(int code, String message)- code: 0 = berhasil, -1 = gagal. Lihat kode error untuk detailnya.
- message: Penjelasan alasan.
Contoh Pemanggilan:
Map<String, Number> properties = new HashMap<>();
properties.put("Nama properti pengguna Anda", 1);
properties.put("Nama properti pengguna Anda 2", 2);
properties.put("Nama properti pengguna Anda 3", 3);
MTMAApi.getInstance(this).propertyIncrease(properties, new CallBack() {
@Override
public void onCallBack(int code, String message) {
}
});
- propertyIncrease(final String property, final Number value, CallBack callBack)
Deskripsi:
- Menambah nilai satu properti pengguna.
- Semua data dilaporkan akan diakumulasi.
- Hanya untuk properti numerik, selain itu diabaikan. Jika belum ada, nilai awal 0.
Parameter:
- property: Nama properti.
- value: Nilai properti.
- callBack: Callback antarmuka.
Return:
onCallBack(int code, String message)- code: 0 = berhasil, -1 = gagal. Lihat kode error untuk detailnya.
- message: Penjelasan alasan.
Contoh Pemanggilan:
MTMAApi.getInstance(this).propertyIncrease("Nama properti pengguna Anda", 1, new CallBack() {
@Override
public void onCallBack(int code, String message) {
}
});
Menambahkan Nilai Properti Pengguna (Append)
- propertyAdd(final String property, final String value, CallBack callBack)
Deskripsi:
- Menambahkan nilai pada properti pengguna untuk satu permintaan.
- Elemen dapat terus ditambahkan, elemen duplikat dihapus saat disimpan di database.
Parameter:
- property: Nama properti.
- value: Nilai properti.
- callBack: Callback antarmuka.
Return:
onCallBack(int code, String message)- code: 0 = berhasil, -1 = gagal. Lihat kode error untuk detailnya.
- message: Penjelasan alasan.
Contoh Pemanggilan:
MTMAApi.getInstance(this).propertyAdd("Nama properti pengguna Anda", "Nilai properti pengguna Anda", new CallBack() {
@Override
public void onCallBack(int code, String message) {
}
});
- propertyAdd(final String property, final Set values, CallBack callBack)
Deskripsi:
- Menambahkan beberapa nilai sekaligus pada properti pengguna.
- Elemen dapat terus ditambahkan, elemen duplikat dihapus saat disimpan di database.
Parameter:
- property: Nama properti.
- value: Nilai properti.
- callBack: Callback antarmuka.
Return:
onCallBack(int code, String message)- code: 0 = berhasil, -1 = gagal. Lihat kode error untuk detailnya.
- message: Penjelasan alasan.
Contoh Pemanggilan:
Set<String> properties = new HashSet<>();
properties.add("Nilai properti pengguna Anda");
properties.add("Nilai properti pengguna Anda 2");
properties.add("Nilai properti pengguna Anda 3");
MTMAApi.getInstance(this).propertyAdd("Nama properti pengguna Anda", properties, new CallBack() {
@Override
public void onCallBack(int code, String message) {
}
});
Menghapus Nilai Properti Pengguna
- propertyRemove(final String property, String values, final CallBack callBack)
Deskripsi:
- Menghapus nilai pada properti pengguna.
- Nilai adalah elemen dari set, elemen duplikat dihapus saat disimpan di database.
Parameter:
- property: Nama properti.
- value: Nilai properti.
- callBack: Callback antarmuka.
Return:
onCallBack(int code, String message)- code: 0 = berhasil, -1 = gagal. Lihat kode error untuk detailnya.
- message: Penjelasan alasan.
Contoh Pemanggilan:
MTMAApi.getInstance(this).propertyRemove("Nama properti pengguna Anda", "Nilai properti pengguna Anda", new CallBack() {
@Override
public void onCallBack(int code, String message) {
}
});
- propertyRemove(final String property, Set
values, final CallBack callBack) Deskripsi:
- Menghapus beberapa nilai sekaligus pada properti pengguna.
- Nilai-nilai adalah elemen dari set, elemen duplikat dihapus saat disimpan di database.
Parameter:
- property: Nama properti.
- value: Nilai properti.
- callBack: Callback antarmuka.
Return:
onCallBack(int code, String message)- code: 0 = berhasil, -1 = gagal. Lihat kode error untuk detailnya.
- message: Penjelasan alasan.
Contoh Pemanggilan:
Set<String> properties = new HashSet<>();
properties.add("Nilai properti pengguna Anda");
properties.add("Nilai properti pengguna Anda 2");
properties.add("Nilai properti pengguna Anda 3");
MTMAApi.getInstance(this).propertyRemove("Nama properti pengguna Anda", properties, new CallBack() {
@Override
public void onCallBack(int code, String message) {
}
});
Menghapus Properti Pengguna
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- propertyDelete(final String property, final CallBack callBack)
- Deskripsi:
- Menghapus seluruh nilai dari suatu properti pengguna.
- Parameter:
- property: Nama properti.
- callBack: Callback antarmuka.
- Return:
onCallBack(int code, String message)- code: 0 = berhasil, -1 = gagal. Lihat kode error untuk detailnya.
- message: Penjelasan alasan.
- Deskripsi:
Contoh Pemanggilan
MTMAApi.getInstance(this).propertyDelete("Nama properti pengguna Anda", new CallBack() {
@Override
public void onCallBack(int code, String message) {
}
});
Pelaporan Event Kustom
Versi yang Didukung
Didukung mulai versi 5.0.0
Definisi Antarmuka
- onEvent(String eventKey, JSONObject properties)
- Deskripsi:
- Melaporkan event kustom.
- Parameter:
- eventKey: Nama event.
- properties: Properti event (key: nama properti, value: nilainya).
- Deskripsi:
Contoh Pemanggilan
JSONObject properties = new JSONObject();
properties.put("key1", "v1");
properties.put("key2", "v2");
MTMAApi.getInstance(this).onEvent("Nama event Anda", properties);
Kode Error:
| code | Value | Deskripsi |
|---|---|---|
| CODE_SUCCEED | 0 | Sukses |
| CODE_UNKNOWN | -1 | Error tidak diketahui |
| CODE_START_FAIL | -2 | Metode start belum dipanggil, atau pemanggilan start gagal, atau proyek telah diganti. Silakan panggil start kembali. |
| CODE_VALID | -3 | Validasi parameter gagal |
| CODE_ENABLE | -4 | Proyek ditutup |
| CODE_REGISTRATIONID | -5 | Registrasi push gagal |
| CODE_SWITCH | -6 | Proyek telah diganti. Silakan panggil start kembali. |










