Topik ini menjelaskan proses tiga langkah untuk mengintegrasikan Huawei Push.
Daftar ke Huawei Push
Masuk ke situs web resmi Huawei Developers, buat akun, lalu aktifkan layanan push. Untuk informasi lebih lanjut, lihat Langkah-langkah mengaktifkan Huawei Push.
Integrasikan Huawei Push
Push SDK mendukung integrasi dengan Huawei Mobile Services (HMS) 2 dan HMS 5. Anda hanya dapat mengintegrasikan salah satu versi tersebut.
HMS 2 merupakan versi lama. Untuk integrasi baru, gunakan HMS 5.
Jika Anda melakukan upgrade dari HMS 2 ke HMS 5, hapus terlebih dahulu konfigurasi
AndroidManifestHMS 2.
Integrasikan Huawei Push – versi HMS 5.x
Tambahkan komponen Push - HMS5. Caranya sama seperti menambahkan Push SDK. Untuk informasi lebih lanjut, lihat Tambahkan Push SDK.
CatatanKomponen Push - HMS5 hanya berisi kode adapter dan tidak menyertakan HMS SDK. Anda harus menambahkan dependensi HMS SDK secara terpisah, seperti yang dijelaskan pada langkah-langkah berikut.
Di Konsol Huawei AppGallery Connect, unduh file konfigurasi
agconnect-services.jsondan letakkan di folderassetsproyek utama aplikasi Anda.Di file
build.gradlepada direktori root proyek, konfigurasikan alamat repositori Maven untuk HMS SDK.allprojects { repositories { // Repositori lainnya dihilangkan. maven {url 'https://developer.huawei.com/repo/'} } }Di file
build.gradleproyek utama, tambahkan dependensi HMS SDK.dependencies { implementation 'com.huawei.hms:push:5.0.2.300' }Versi HMS SDK sering diperbarui. Untuk versi terbaru, lihat Catatan Pembaruan Versi HMS SDK.
Versi yang saat ini diadaptasi adalah 5.0.2.300. Anda dapat memodifikasinya sesuai kebutuhan untuk menggunakan versi yang lebih baru. SDK vendor biasanya kompatibel mundur. Jika Anda mengalami masalah kompatibilitas, bergabunglah dengan grup DingTalk 145930007362 untuk meminta dukungan versi baru.
Untuk menggunakan obfuscation, tambahkan konfigurasi obfuscation yang diperlukan:
Semua jenis koneksi mengharuskan Anda menambahkan aturan obfuscation Huawei Push.
Jika Anda menggunakan jenis koneksi AAR, Anda juga perlu menambahkan aturan obfuscation mPaaS.
Integrasikan Huawei Push – versi HMS 2.x
Tambahkan komponen Push - Huawei 2. Caranya sama seperti menambahkan Push SDK. Untuk informasi lebih lanjut, lihat Tambahkan SDK. Versi HMS 2 SDK bawaan saat ini adalah 2.5.2.201.
Konfigurasikan file
AndroidManifest.xml(untuk integrasi berbasis komponen, tambahkan di proyek Portal) dan ganti nilaicom.huawei.hms.client.appid.<activity android:name="com.huawei.hms.activity.BridgeActivity" android:configChanges="orientation|locale|screenSize|layoutDirection|fontScale" android:excludeFromRecents="true" android:exported="false" android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent"> <meta-data android:name="hwc-theme" android:value="androidhwext:style/Theme.Emui.Translucent" /> </activity> <!--Untuk mencegah crash pada versi DEX sebelumnya, aktifkan provider secara dinamis. Setel enabled ke false.--> <provider android:name="com.huawei.hms.update.provider.UpdateProvider" android:authorities="${applicationId}.hms.update.provider" android:exported="false" android:enabled="false" android:grantUriPermissions="true"> </provider> <!-- Ganti "appid" dalam nilai dengan ID aplikasi aktual dari detail layanan aplikasi Anda di website Huawei Developers. Catatan: Pertahankan backslash (\) dan spasi dalam nilai.--> <meta-data android:name="com.huawei.hms.client.appid" android:value="\ your huawei appId" /> <receiver android:name="com.huawei.hms.support.api.push.PushEventReceiver" android:exported="true" > <intent-filter> <!-- Menerima pesan notifikasi dari channel. Kompatibel dengan versi PUSH sebelumnya. --> <action android:name="com.huawei.intent.action.PUSH" /> </intent-filter> </receiver> <receiver android:name="com.alipay.pushsdk.thirdparty.huawei.HuaweiPushReceiver" android:exported="true" android:process=":push"> <intent-filter> <!-- Wajib. Digunakan untuk menerima TOKEN. --> <action android:name="com.huawei.android.push.intent.REGISTRATION" /> <!-- Wajib. Digunakan untuk menerima pesan. --> <action android:name="com.huawei.android.push.intent.RECEIVE" /> <!-- Opsional. Memanggil callback onEvent saat notifikasi atau tombol dalam notifikasi diklik. --> <action android:name="com.huawei.android.push.intent.CLICK" /> <!-- Opsional. Memeriksa apakah channel PUSH terhubung. Tidak wajib jika Anda tidak perlu memeriksa koneksi. --> <action android:name="com.huawei.intent.action.PUSH_STATE" /> </intent-filter> </receiver>Untuk menggunakan obfuscation, tambahkan konfigurasi obfuscation yang diperlukan:
Jika Anda menggunakan jenis koneksi AAR, Anda perlu menambahkan aturan obfuscation mPaaS.
Jika Anda menggunakan jenis koneksi lain, tidak diperlukan tindakan apa pun.
Uji Huawei Push
Setelah mengintegrasikan Huawei Push, jalankan aplikasi Anda di ponsel Huawei dan pastikan metode inisialisasi dipanggil. Untuk informasi lebih lanjut, lihat Inisialisasi Layanan Push Pesan. Push SDK secara otomatis memperoleh dan melaporkan token vendor Huawei Push.
Kirim pesan uji setelah Anda menghentikan proses aplikasi:
Jika Anda menerima pesan tersebut, integrasi dengan Huawei Push berhasil.
Jika Anda tidak menerima pesan tersebut, ikuti langkah-langkah berikut untuk memecahkan masalah.
Pecahkan masalah
Verifikasi bahwa konfigurasi dan parameter Huawei sesuai dengan yang ada di backend Huawei Push:
Untuk integrasi HMS 2, verifikasi bahwa konfigurasi yang diperlukan telah ditambahkan ke
AndroidManifest.xmldan bahwa nilaicom.huawei.hms.client.appidsesuai dengan yang ada di backend Huawei Push.Untuk integrasi HMS 5, verifikasi bahwa file
agconnect-services.jsonada dan berada di lokasi yang benar.
Verifikasi bahwa channel Huawei diaktifkan di Konsol mPaaS dan bahwa konfigurasinya sesuai dengan yang ada di backend Huawei Push. Untuk informasi lebih lanjut, lihat Konfigurasi channel push Huawei.
Periksa log logcat untuk memecahkan masalah:
Pilih proses push dan filter untuk
mPush.PushProxyFactory. Cari entri log berikut:D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.hms.Creator (HMS2) D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.hms5.Creator (HMS5)Jika log ini tidak muncul, kemungkinan terdapat masalah dalam penambahan komponen Push - Huawei 2 atau Push - HMS5. Verifikasi bahwa komponen telah ditambahkan dengan benar.
Pilih proses utama dan filter untuk
mHMS. Periksa apakah token vendor Huawei Push berhasil diperoleh. Jika log menunjukkanget token failed, upaya memperoleh token vendor gagal. Untuk informasi lebih lanjut tentang kode kesalahan, lihat Kode Kesalahan Huawei Push.Pilih proses utama dan filter untuk
report channel token. Periksa apakah token vendor Huawei berhasil dilaporkan. Jika log berikut muncul:report channel token error: xxxxLog ini menunjukkan bahwa pelaporan token vendor gagal. Verifikasi bahwa
base64Codedalam file konfigurasi mPaaS memiliki nilai dan bahwa signature APK yang Anda unggah saat memperoleh file konfigurasi tersebut sesuai dengan signature aplikasi saat ini.
Isu lainnya
Batasan versi untuk EMUI dan Huawei Mobile Services
Terdapat batasan versi untuk Emotion UI (EMUI), sistem operasi yang dikembangkan oleh Huawei berbasis Android, serta untuk Huawei Mobile Services. Untuk persyaratan versi lengkap, lihat Persyaratan perangkat untuk menerima pesan push Huawei.
Tidak dapat mencetak log di ponsel Huawei
Di dialer ponsel, masukkan *#*#2846579#*#* untuk membuka Project Menu. Buka Background settings > LOG settings dan pilih AP Log. Anda harus me-restart ponsel agar perubahan berlaku.