API SDK Android
Deskripsi antarmuka SDK
MTMAApi: antarmuka runtime MA.MTMAConfig: konfigurasi inisialisasi yang diteruskan kestart.
Petunjuk sebelum pemanggilan
starthanya dapat dipanggil dalam proses utama aplikasi host.- Kecuali untuk antarmuka konfigurasi yang boleh diatur sebelum inisialisasi, API bisnis MA lainnya hanya dapat dipanggil setelah inisialisasi berhasil.
- Direkomendasikan agar semua API eksternal MA dipanggil dalam proses utama. Proses non-utama tidak berbagi status inisialisasi dengan proses utama, dan panggilan tidak diteruskan ke proses utama.
- Ketika proses non-utama memanggil API bisnis, antarmuka dengan panggilan balik mengembalikan
CODE_START_FAIL (-2),getEuid()dangetMaRid()mengembalikan nilai nol, dan antarmuka bisnis tanpa panggilan balik tidak akan dijalankan. configDebugMode,setCollectControl,setReportInterval,setMaxEventCacheCountdansetNoActiveSessionEndDurationTimeadalah konfigurasi dalam proses; memanggil mereka dalam proses non-utama tidak akan mengubah konfigurasi proses utama MA.
Dapatkan versi SDK
Versi yang didukung
Versi awal yang didukung: 5.5.0
Definisi bidang
MTMAApi.SDK_VERSION_CODE: nomor versi digital MA SDK.MTMAApi.SDK_VERSION_NAME: Nomor versi string MA SDK.
int versionCode = MTMAApi.SDK_VERSION_CODE;
String versionName = MTMAApi.SDK_VERSION_NAME;
Setel mode debug
Versi yang didukung
Versi awal yang didukung: 5.5.0
Definisi antarmuka
- configDebugMode(boolean enable)
- Mengaktifkan atau menonaktifkan log debug MA SDK.
- Disarankan untuk mengaturnya sebelum memanggil
start, dan disarankan untuk mematikannya di versi rilis.
MTMAApi.configDebugMode(true);
Aktifkan fungsi MA
Versi yang didukung
Versi awal yang didukung: 5.5.0
Definisi antarmuka
-start(MTMAConfig config, MTMAInitResultCallback callback)
- Deskripsi antarmuka: Gunakan MA AppKey untuk menginisialisasi versi independen MA SDK.
config: Konfigurasi inisialisasi, bertipeMTMAConfig.MTMAConfig(String appKey): Setel MA AppKey.MTMAConfig(String appKey, UserIdentity userIdentity): Mengatur MA AppKey dan ID pengguna secara bersamaan.config.dataCollectionEnabled(boolean enabled): Opsional. Dipanggil pada objekMTMAConfiguntuk mengatur sakelar pengumpulan data MA AppKey saat ini pada pemanggilanstartkali ini. Didukung mulai versi 5.5.2.truemengaktifkan danfalsemenonaktifkan pengumpulan. Setelah dipanggil, nilai yang diteruskan berlaku pada setiapstartdan disimpan di perangkat. Teruskan hasil persetujuan pengguna saat ini, jangan menuliskan nilai tetap di dalam kode.- Lihat Sakelar Pengumpulan Data.
callback: Callback hasil inisialisasi.MTMAInitResult:isSuccess(): Apakah inisialisasi berhasil.getCode(): Kode hasil,0menunjukkan keberhasilan.getMessage(): Deskripsi hasil.getEuid(): EUID diperoleh setelah inisialisasi berhasil.getMaRid(): MA RID diperoleh setelah inisialisasi berhasil.
Contoh pemanggilan
MTMAConfig config = new MTMAConfig("your MA AppKey");
// Opsional (didukung mulai 5.5.2): atur sakelar pengumpulan data sesuai persetujuan pengguna saat ini; aktif secara default jika belum pernah diatur
// config.dataCollectionEnabled(enabled);
MTMAApi.getInstance(this).start(config, new MTMAInitResultCallback() {
@Override
public void onResult(MTMAInitResult result) {
if (result.isSuccess()) {
String euid = result.getEuid();
String maRid = result.getMaRid();
} else {
int code = result.getCode();
String message = result.getMessage();
}
}
});
Ganti AppKey saat runtime
Setelah panggilan balik inisialisasi terakhir selesai, start dapat dipanggil kembali dengan MTMAConfig yang baru. API bisnis MA lainnya untuk sementara tidak tersedia selama peralihan. Tidak ada penggantian otomatis ke AppKey lama ketika inisialisasi AppKey baru gagal.
Antarmuka tidak digunakan lagi
Mulai versi 5.5.0, antarmuka berikut tidak digunakan lagi:
start(CallBack callBack)start(UserIdentity userIdentity, CallBack callBack)
Silakan gunakan start(MTMAConfig config, MTMAInitResultCallback callback) sebagai gantinya.
Tetapkan ID pengguna
Disarankan untuk mengatur antarmuka ini saat pengguna masuk dan memberikan informasi yang relevan untuk mendapatkan EUID yang cocok dengan pengguna
Versi yang didukung
Versi awal yang didukung: 5.0.0
Definisi antarmuka
-_setUserIdentity(UserIdentity userIdentity, CallBack callBack) _
- Deskripsi antarmuka: -Mengatur identifikasi pengguna, seperti nomor kartu keanggotaan pengguna.
- Deskripsi parameter:
- userIdentity: identifikasi panggilan
setUserId(String userId): tidak boleh kosong setelah menghapus spasi awal dan akhir, hingga 255 karakter Unicode; tidak boleh0,null,undefined,nan(abaikan huruf besar/kecil)setAnonymousId(String anonymousId): Tidak boleh kosong setelah menghapus spasi awal dan akhir, hingga 256 karakter UnicodesetEmail(String email): tidak boleh kosong, maksimal 256 karakter Unicode; harus berisi dan hanya dapat berisi satu@,@tidak boleh kosong sebelum dan sesudah, dan tidak boleh berisi spasi, baris baru, atau Tab; didukung mulai dari 5.5.0setPhone(String phone): harus sesuai dengan format E.164, dimulai dengan+, digit pertama kode negara adalah 1–9, kemudian berisi 1–14 digit; didukung mulai dari 5.5.0
- panggilan Balik: panggilan balik antarmuka
- userIdentity: identifikasi panggilan
- Deskripsi pengembalian:
onCallBack(int code, String message)- kode: kode pengembalian, 0 mewakili keberhasilan, -1 mewakili kegagalan, lihat deskripsi parameter pesan untuk detailnya
Contoh pemanggilan
UserIdentity userIdentity = new UserIdentity();
userIdentity.setUserId("your_user_id");
userIdentity.setAnonymousId("your_anonymous_id");
userIdentity.setEmail("user@example.com");
userIdentity.setPhone("+8613800138000");
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);
}
});
Ketika verifikasi bidang ID pengguna gagal, tidak ada permintaan jaringan yang dikirim, dan code = -3 dikembalikan melalui panggilan balik.
Tetapkan informasi kontak pengguna
Ketika informasi kontak pengguna berubah, Anda dapat menggunakan antarmuka ini untuk memperbarui "informasi kontak" pengguna.
Versi yang didukung
Versi awal yang didukung: 5.0.0
Definisi antarmuka
- setUserContact(JSONObject contacts, CallBack callBack)
- Deskripsi antarmuka: -Mengatur "informasi kontak" pengguna.
- Deskripsi parameter:
- kontak: Mengatur beberapa metode kontak. Kunci adalah nama metode kontak, dan nilai adalah nilai metode kontak. Saat ini, empat metode kontak yang didukung: email, ponsel_ponsel, telepon_rumah, dan whatsapp_telepon.
- panggilan Balik: panggilan balik antarmuka
- Deskripsi pengembalian:
onCallBack(int code, String message)- kode: kode pengembalian, 0 mewakili keberhasilan, -1 mewakili kegagalan, lihat deskripsi parameter pesan untuk detailnya
- pesan: deskripsi alasan
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);
}
});
Dapatkan EUID
Versi yang didukung
Versi awal yang didukung: 5.0.0
Definisi antarmuka
- getEuid()
- Deskripsi antarmuka:
- Dapatkan EUID, yang mewakili ID unik pengguna. Hanya nilai saat ini yang dikembalikan ketika inisialisasi berhasil, dan nilai nol dikembalikan di negara bagian lain.
- Deskripsi antarmuka:
Contoh pemanggilan
MTMAApi.getInstance(this).getEuid();
Dapatkan MA RID
Versi yang didukung
Versi awal yang didukung: 5.5.0
Definisi antarmuka
- getMaRid()
- Dapatkan MA RID saat ini. Hanya nilai saat ini yang dikembalikan ketika inisialisasi berhasil, dan nilai nol dikembalikan di negara bagian lain.
String maRid = MTMAApi.getInstance(this).getMaRid();
Tetapkan ID kontak saluran
Versi yang didukung
Versi awal yang didukung: 5.5.0
Definisi antarmuka
- setChannelValue(long channelId, List
values, CallBack callBack) - Deskripsi antarmuka: Tetapkan ID kontak saluran. Saluran AppPush secara otomatis terikat oleh SDK, dan tidak perlu memanggil pengaturan antarmuka ini.
- Deskripsi parameter:
channelId: ID saluran Push pihak ketiga yang dikonfigurasi pada konsol MA harus lebih besar dari0.values: Daftar nilai ID kontak saluran (seperti RID atau Token) tidak boleh kosong, dan elemen daftar tidak boleh kosong.callBack: Hasil panggilan balik,code == 0menunjukkan keberhasilan.
List<String> values = Collections.singletonList("push rid or token");
MTMAApi.getInstance(this).setChannelValue(136L, values, new CallBack() {
@Override
public void onCallBack(int code, String message) {
// code == 0 means success
}
});
Tetapkan interval data pelaporan
Ini berlaku bersamaan dengan antarmuka setMaxEventCacheCount, dan akan dilaporkan selama salah satu kondisi terpenuhi.
Versi yang didukung
Versi awal yang didukung: 5.0.0
Definisi antarmuka
- setReportInterval(int interval)
- Deskripsi antarmuka:
- Atur interval data pelaporan. Ketika antarmuka ini tidak dipanggil, defaultnya adalah 10 detik untuk melaporkan data peristiwa.
- Laporkan cache memori interval, yang perlu dipanggil di setiap siklus hidup aplikasi agar dapat diterapkan
- Deskripsi parameter
- interval pelaporan interval, satuan s (detik)
- Deskripsi antarmuka:
Contoh pemanggilan
MTMAApi.getInstance(this).setReportInterval(10);
Tetapkan batas atas cache acara
Ini berlaku bersamaan dengan antarmuka setReportInterval, dan akan dilaporkan selama salah satu kondisi terpenuhi.
Versi yang didukung
Versi awal yang didukung: 5.0.0
Definisi antarmuka
- setMaxEventCacheCount(int count)
- Deskripsi antarmuka:
- Tetapkan batas atas cache acara, defaultnya adalah 50, maksimum tidak boleh melebihi 500
- Bila jumlah cache terlampaui, semua data akan dilaporkan
- Deskripsi parameter
- hitung Batas atas jumlah item cache acara
- Deskripsi antarmuka:
Contoh pemanggilan
MTMAApi.getInstance(this).setMaxEventCacheCount(50);
Tetapkan batas waktu sesi
Versi yang didukung
Versi awal yang didukung: 5.0.0
Definisi antarmuka
- setNoActiveSessionEndDurationTime(int duration)
- Deskripsi antarmuka:
- Ketika Aplikasi ditempatkan di latar belakang, batas waktu sesi mulai dihitung. Jika waktu yang ditentukan terlampaui (default 30 menit), sesi akan berakhir.
- Deskripsi parameter
- durasi batas waktu durasi, satuan s (detik)
- Deskripsi antarmuka:
Contoh pemanggilan
MTMAApi.getInstance(this).setNoActiveSessionEndDurationTime(5*60);
Tetapkan atribut UTM
Versi yang didukung
Versi awal yang didukung: 5.0.0
Definisi antarmuka
- setUtmProperties(UtmProperties utmProperties)
- Deskripsi antarmuka:
- Atur atribut UTM. Jika pengembang dapat mengidentifikasi iklan mana yang digunakan pengguna untuk mengakses Aplikasi, disarankan untuk mengatur informasi UTM. Kami akan meneruskan parameter ini saat melaporkan peristiwa tersebut.
- Deskripsi parameter:
- Objek properti UTM utmProperties
- utm_source sumber kampanye
- utm_medium media kampanye
- utm_term istilah kampanye
- konten kampanye utm_content
- utm_campaign nama kampanye
- utm_id ID kampanye
- Deskripsi antarmuka:
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);
Sakelar Pengumpulan Data
Versi yang didukung
Versi awal yang didukung: 5.5.2
Jika aplikasi Anda perlu mengontrol pengumpulan berdasarkan persetujuan pengguna, gunakan sakelar pengumpulan data. Jika tidak diperlukan, tidak ada yang perlu diubah: pengumpulan aktif secara default dan perilakunya sama seperti sebelum peningkatan versi.
Sakelar disimpan terpisah untuk setiap MA AppKey. Saat inisialisasi, teruskan nilai dataCollectionEnabled secara dinamis sesuai status persetujuan pengguna. Jangan menuliskannya sebagai nilai tetap, karena setiap inisialisasi akan mengatur ulang status ke nilai tetap tersebut. Ketika pengguna mengubah pilihannya saat aplikasi berjalan, panggil setDataCollectionEnabled setelah inisialisasi berhasil. Keduanya dijalankan di proses utama.
Mengatur Sakelar Pengumpulan Data
Definisi antarmuka
- setDataCollectionEnabled(boolean enabled)
- Deskripsi antarmuka:
- Mengatur sakelar pengumpulan data MA AppKey saat ini. Panggil di proses utama setelah inisialisasi berhasil.
- Langsung berlaku dan disimpan di perangkat, tanpa menunggu permintaan jaringan selesai.
- Jika nilainya sama dengan status saat ini, pemrosesan penonaktifan atau pemulihan tidak dijalankan ulang, dan statistik peluncuran serta sesi tidak terpengaruh.
- Setelah diaktifkan kembali, SDK otomatis melanjutkan pengumpulan. Event, atribut pengguna, dan UTM yang dipanggil sebelum pemulihan selesai tidak disimpan, dan antarmuka yang memiliki callback mengembalikan -2.
- Untuk perilaku setiap antarmuka setelah dinonaktifkan, lihat Perilaku Saat Dinonaktifkan.
- Deskripsi parameter:
enabled:trueuntuk mengaktifkan,falseuntuk menonaktifkan.
- Deskripsi antarmuka:
Contoh pemanggilan
// enabled adalah status sakelar yang ditentukan aplikasi Anda berdasarkan persetujuan pengguna
MTMAApi.getInstance(this).setDataCollectionEnabled(enabled);
Memeriksa Sakelar Pengumpulan Data
Definisi antarmuka
- isDataCollectionEnabled()
- Deskripsi antarmuka:
- Memeriksa sakelar pengumpulan data MA AppKey saat ini. Tidak mengirim permintaan jaringan dan tidak memicu peralihan atau pemulihan.
- Deskripsi pengembalian:
trueberarti aktif,falseberarti nonaktif.- Sebelum
start, ketika AppKey belum ditentukan: mengembalikan nilai defaulttrue, yang tidak mewakili status AppKey mana pun. Lakukan pemeriksaan setelahstart. - Pada proses non-utama mengembalikan
false, yang hanya berarti proses tersebut tidak mengumpulkan data dan tidak mewakili status sakelar proses utama.
- Deskripsi antarmuka:
Contoh pemanggilan
boolean enabled = MTMAApi.getInstance(this).isDataCollectionEnabled();
Perilaku Saat Dinonaktifkan
Berhenti saat dinonaktifkan
| Antarmuka / Kemampuan | Perilaku saat dinonaktifkan |
|---|---|
Melaporkan event (onEvent) |
Dibuang secara diam-diam, termasuk atribut yang menyertai event. |
| Event bawaan: peluncuran, peralihan latar depan/latar belakang, awal dan akhir sesi, keluar, pembaruan aplikasi, status sakelar notifikasi, klik push, dan sebagainya | Tidak dibuat. Penghitungan waktu sesi berhenti, dan penanda seperti peluncuran pertama dan hari pertama tidak diperbarui. |
Semua antarmuka atribut pengguna (property* dan antarmuka object_array) |
Tidak dijalankan; callback mengembalikan -8. Juga mengembalikan -8 ketika inisialisasi belum selesai. |
Mengatur atribut UTM (setUtmProperties) |
Dibuang secara diam-diam. UTM yang sudah di-cache dihapus saat dinonaktifkan dan tidak dibawa setelah diaktifkan kembali. |
| Informasi perangkat: model, versi sistem, layar, jaringan, operator, pengenal iklan, dan sebagainya | Tidak dibaca dan tidak dilaporkan, termasuk bidang yang dapat dikontrol dengan setCollectControl. |
Tetap tersedia saat dinonaktifkan
| Antarmuka / Kemampuan | Perilaku saat dinonaktifkan |
|---|---|
start, getEuid, getMaRid |
Normal. Inisialisasi hanya membawa bidang yang diperlukan untuk pendaftaran identitas, tanpa karakteristik perangkat. |
setUserIdentity |
Normal, callback berjalan seperti biasa. Tidak menghasilkan event pendaftaran. |
setUserContact |
Normal, callback berjalan seperti biasa. |
setChannelValue, pengikatan otomatis AppPush |
Normal, push tetap terkirim seperti biasa. |
setDataCollectionEnabled, isDataCollectionEnabled |
Normal. |
setCollectControl, setReportInterval, setMaxEventCacheCount, setNoActiveSessionEndDurationTime, configDebugMode |
Dapat dipanggil. Saat dinonaktifkan tidak ada pengumpulan yang dapat dipengaruhi; setelah diaktifkan kembali, pengaturan tersebut berlaku. |
Pada saat penonaktifan
- Data yang dihasilkan sebelum peralihan langsung dikirim satu kali, tidak dicoba ulang jika gagal, lalu cache lokal dihapus.
- Data yang sudah dilaporkan tidak dihapus.
Permintaan yang tetap dikirim saat dinonaktifkan
- Inisialisasi, pendaftaran identitas (tanpa karakteristik perangkat), pengambilan konfigurasi, pengikatan saluran push, dan sinkronisasi status sakelar.
Push dan pesan
- Push tetap terkirim seperti biasa dan dapat membuka aplikasi.
- Event MA seperti klik push tidak dihasilkan, sehingga kondisi journey yang bergantung pada event perilaku MA tidak terpenuhi.
- Klik pada push atau pesan dalam aplikasi tidak dihitung sebagai konversi pesan MA. Catatan klik sebelum dinonaktifkan dihapus dan tidak lagi diatribusikan setelah diaktifkan kembali.
Tidak dikontrol oleh sakelar ini
- Tanda terima pengiriman dan klik dari saluran push itu sendiri.
- Pelaporan dari AppPush SDK yang diintegrasikan secara terpisah.
- Antarmuka REST MA yang dipanggil oleh backend aplikasi Anda.
- Sakelar ini tidak menggantikan berhenti berlangganan push.
Konsol dan segmen
- Detail pengguna menampilkan status “Pengumpulan Data”, yaitu nilai terakhir yang disinkronkan ke server dan mungkin tertunda. Status ini kosong pada AppKey yang sakelarnya belum pernah diatur.
- Pada segmen, pengguna dapat dipilih dengan “Pengumpulan Data = Nonaktif”: pengguna cocok jika salah satu perangkatnya nonaktif; perangkat yang belum melaporkan status tidak cocok.
Kontrol akuisisi data
setCollectControl mengatur izin pengumpulan untuk bidang perangkat tertentu. Untuk menghentikan pengumpulan event, atribut pengguna, UTM, dan data perangkat secara keseluruhan, gunakan Sakelar Pengumpulan Data. Setelah pengumpulan keseluruhan diaktifkan kembali, izin bidang sebelumnya tetap berlaku.
Versi yang didukung
Versi awal yang didukung: 5.0.0
Definisi antarmuka
- setCollectControl(MTMACollectControl control)
- Deskripsi antarmuka: Izin pengumpulan -Set. Jika Anda perlu mengaktifkan/menonaktifkan pengumpulan data tertentu, hubungi antarmuka ini
- Deskripsi parameter:
control: Pengaturan izin pengumpulan; properti yang tidak disetel secara eksplisit menggunakan nilai default berikutsetCarrier(boolean enable): Apakah akan mengumpulkan informasi operator, diaktifkan secara defaultsetMacAddress(boolean enable): Apakah akan mengumpulkan alamat MAC, dinonaktifkan secara defaultsetGAID(boolean enable): Apakah akan mengumpulkan GAID, ditutup secara defaultsetOAID(boolean enable): Apakah akan mengumpulkan OAID, ditutup secara defaultsetAAID(boolean enable): Apakah akan mengumpulkan AAID, ditutup secara defaultsetIMEI(boolean enable): Apakah akan mengumpulkan IMEI, dinonaktifkan secara default; hanya didukung oleh Android 9 dan di bawahnya, aplikasi host perlu mendeklarasikan dan mendapatkan izinREAD_PHONE_STATE.
Contoh pemanggilan
try {
MTMACollectControl mtmaCollectControl = new MTMACollectControl();
mtmaCollectControl.setCarrier(true);
mtmaCollectControl.setMacAddress(true);
mtmaCollectControl.setGAID(true);
mtmaCollectControl.setOAID(true);
mtmaCollectControl.setIMEI(true);
mtmaCollectControl.setAAID(true);
MTMAApi.getInstance(this).setCollectControl(mtmaCollectControl);
} catch (Throwable e) {e.printStackTrace();
}
Tetapkan atribut pengguna
Tetapkan nilai atribut pengguna. Jika atribut pengguna tidak ada, maka secara otomatis akan dibuat di latar belakang.
Timpa dan perbarui atribut pengguna
- propertySet(final JSONObject properties, final CallBack callBack)
- Deskripsi antarmuka:
- Batch menimpa dan memperbarui nilai atribut pengguna
- Hanya data laporan terbaru yang disimpan, mencakup data historis, seperti tingkat keanggotaan pengguna.
- Nilai mendukung string, angka, nilai Boolean, array string,
JSONObject, danJSONArrayyang elemennya semuanyaJSONObject.
- Deskripsi parameter:
- properti: properti pengguna
- panggilan Balik: panggilan balik antarmuka
- Deskripsi pengembalian:
onCallBack(int code, String message)- kode: kode kembali, 0 mewakili keberhasilan, -1 mewakili kegagalan, lihat deskripsi kode kesalahan untuk detailnya
- pesan: deskripsi alasan
- Contoh panggilan:
- Deskripsi antarmuka:
try {JSONObject properties = new JSONObject();
properties.put("your_property_name","your_property_value");
properties.put("your_property_name 2","your_property_value 2");
properties.put("your_property_name 3","your_property_value 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 antarmuka:
- Satu override memperbarui nilai atribut pengguna
- Hanya data laporan terbaru yang disimpan, mencakup data historis, seperti tingkat keanggotaan pengguna.
- Aturan tipe nilai konsisten dengan batch
propertySet.
- Deskripsi parameter:
- properti: nama properti pengguna
- nilai: nilai atribut pengguna
- panggilan Balik: panggilan balik antarmuka
- Deskripsi pengembalian:
onCallBack(int code, String message)- kode: kode kembali, 0 mewakili keberhasilan, -1 mewakili kegagalan, lihat deskripsi kode kesalahan untuk detailnya
- pesan: deskripsi alasan
- Contoh panggilan:
- Deskripsi antarmuka:
MTMAApi.getInstance(this).propertySet("your_property_name","your_property_value", new CallBack() {
@Override
public void onCallBack(int code, String message) {}});
Perbarui atribut pengguna secara kumulatif
- propertyIncrease(final Map<String, ? extends Number> properties, CallBack callBack)
- Deskripsi antarmuka:
- Akumulasi pengaturan nilai atribut pengguna dan membuat permintaan batch
- Akumulasi semua data yang dilaporkan, seperti jumlah akumulasi konsumsi.
- Antarmuka ini hanya dapat dipanggil untuk atribut pengguna bertipe numerik, jika tidak maka akan diabaikan. Jika atribut pengguna tidak ada sebelumnya, nilai awal akan diperlakukan sebagai 0.
- Deskripsi parameter:
- properti: properti pengguna
- panggilan Balik: panggilan balik antarmuka
- Deskripsi pengembalian:
onCallBack(int code, String message)- kode: kode kembali, 0 mewakili keberhasilan, -1 mewakili kegagalan, lihat deskripsi kode kesalahan untuk detailnya
- pesan: deskripsi alasan
- Contoh panggilan:
- Deskripsi antarmuka:
Map<String,Number> properties = new HashMap();
properties.put("your_property_name",1);
properties.put("your_property_name 2",2);
properties.put("your_property_name 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 antarmuka:
- Akumulasi pengaturan nilai atribut pengguna, permintaan tunggal
- Akumulasi semua data yang dilaporkan, seperti jumlah akumulasi konsumsi.
- Antarmuka ini hanya dapat dipanggil untuk atribut pengguna bertipe numerik, jika tidak maka akan diabaikan. Jika atribut pengguna tidak ada sebelumnya, nilai awal akan diperlakukan sebagai 0.
- Deskripsi parameter:
- properti: nama properti pengguna
- nilai: nilai atribut pengguna
- panggilan Balik: panggilan balik antarmuka
- Deskripsi pengembalian:
onCallBack(int code, String message)- kode: kode kembali, 0 mewakili keberhasilan, -1 mewakili kegagalan, lihat deskripsi kode kesalahan untuk detailnya
- pesan: deskripsi alasan
- Contoh panggilan:
- Deskripsi antarmuka:
MTMAApi.getInstance(this).propertyIncrease("your_property_name",1, new CallBack() {
@Override
public void onCallBack(int code, String message) {}});
###Tambahkan atribut pengguna
- propertyAdd(final String property, final String value, CallBack callBack)
- Deskripsi antarmuka:
- Tambahkan nilai atribut pengguna, permintaan tunggal
- Terus menambahkan elemen ke koleksi, dan menyimpan elemen dalam database untuk deduplikasi. Jika ABC sudah ada, tambahkan CD, dan akhirnya menjadi ABCD.
- Deskripsi parameter:
- properti: nama properti pengguna
- nilai: nilai atribut pengguna
- panggilan Balik: panggilan balik antarmuka
- Deskripsi pengembalian:
onCallBack(int code, String message)- kode: kode kembali, 0 mewakili keberhasilan, -1 mewakili kegagalan, lihat deskripsi kode kesalahan untuk detailnya
- pesan: deskripsi alasan
- Contoh panggilan:
- Deskripsi antarmuka:
MTMAApi.getInstance(this).propertyAdd("your_property_name","your_property_value", new CallBack() {
@Override
public void onCallBack(int code, String message) {}});
- propertyAdd(final String property, final Set values, CallBack callBack)
- Deskripsi antarmuka:
- Tambahkan nilai atribut pengguna, tambahkan beberapa nilai sekaligus
- Terus menambahkan elemen ke koleksi, dan menyimpan elemen dalam database untuk deduplikasi. Jika ABC sudah ada, tambahkan CD, dan akhirnya menjadi ABCD.
- Deskripsi parameter:
- properti: nama properti pengguna
- nilai: nilai atribut pengguna
- panggilan Balik: panggilan balik antarmuka
- Deskripsi pengembalian:
onCallBack(int code, String message)- kode: kode kembali, 0 mewakili keberhasilan, -1 mewakili kegagalan, lihat deskripsi kode kesalahan untuk detailnya
- pesan: deskripsi alasan
- Contoh panggilan:
- Deskripsi antarmuka:
Set<String> properties = new HashSet<>();
properties.add("your_property_value");
properties.add("your_property_value 2");
properties.add("your_property_value 3");
MTMAApi.getInstance(this).propertyAdd("your_property_name",properties, new CallBack() {
@Override
public void onCallBack(int code, String message) {}});
Memanipulasi elemen object_array
Antarmuka berikut didukung mulai dari 5.5.0 dan hanya digunakan untuk atribut pengguna object_array. propertyAdd asli, propertyRemove masih digunakan untuk array string dan perilakunya tetap tidak berubah.
- updateObjectArrayProperty(String property, String identifierKey, Object identifierValue, JSONObject values, CallBack callBack)
- Perbarui subbidang elemen objek berdasarkan pengidentifikasi unik.
identifierValuemendukung string atau nomor terbatas;valuestidak dapat mengubah bidang identifikasi.- Gunakan
JSONObject.NULLdivaluesuntuk menghapus subbidang yang sesuai.
JSONObject values = new JSONObject().put("enabled", false);
MTMAApi.getInstance(this).updateObjectArrayProperty(
"devices", "device_id", "device_1", values, callBack);
- addObjectArrayProperty(String property, JSONObject object, CallBack callBack)
- Tambahkan elemen objek non-null ke
object_array.
- Tambahkan elemen objek non-null ke
JSONObject device = new JSONObject()
.put("device_id", "device_2")
.put("year", 2026);
MTMAApi.getInstance(this).addObjectArrayProperty("devices", device, callBack);
- removeObjectArrayProperty(String property, String identifierKey, Object identifierValue, CallBack callBack)
- Hapus seluruh elemen objek berdasarkan pengidentifikasi unik.
MTMAApi.getInstance(this).removeObjectArrayProperty(
"devices", "device_id", "device_2", callBack);
Hapus atribut pengguna
- propertyRemove(final String property, String values, final CallBack callBack)
- Deskripsi antarmuka:
- Menghapus operasi nilai pada atribut pengguna.
- Nilai ini adalah elemen koleksi, dan elemen tersebut disimpan dalam database untuk pemrosesan deduplikasi. Jika ABCD sudah ada, hapus D, dan terakhir menjadi ABC.
- Deskripsi parameter:
- properti: nama properti pengguna
- nilai: nilai atribut pengguna
- panggilan Balik: panggilan balik antarmuka
- Deskripsi pengembalian:
onCallBack(int code, String message)- kode: kode kembali, 0 mewakili keberhasilan, -1 mewakili kegagalan, lihat deskripsi kode kesalahan untuk detailnya
- pesan: deskripsi alasan
- Contoh panggilan:
- Deskripsi antarmuka:
MTMAApi.getInstance(this).propertyRemove("your_property_name","your_property_value", new CallBack() {
@Override
public void onCallBack(int code, String message) {}});
- propertyRemove(final String property, Set
values, final CallBack callBack) - Deskripsi antarmuka:
- Hapus nilai atribut pengguna dan hapus beberapa nilai sekaligus.
- Nilai ini adalah elemen koleksi, dan elemen tersebut disimpan dalam database untuk pemrosesan deduplikasi. Jika ABCD sudah ada, CD terhapus, dan terakhir menjadi AB.
- Deskripsi parameter:
- properti: nama properti pengguna
- nilai: nilai atribut pengguna
- panggilan Balik: panggilan balik antarmuka
- Deskripsi pengembalian:
onCallBack(int code, String message)- kode: kode kembali, 0 mewakili keberhasilan, -1 mewakili kegagalan, lihat deskripsi kode kesalahan untuk detailnya
- pesan: deskripsi alasan
- Contoh panggilan:
- Deskripsi antarmuka:
Set<String> properties = new HashSet<>();
properties.add("your_property_value");
properties.add("your_property_value 2");
properties.add("your_property_value 3");
MTMAApi.getInstance(this).propertyRemove("your_property_name",properties, new CallBack() {
@Override
public void onCallBack(int code, String message) {}});
Hapus atribut pengguna
Versi yang didukung
Versi awal yang didukung: 5.0.0
Definisi antarmuka
- propertyDelete(final String property, final CallBack callBack)
- Deskripsi antarmuka:
- Hapus semua nilai nilai untuk atribut pengguna
- Deskripsi parameter:
- properti: nama properti pengguna
- panggilan Balik: panggilan balik antarmuka
- Deskripsi pengembalian:
onCallBack(int code, String message)- kode: kode kembali, 0 mewakili keberhasilan, -1 mewakili kegagalan, lihat deskripsi kode kesalahan untuk detailnya
- pesan: deskripsi alasan
- Deskripsi antarmuka:
Contoh pemanggilan
MTMAApi.getInstance(this).propertyDelete("your_property_name", new CallBack() {
@Override
public void onCallBack(int code, String message) {}});
Pelaporan insiden
Versi yang didukung
Versi awal yang didukung: 5.0.0
Definisi antarmuka
- onEvent(String eventKey, JSONObject properties)
- Deskripsi antarmuka:
- Pelaporan insiden
- Deskripsi parameter:
- eventKey: nama acara
- properti: properti acara, Kunci adalah nama properti, nilai adalah nilai properti
- Deskripsi antarmuka:
Contoh pemanggilan
JSONObject properties = new JSONObject();
properties.put("key1","v1");
properties.put("key2","v2");
MTMAApi.getInstance(this).onEvent("your_event_name",properties );
Kode kesalahan
| kode | nilai | deskripsi |
|---|---|---|
| KODE_BERHASIL | 0 | Sukses |
| KODE_TIDAK DIKETAHUI | -1 | Kesalahan tidak diketahui |
| CODE_START_FAIL | -2 | Inisialisasi tidak selesai, inisialisasi gagal, diinisialisasi dalam proses non-utama, atau konfigurasi MA yang menjadi sandaran operasi saat ini belum siap |
| KODE_VALID | -3 | Verifikasi parameter gagal |
| KODE_ENABLE | -4 | Proyek MA ditutup |
| KODE_REGISTRASIID | -5 | MA RID hilang atau ilegal |
| KODE_SWITCH | -6 | Konfigurasi proyek MA telah dialihkan dan perlu dipanggil lagi start |
| CODE_COLLECTION_DISABLED | -8 | Pengumpulan data dinonaktifkan dan operasi pengumpulan biasa ini tidak dijalankan; tersedia mulai 5.5.2 |










