全部产品
Search
文档中心

Mobile Platform as a Service:Diagnosis klien Android

更新时间:Jan 23, 2026

Topik ini menjelaskan cara menggunakan fungsi diagnosis klien pada klien Android. Di Konsol, Anda dapat mengirim tugas diagnostik melalui dua saluran: Message Push Service (MPS) dan Mobile Sync Service (MSS).

Untuk mendiagnosis klien Android, ikuti langkah-langkah berikut:

  1. Inisialisasi layanan diagnosis

  2. Tulis log diagnostik

  3. Tarik log dari Konsol

Prasyarat

Inisialisasi layanan diagnosis

Layanan diagnosis mendukung penarikan log diagnostik melalui saluran Mobile Sync Service atau Message Push Service. Metode inisialisasi berbeda untuk setiap saluran.

Gunakan saluran Message Push Service

Jika Anda menggunakan saluran Message Push Service, lakukan operasi berikut setelah aplikasi dimulai:

Gunakan saluran Mobile Sync Service

Jika Anda menggunakan saluran Mobile Sync Service, panggil metode berikut setelah aplikasi dimulai untuk menginisialisasi saluran.

  • Memicu tugas diagnostik berdasarkan pengguna

    // Setel userId
    MPLogger.setUserId(String userId);
    // Inisialisasi saluran Sync. Anda harus menyetel userId terlebih dahulu, atau inisialisasi akan gagal.
    MPDiagnose.initSyncChannel(Context context);
  • Memicu tugas diagnostik berdasarkan perangkat

    Catatan

    Pemantik tugas diagnostik berdasarkan perangkat hanya didukung pada baseline 10.2.3.73 dan versi setelahnya.

    // Setel userId
    MPLogger.setUserId(String userId);
    // Inisialisasi saluran Sync. Anda harus menyetel userId terlebih dahulu, atau inisialisasi akan gagal.
    MPDiagnose.initSyncDeviceChannel(Context context);

Tulis log diagnostik

Ketika klien menerima tugas diagnostik, klien hanya mengunggah log yang ditulis menggunakan tool logging mPaaS, MPLogger. Oleh karena itu, Anda harus menggunakan MPLogger, bukan android.util.Log, untuk menulis log. MPLogger menyediakan metode tingkat log yang mirip dengan kelas Log native:

void verbose(String tag, String msg);
void debug(String tag, String msg);
void info(String tag, String msg);
void warn(String tag, String msg);
void warn(String tag, Throwable t);
void warn(String tag, String msg, Throwable tr);
void error(String tag, String msg);
void error(String tag, Throwable t);
void error(String tag, String msg, Throwable t);
void print(String tag, String msg);
void print(String tag, Throwable t);

Log yang ditulis oleh MPLogger ditampilkan di logcat untuk paket debug tetapi tidak untuk paket release. Direktori penyimpanan log diagnostik di perangkat adalah:

  • Paket debug: /sdcard/[PackageName]/applog. Jika direktori ini tidak dapat ditulis, log akan ditulis ke direktori paket release.

    Penting

    Jika targetSdkVersion adalah 30 atau lebih baru dan sistem operasi ponsel adalah 11 atau lebih baru, direktori penyimpanannya adalah: /storage/emulated/0/Android/data/com.mpaas.demo/cache/[PackageName]/applog/.

  • Paket release: /data/data/[PackageName]/files/applog.

Sesuaikan parameter penyimpanan log diagnostik

Secara default, penyimpanan log lokal menyimpan data selama 7 hari dengan batas ukuran file 15 MB. Jika batas ini terlampaui, seperempat file log akan dihapus.

Konfigurasikan elemen <meta-data> dalam manifes.

// Ukuran maksimum file log dalam MB
<meta-data android:name="category_applog_max_size" android:value="15" />
// Durasi penyimpanan log dalam hari
<meta-data android:name="category_applog_expires_time" android:value="7" />
Catatan

Penyesuaian parameter penyimpanan log diagnostik hanya didukung pada baseline 10.2.3.73 dan versi setelahnya.

Tarik log dari Konsol

Anda dapat menarik log yang ditulis oleh tool logging mPaaS dari Konsol. Fitur ini membantu Anda menganalisis crash atau exception yang terjadi pada model perangkat tertentu atau untuk pengguna tertentu secara cepat.

Langkah 1: Buat tugas penarikan log

  1. Login ke Konsol mPaaS dan pilih aplikasi target Anda.

  2. Di panel navigasi sebelah kiri, klik Mobile Analysis Service > Log Management.

  3. Pada tab Pull real-time logs, klik Add.

  4. Isi informasi tugas. User ID adalah pengenal pengguna dalam sistem login aplikasi Anda. Anda dapat menyetelnya menggunakan MPLogger.setUserId(String userId) atau metode pelaporan user ID melalui Message Push Service.

  5. Klik OK untuk membuat tugas penarikan log.

