Panduan Integrasi Fungsi Android MA
Versi yang berlaku
Artikel ini berlaku untuk versi independen MA SDK 5.5.0 dan versi yang lebih baru.
Mulai dari 5.5.0, MA tidak lagi bergantung pada AppPush dan dapat diintegrasikan dan diinisialisasi secara mandiri. MA AppKey dan Push AppKey tidak bergantung satu sama lain dan bisa sama atau berbeda.
Untuk metode integrasi versi Fusion sebelum 5.5.0, silakan lihat Panduan Integrasi sebelum 5.5.0.
1. Impor SDK
Impor manual
Tambahkan mt-sdk-ma-5.5.0.aar dalam paket rilis ke direktori libs proyek aplikasi:
dependencies {
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
}
Impor Maven
dependencies {
implementation 'com.engagelab.plugin:oth_ma:5.5.0'
}
Jika Anda menggunakan AppPush secara bersamaan, ikuti dokumen AppPush untuk memperkenalkan paket utama engagelab; saat menggunakan MA saja, Anda tidak perlu memperkenalkan paket utama AppPush.
2. Konfigurasi izin
Deklarasikan izin jaringan di AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
MA versi mandiri tidak memerlukan konfigurasi ENGAGELAB_PRIVATES_APPKEY, ENGAGELAB_PRIVATES_CHANNEL, Push Service, atau Push Receiver. Jika Anda menggunakan AppPush secara bersamaan, Anda masih perlu menyelesaikan konfigurasi yang sesuai sesuai dengan dokumen integrasi AppPush.
3. Inisialisasi SDK
Disarankan untuk menginisialisasi dalam Application.onCreate() dari proses utama. MA AppKey digunakan untuk inisialisasi, dan tidak perlu menunggu inisialisasi AppPush atau registrasi berhasil.
import android.app.Application;
import com.engagelab.privates.push.oth.ma.api.MTMAApi;
import com.engagelab.privates.push.oth.ma.api.MTMAConfig;
import com.engagelab.privates.push.oth.ma.api.MTMAInitResult;
import com.engagelab.privates.push.oth.ma.api.MTMAInitResultCallback;
public class MainApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
MTMAApi.configDebugMode(true);
MTMAConfig config = new MTMAConfig("your MA AppKey");
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();
}
}
});
}
}
Petunjuk inisialisasi
- MA AppKey diperlukan.
- Android MA SDK hanya mendukung inisialisasi pada proses utama aplikasi host. Memanggil
startdalam proses non-utama akan mengembalikan kegagalan melalui panggilan balik dan tidak ada permintaan jaringan yang akan dimulai. - Sebelum inisialisasi berhasil, API bisnis MA lainnya tidak tersedia kecuali untuk antarmuka konfigurasi pra-inisialisasi.
- Direkomendasikan agar semua API eksternal MA dipanggil dalam proses utama. Proses non-utama tidak akan membagikan status inisialisasi proses utama, dan panggilan bisnis tidak akan diteruskan ke proses utama.
- Setelah inisialisasi berhasil, nilai saat ini juga dapat diperoleh melalui
getEuid()dangetMaRid().
Ganti MA AppKey saat runtime
Proses yang sama mendukung peralihan MA AppKey saat runtime. Silakan hubungi start lagi dengan AppKey baru setelah panggilan balik inisialisasi terakhir selesai.
MTMAConfig newConfig = new MTMAConfig("new MA AppKey");
MTMAApi.getInstance(this).start(newConfig, callback);
Selama peralihan, API bisnis MA lainnya untuk sementara tidak tersedia; setelah AppKey baru berhasil diinisialisasi, kejadian berikutnya dan data pengguna menjadi milik AppKey baru. Jika AppKey baru gagal diinisialisasi, SDK tidak akan otomatis kembali ke AppKey lama, dan start perlu dipanggil lagi dengan AppKey yang valid.
Tetapkan ID pengguna selama inisialisasi
UserIdentity identity = new UserIdentity();
identity.setUserId("your user id");
identity.setAnonymousId("your anonymous id");
identity.setEmail("user@example.com");
identity.setPhone("+8613800138000");
MTMAConfig config = new MTMAConfig("your MA AppKey", identity);
MTMAApi.getInstance(this).start(config, callback);
Diantaranya, setEmail dan setPhone didukung mulai dari versi 5.5.0.
Aturan bidang identitas pengguna: setelah spasi di awal dan akhir dihapus, user_id tidak boleh kosong, panjangnya maksimal 255 karakter Unicode, dan tidak boleh sama dengan 0, null, undefined, atau nan (tanpa membedakan huruf besar/kecil). Setelah spasi dihapus, anonymous_id tidak boleh kosong dan panjangnya maksimal 256 karakter Unicode. email tidak boleh kosong, panjangnya maksimal 256 karakter Unicode, harus berisi tepat satu @ dengan isi yang tidak kosong di kedua sisinya, serta tidak boleh berisi spasi, baris baru, atau tab. phone harus menggunakan format E.164: diawali dengan +, kode negara diawali digit 1–9, lalu diikuti 1–14 digit. Jika validasi gagal, SDK tidak mengirim permintaan identitas dan mengembalikan code = -3 melalui callback.
4. Gunakan AppPush secara bersamaan
Saat mengonfigurasi sumber data seluler di konsol MA, silakan pilih untuk menggunakan AppPush secara bersamaan, dan pilih aplikasi AppPush yang benar-benar terhubung. Saat menginisialisasi AppPush, gunakan AppKey dari aplikasi yang dipilih.
MA dan AppPush diinisialisasi secara terpisah dan tidak memerlukan urutan tetap. Setelah AppPush berhasil didaftarkan dan Push RID diperoleh, MA SDK akan secara otomatis mengikat saluran AppPush.
AppPush tidak terintegrasi, belum terdaftar, atau pengikatan saluran gagal, yang tidak memengaruhi inisialisasi MA, pengumpulan peristiwa, dan pelaporan.
Catatan: MA RID dan AppPush RID adalah dua pengidentifikasi perangkat independen. Silakan dapatkan dan gunakan masing-masing melalui SDK yang sesuai, jangan gunakan salah satu sebagai yang lain.
5. Tetapkan ID kontak saluran
Jika Anda perlu mengatur ID kontak saluran untuk saluran Push pihak ketiga, silakan hubungi setelah MA berhasil diinisialisasi:
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
}
});
channelId: ID saluran Push pihak ketiga yang dikonfigurasi pada konsol MA harus lebih besar dari 0.values: Daftar nilai ID kontak saluran (seperti RID atau Token) tidak boleh kosong, dan elemen daftar tidak boleh kosong.- Setelah ID kontak saluran berubah, pembaruan antarmuka perlu dipanggil lagi.
- Antarmuka ini digunakan untuk mengatur ID kontak saluran Push pihak ketiga; saluran AppPush secara otomatis terikat oleh SDK.
6. Petunjuk peningkatan versi lama
- Setelah memutakhirkan ke 5.5.0, MA AppKey harus diteruskan secara eksplisit menggunakan
MTMAConfig. - Tidak perlu lagi menunggu koneksi AppPush yang lama atau registrasi berhasil untuk menghubungi MA
start. start(CallBack)danstart(UserIdentity, CallBack)sudah usang, harap gunakanstart(MTMAConfig, MTMAInitResultCallback)untuk versi mandiri.- Aplikasi yang awalnya menggunakan AppPush dan MA secara bersamaan dapat terus mengintegrasikan AppPush, namun harus diinisialisasi secara terpisah.
- MA RID dan AppPush RID adalah dua pengidentifikasi perangkat independen. Silakan dapatkan dan gunakan masing-masing melalui SDK yang sesuai, jangan gunakan salah satu sebagai yang lain.
Untuk antarmuka bisnis lainnya, silakan lihat Panduan API.










