Saya membuka aplikasi saya, meletakkannya di latar belakang dengan menekan tombol beranda dan mengirim pemberitahuan (melalui layanan ini). Pemberitahuan diterima dan ditampilkan di bilah status. Tetapi tidak ada yang terjadi ketika saya mengetuk notifikasi - saya kembali ke layar beranda dan aplikasi tidak ditampilkan.
Jika aplikasi berada di latar depan, panggilan balik 'onNotificationOpen' berfungsi seperti yang diharapkan dan saya dapat melihat objek notifikasi.
Kode (disebut di dalam handler 'deviceready'):
window.FirebasePlugin.onTokenRefresh(function(token) {
console.log('FirebasePlugin onTokenRefresh - token:', token);
}, console.log);
window.FirebasePlugin.onNotificationOpen(function(notification) {
console.log('FirebasePlugin onNotificationOpen - notification:', notification);
}, console.log);
cordova: 8.0.0
cordova android: 6.4.0
perangkat: HTC 10 dengan Android 7.0
daftar plugin:
cordova-plugin-status baterai 1.2.5 "Baterai"
cordova-plugin-camera 2.4.1 "Kamera"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-console 1.1.0 "Konsol"
cordova-plugin-kontak 2.3.1 "Kontak"
cordova-plugin-device 1.1.7 "Perangkat"
cordova-plugin-device-motion 1.2.5 "Gerakan Perangkat"
cordova-plugin-orientasi perangkat 1.0.7 "Orientasi Perangkat"
cordova-plugin-dialog 1.3.4 "Pemberitahuan"
cordova-plugin-directions 0.4.4 "Arah"
cordova-plugin-facebook4 1.9.1 "Facebook Connect"
cordova-plugin-file 4.3.3 "File"
cordova-plugin-firebase 0.1.25 "Plugin Google Firebase"
cordova-plugin-geolocation 2.4.3 "Geolokasi"
cordova-plugin-globalization 1.0.9 "Globalisasi"
cordova-plugin-inappbrowser 1.7.2 "InAppBrowser"
cordova-plugin-media 3.0.1 "Media"
cordova-plugin-media-capture 1.4.3 "Tangkap"
cordova-plugin-informasi jaringan 1.3.4 "Informasi Jaringan"
cordova-plugin-statusbar 2.4.1 "StatusBar"
cordova-plugin-getaran 2.1.6 "Getaran"
cordova-plugin-daftar putih 1.3.3 "Daftar putih"
cordova-plugin-x-socialsharing 5.3.2 "Berbagi Sosial"
cordova-push-notifications 1.2.4 "Plugin Pemberitahuan Push"
cordova-social-vk 1.0.5 "SocialVk"
es6-janji-plugin 4.2.2 "Janji"
ionic-plugin-keyboard 2.2.1 "Keyboard"
Dan jika saya menggunakan plugin cordova-push-notifications , aplikasi berhasil dibuka setelah mengetuk notifikasi.
Sepertinya duplikat https://github.com/arnesson/cordova-plugin-firebase/issues/564
Baiklah.
Yang harus saya lakukan adalah mengubah format payload.
Yang lain menyarankan untuk menghapus "pemberitahuan" sepenuhnya dan memindahkan judul dan isi data di dalam.
Tapi itu menyebabkan masalah yang sama - mengetuk tidak membuka aplikasi - di iOS.
Saya kira click_action => FCM_PLUGIN_ACTIVITY menyebabkan masalah.
Agar aman, saya menghapus semua yang lain kecuali judul dan isi dari pemberitahuan.
$data = json_encode([
"pemberitahuan" => [
"judul" => $judul,
"tubuh" => $pesan,
"suara" => "standar",
"click_action" => "FCM_PLUGIN_ACTIVITY"//,
"ikon" => "fcm_push_ikon"
],
"data" => [
"muatan" => $muatan
],
"ke" => $device_token,
"prioritas" => "tinggi",
"restricted_package_name" => ""
]);
$data = json_encode([
"pemberitahuan" => [
"judul" => $judul,
"tubuh" => $msg//,
//"suara" => "default",
//"click_action" => "FCM_PLUGIN_ACTIVITY"//,
//"ikon" => "fcm_push_ikon"
],
"data" => [
"muatan" => $muatan
],
"ke" => $device_token,
"prioritas" => "tinggi",
"restricted_package_name" => ""
]);
penutupan sebagai diselesaikan
Komentar yang paling membantu
Baiklah.
Yang harus saya lakukan adalah mengubah format payload.
Yang lain menyarankan untuk menghapus "pemberitahuan" sepenuhnya dan memindahkan judul dan isi data di dalam.
Tapi itu menyebabkan masalah yang sama - mengetuk tidak membuka aplikasi - di iOS.
Saya kira click_action => FCM_PLUGIN_ACTIVITY menyebabkan masalah.
Agar aman, saya menghapus semua yang lain kecuali judul dan isi dari pemberitahuan.
SEBELUM
$data = json_encode([
"pemberitahuan" => [
"judul" => $judul,
"tubuh" => $pesan,
"suara" => "standar",
"click_action" => "FCM_PLUGIN_ACTIVITY"//,
"ikon" => "fcm_push_ikon"
],
"data" => [
"muatan" => $muatan
],
"ke" => $device_token,
"prioritas" => "tinggi",
"restricted_package_name" => ""
]);
SETELAH
$data = json_encode([
"pemberitahuan" => [
"judul" => $judul,
"tubuh" => $msg//,
//"suara" => "default",
//"click_action" => "FCM_PLUGIN_ACTIVITY"//,
//"ikon" => "fcm_push_ikon"
],
"data" => [
"muatan" => $muatan
],
"ke" => $device_token,
"prioritas" => "tinggi",
"restricted_package_name" => ""
]);