Langkah 2: Picu tugas penarikan log

  1. Dalam daftar tugas penarikan log, temukan tugas yang baru saja dibuat, pilih Trigger Channel, lalu klik Trigger di kolom Operations.

  2. Tunggu sebentar, lalu refresh halaman untuk memeriksa status tugas:

    • Task processed: Klik View untuk mengunduh log diagnostik.

    • Push/Sync service successfully called: Status ini menunjukkan bahwa pesan untuk mengunggah log diagnostik telah dikirim, tetapi klien belum menerimanya atau belum mengunggah log. Dalam kasus ini, pastikan proses aplikasi Anda masih berjalan. Jika tidak, restart aplikasi. Jika status tugas tidak berubah setelah Anda me-restart aplikasi, lihat bagian troubleshooting di bawah.

Troubleshooting

Jika Anda tidak dapat menarik log, ikuti langkah troubleshooting yang sesuai dengan saluran yang digunakan untuk mengirim tugas log diagnostik.

Gunakan saluran Message Push Service

Ikuti langkah-langkah berikut untuk troubleshooting:

  1. Buka halaman Konsol mPaaS > Message Push Service. Dorong pesan biasa ke aplikasi Anda berdasarkan user ID untuk memastikan saluran Message Push Service berfungsi dengan benar.

  2. Jika saluran Message Push Service berfungsi dengan benar, bersihkan log logcat, alihkan ke proses push, lalu klik Trigger lagi untuk tugas diagnostik di Konsol. Pantau log logcat.

  3. Filter untuk mPush14 dan periksa apakah pesan diagnostik diterima. Jika tidak, pastikan apakah saluran push terputus. image.png

  4. Setelah Anda memastikan pesan diagnostik diterima, periksa log berikut untuk memastikan pesan diteruskan ke MonitorService. Jika terdapat error yang menunjukkan bahwa ClientMonitorService tidak ditemukan, gunakan plugin mPaaS untuk memperbarui SDK:

    • Untuk baseline 10.1.32, upgrade ke 10.1.68 dan perbarui komponen ke versi terbaru.

    • Untuk baseline 10.1.60 atau 10.1.68, perbarui komponen ke versi terbaru.2

  5. Setelah Anda memastikan MonitorService telah dimulai, filter untuk AlipayLogUploader untuk memeriksa apakah log diagnostik tersedia secara lokal. Log berikut menunjukkan bahwa log diagnostik lokal tersedia untuk diunggah.

    本地存在日志

    Log berikut menunjukkan bahwa tidak ada log diagnostik.

    本地不存在日志

    Jika tidak ada log diagnostik, periksa hal-hal berikut:

    • Periode waktu yang dipilih untuk tugas penarikan log waktu nyata di Konsol harus minimal 1 jam. Aplikasi harus berjalan dan menulis log diagnostik selama periode tersebut.

    • Aplikasi harus mendeklarasikan dan meminta izin berikut secara dinamis:

      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  6. Setelah Anda memastikan log diagnostik lokal tersedia, filter untuk HttpUpload untuk memeriksa apakah pengunggahan log berhasil. responseCode bernilai 200 menunjukkan pengunggahan berhasil. 3

Gunakan saluran Data Synchronization

Ikuti langkah-langkah berikut untuk troubleshooting:

  1. Bersihkan log logcat, alihkan ke proses utama, dan inisialisasi saluran sinkronisasi. Lalu, filter untuk isConnected untuk memeriksa apakah koneksi saluran sinkronisasi berhasil dibangun.

  2. Di Konsol mPaaS, klik Trigger lagi untuk tugas diagnostik. Filter untuk MPDiagnose untuk memeriksa apakah pesan diagnostik diterima dan apakah MonitorService telah dimulai.

    Jika tidak ada pesan yang diterima, pastikan user ID yang disetel sesuai dengan user ID yang dimasukkan dalam tugas diagnostik. Jika terdapat error yang menunjukkan bahwa ClientMonitorService tidak ditemukan, gunakan plugin mPaaS untuk memperbarui SDK:

    • Untuk baseline 10.1.32, upgrade ke 10.1.68 dan perbarui komponen ke versi terbaru.

    • Untuk baseline 10.1.60 atau 10.1.68, perbarui komponen ke versi terbaru.

  3. Setelah Anda memastikan MonitorService telah dimulai, alihkan ke proses push dan filter untuk AlipayLogUploader untuk memeriksa apakah log diagnostik tersedia secara lokal. Log berikut menunjukkan bahwa log diagnostik lokal tersedia untuk diunggah.Log berikut menunjukkan bahwa tidak ada log diagnostik.

    Verifikasi hal-hal berikut:

    • Periode waktu yang dipilih untuk tugas penarikan log waktu nyata di Konsol harus minimal 1 jam. Aplikasi harus berjalan dan menulis log diagnostik selama periode tersebut.

    • Aplikasi harus mendeklarasikan dan meminta izin berikut secara dinamis:

      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  4. Setelah Anda memastikan log diagnostik lokal tersedia, filter untuk HttpUpload untuk memeriksa apakah pengunggahan log berhasil. responseCode bernilai 200 menunjukkan pengunggahan berhasil.