Saya mencari untuk menulis aplikasi yang menerima peringatan push dari server. Saya menemukan beberapa metode untuk melakukan ini.
- SMS - Mencegah SMS yang masuk dan memulai tarikan dari server
- Polling server secara berkala
Masing-masing memiliki keterbatasan sendiri. SMS- tidak ada jaminan pada waktu kedatangan. Polling dapat menguras baterai.
Apakah Anda punya saran yang lebih baik? Terima kasih banyak.
Jawaban:
Jawaban resmi Google adalah
Kerangka Kerja Pesan Cloud Android ke Perangkat (tidak digunakan)Google Cloud Messaging (tidak digunakan)Firebase Cloud MessagingIni akan bekerja di Android> = 2.2 (pada ponsel yang memiliki Play Store).
sumber
( posting silang dari jawaban yang saya berikan ke pertanyaan serupa - Apakah Android mendukung pemberitahuan push waktu dekat? )
Saya baru-baru ini mulai bermain dengan MQTT http://mqtt.org untuk Android sebagai cara melakukan hal semacam ini (yaitu push notification yang bukan SMS tetapi didorong data, pengiriman pesan yang hampir seketika, tidak polling, dll.)
Saya memiliki posting blog dengan informasi latar belakang tentang hal ini jika itu membantu
http://dalelane.co.uk/blog/?p=938
(Catatan: MQTT adalah teknologi IBM, dan saya harus menunjukkan bahwa saya bekerja untuk IBM.)
sumber
Pemahaman / pengalaman saya dengan pemberitahuan push Android adalah:
C2DMGCM - Jika platform Android target Anda adalah 2.2+, maka lakukanlah. Hanya satu tangkapan, pengguna perangkat harus selalu login dengan Akun Google untuk mendapatkan pesan.MQTT - Pendekatan berbasis Pub / Sub, membutuhkan koneksi aktif dari perangkat, dapat menguras baterai jika tidak diimplementasikan dengan bijaksana.
Diakon - Mungkin tidak baik dalam jangka panjang karena dukungan komunitas yang terbatas.
Sunting : Ditambahkan pada 25 November 2013
GCM - Google mengatakan ...
sumber
Android Cloud to Device Framework Messaging
Penting: C2DM telah secara resmi ditinggalkan pada 26 Juni 2012. Ini berarti bahwa C2DM telah berhenti menerima pengguna baru dan permintaan kuota. Tidak ada fitur baru yang akan ditambahkan ke C2DM. Namun, aplikasi yang menggunakan C2DM akan terus berfungsi. Pengembang C2DM yang ada didorong untuk bermigrasi ke versi baru C2DM, yang disebut Google Cloud Messaging for Android (GCM). Lihat dokumen Migrasi C2DM-ke-GCM untuk informasi lebih lanjut. Pengembang harus menggunakan GCM untuk pengembangan baru.
Silakan periksa tautan berikut:
http://developer.android.com/guide/google/gcm/index.html
sumber
Di sini saya telah menulis beberapa langkah untuk Cara Mendapatkan RegID dan Pemberitahuan mulai dari awal
Anda dapat menemukan tutorial lengkap di tautan URL di bawah ini
Kode snip untuk mendapatkan ID Registrasi (Token Perangkat untuk Push Notification).
Konfigurasikan proyek untuk GCM
Perbarui file AndroidManifest
Untuk mengaktifkan GCM di proyek kami, kami perlu menambahkan beberapa izin dalam file manifes kami Buka AndroidManifest.xml dan tambahkan kode di bawah ini Tambahkan Izin
Tambahkan deklarasi Penerima Siaran GCM
tambahkan deklarasi Penerima Siaran GCM di tag aplikasi Anda
Tambahkan deklarasi Layanan GCM
Dapatkan ID Pendaftaran (Token Perangkat untuk Pemberitahuan Push)
Sekarang Buka Aktivitas Peluncuran / Percikan Anda
Tambahkan Konstanta dan Variabel Kelas
Perbarui metode OnCreate dan OnResume
Catatan : harap simpan REGISTRATION_KEY, penting untuk mengirim Pesan PN ke GCM juga tetap milik saya ini akan unik untuk semua perangkat, dengan menggunakan ini hanya GCM akan mengirimkan Pemberitahuan Push.
Terima Pemberitahuan Push
Tambahkan Kelas Penerima Siaran GCM
Seperti yang telah kita nyatakan "GcmBroadcastReceiver.java" dalam file Manifest kita, Jadi mari kita buat kelas ini memperbarui kode kelas penerima dengan cara ini
Tambahkan Kelas Layanan GCM
Seperti yang telah kita nyatakan "GcmBroadcastReceiver.java" dalam file Manifest kita, Jadi mari kita buat kelas ini memperbarui kode kelas penerima dengan cara ini
sumber
Ada upaya open-source baru untuk mengembangkan perpustakaan Java untuk pemberitahuan push pada Android berdasarkan server web Meteor. Anda dapat memeriksanya di Deacon Project Blog , di mana Anda akan menemukan tautan ke Meteor dan repositori GitHub proyek. Kami membutuhkan pengembang, jadi tolong sebarkan berita ini!
sumber
Anda dapat menggunakan Xtify ( http://developer.xtify.com ) - mereka memiliki layanan web push notification yang berfungsi dengan SDK mereka. ini gratis dan sejauh ini, bekerja dengan sangat baik untuk saya.
sumber
atau....
sumber
Saya sarankan menggunakan GCM - Google Cloud Messaging untuk Android Gratis, dan untuk penggunaan sederhana itu harus sangat mudah.
Namun itu diperlukan untuk mempertahankan server pihak ke-3 untuk mengirim pemberitahuan atas nama Anda. Jika Anda ingin menghindari itu ada beberapa solusi industri yang sangat baik untuk layanan pemberitahuan push Android:
Diclaimer - Saya bekerja di PushApps dan juga menggunakan produk mereka di aplikasi saya selama lebih dari satu tahun sekarang.
sumber
Pada 18/05/2016 Firebase adalah platform terpadu Google untuk pengembang seluler termasuk pemberitahuan push.
sumber
Saya khawatir Anda telah menemukan kedua metode yang mungkin. Google, setidaknya pada awalnya, akan mengimplementasikan api GChat yang dapat Anda gunakan untuk implementasi push / pull. Sayangnya, perpustakaan itu dipotong oleh Android 1.0.
sumber
Saya tidak tahu apakah ini masih berguna. Saya mencapai sesuatu seperti ini dengan perpustakaan java di http://www.pushlets.com/
Meskipun melakukannya dalam layanan tidak akan mencegah android mematikannya dan mematikan utas pendengar.
sumber
Google C2DM didepresiasi sekarang, untuk itu, Anda harus menggunakan layanan GCM baru (Google Cloud Messaging). Untuk dokumentasi, lihat http://developer.android.com/guide/google/gcm/gs.html
sumber
C2DM: pengguna aplikasi Anda harus memiliki akun gmail.
MQTT: ketika koneksi Anda mencapai 1024, itu akan berhenti bekerja karena menggunakan "pilih model" dari linux.
Ada layanan push dan api gratis untuk android, Anda dapat mencobanya: http://push-notification.org
sumber
Metode gratis dan mudah:
Jika basis pengguna target Anda tidak besar (kurang dari 1000) dan Anda ingin layanan gratis untuk memulai, maka Airbop adalah yang terbaik dan paling nyaman.
Situs Web Airbop Menggunakan layanan Google Cloud Messaging melalui API-nya dan memberikan kinerja yang baik. Saya telah menggunakannya untuk dua proyek saya dan mudah mengimplementasikannya.
Layanan seperti dan Urbanship sangat baik tetapi menyediakan seluruh penempatan penyebaran dan bukan hanya hal pemberitahuan push.
Jika hanya layanan push yang menjadi target Anda, Airbop akan berfungsi dengan baik.
Saya belum pernah menggunakan Pushwoosh , tetapi juga merupakan pilihan yang bagus. Ini memungkinkan push ke 1.000.000 perangkat gratis
sumber
Saya sarankan menggunakan SMS dan HTTP. Jika pengguna tidak masuk, kirim SMS ke telepon mereka untuk memberi tahu mereka. Ada pesan yang menunggu.
Begitulah cara layanan Lab Ericsson ini berfungsi: https://labs.ericsson.com/apis/mobile-java-push/
Jika Anda menerapkannya sendiri, bagian yang sulit adalah menghapus SMS yang masuk tanpa pengguna melihatnya. Atau mungkin tidak apa-apa jika mereka melihatnya dalam kasus Anda.
Sepertinya ini berfungsi: Menghapus SMS Menggunakan BroadCastReceiver - Android
Ya, menulis kode seperti ini bisa berbahaya dan Anda berpotensi merusak kehidupan seseorang karena aplikasi Anda menghapus SMS yang seharusnya tidak ada.
sumber
Anda dapat menggunakan Google Cloud Messaging atau GCM , gratis dan mudah digunakan. Anda juga dapat menggunakan server dorong pihak ketiga seperti PushWoosh yang memberi Anda lebih banyak fleksibilitas
sumber
Ada banyak server pihak ketiga seperti Urban Airship , Xtify, Mainline , ... yang memungkinkan pengiriman tidak hanya di Android, tetapi juga di iOs, Windows Phone ...
sumber
Firebase Cloud Messaging (FCM) adalah versi baru GCM. FCM adalah solusi perpesanan lintas platform yang memungkinkan Anda mengirim pesan dengan aman dan gratis. Mewarisi infrastruktur pusat GCM untuk mengirimkan pesan dengan andal di Android, iOS, Web (javascript), Unity dan C ++.
Pada 10 April 2018, Google tidak menyetujui GCM. Server GCM dan API klien tidak digunakan lagi dan akan dihapus pada 11 April 2019. Google merekomendasikan migrasi aplikasi GCM ke Firebase Cloud Messaging (FCM), yang mewarisi infrastruktur GCM yang andal dan dapat diskalakan.
Sumber
sumber
Anda bisa menggunakan Pusher
Ini adalah layanan yang dihosting yang membuatnya sangat mudah untuk menambahkan data real-time dan fungsionalitas ke aplikasi web dan seluler.
Pusher menawarkan perpustakaan untuk diintegrasikan ke dalam semua runtime utama dan kerangka kerja.
PHP, Ruby, Python, Java, .NET, Go and Node
di serverJavaScript, Objective-C (iOS) and Java (Android)
pada klien.sumber