Pemberitahuan push - apa itu? Bagaimana cara mengaktifkan dan menonaktifkan Pemberitahuan Push? Mengapa saya tidak menerima notifikasi di iPhone dan iPad saya, apa yang harus saya lakukan?

Notifikasi push adalah jendela pop-up yang muncul di layar smartphone atau tablet. Mereka menampilkan informasi yang masuk dari berbagai sumber, bisa berupa pesan instan, aplikasi, atau sistem perangkat itu sendiri. Pemberitahuan push tersedia di semua perangkat modern: baik itu gadget Apple atau tablet Google. Artinya, ada notifikasi Push untuk iOS, Android, dan juga .

Menyiapkan pemberitahuan push pada perangkat yang menjalankan sistem operasi iOS, Android dan Windows Phone

Baru-baru ini, pengenalan fungsi ini ke dalam sistem operasi komputer menjadi sangat populer. Yang pertama adalah Apple dengan sumbu OS X untuk Mac. Hal ini tentu saja disebabkan oleh efisiensi tinggi dan kenyamanan notifikasi push, yang telah menjadikan dirinya sebagai sumber informasi pertama yang masuk ke ponsel cerdas atau tablet. Memang, sangatlah bodoh untuk menyangkal metode notifikasi yang nyaman seperti itu: notifikasi push menghemat RAM perangkat, karena tidak memerlukan pengoperasian program atau aplikasi secara konstan. Oleh karena itu, lalu lintas Internet juga akan terjadi.

Namun selain sangat memperhatikan pengguna dan notifikasi yang tepat waktu, notifikasi push juga bisa mengganggu. Mengapa Anda memerlukan pengingat berkala dari layanan Twitter yang ditulis oleh pengguna tertentu: “Saya makan telur dadar hari ini. Apakah itu enak? Setuju bahwa pesan ini tidak membawa muatan informasi yang berguna bagi Anda. Ternyata tidak semua alert berguna. Tentu saja, jika Anda tanpa pandang bulu memberikan akses dan setuju untuk mengirimi Anda pemberitahuan ke program dan aplikasi, Anda akan memiliki jutaan notifikasi. Menghapusnya nanti tidak menyenangkan, karena pada beberapa sistem Anda tidak dapat menghapus semuanya sekaligus. Oleh karena itu, penting untuk mengetahui cara mengatur dan menonaktifkan pemberitahuan push. Oleh karena itu, mari kita cari tahu pemasangan yang benar dari metode penyajian informasi ini.

Tombol volume berfungsi lebih dari sekadar menambah atau mengurangi volume audio perangkat Anda. Opsi dan fitur yang benar-benar baru telah ditambahkan ke menu ini, yang pastinya akan berguna bagi setiap pengguna. Mereka memungkinkan Anda untuk beralih di antara mode peringatan:

  1. “Jangan ganggu” - semua pengingat dan pesan masuk akan tiba tanpa suara;
  2. "Penting" - Anda hanya akan menerima pesan penting dari daftar program, yang dapat disesuaikan. Saat Anda menyalakannya, Anda akan melihat tab pengaturan. Di sini Anda dapat mengubah waktu pengoperasian mode. Selain itu, terdapat tab khusus yang memungkinkan Anda mengonfigurasi mode ini dengan lebih fleksibel;
  3. "Semuanya" adalah pengoperasian standar perangkat.

Perlu dicatat bahwa pemberitahuan push yang dikonfigurasi dengan cara ini akan jauh lebih berguna. Yang paling nyaman adalah mode “Penting”, di mana Anda dapat dengan mudah mengelola daftar aplikasi untuk mengakses notifikasi.

Untuk menyempurnakan jendela informasi, cukup buka bagian yang khusus dirancang untuk ini. Itu terletak di menu Pengaturan perangkat Anda. Di dalamnya Anda dapat, misalnya, menghapus notifikasi di layar kunci, membuka opsi notifikasi untuk masing-masing program, dan mengubah daftar aplikasi yang diblokir. Fitur lain yang sangat menarik adalah dalam menu aplikasi individual Anda dapat memilih:

  1. Jangan tampilkan dari aplikasi ini, sehingga menghilangkan berita program sepenuhnya;
  2. Atau tampilkan di bagian atas daftar, termasuk ketika hanya notifikasi penting yang diizinkan.

Anda dapat mengaktifkan atau menonaktifkan pemberitahuan push di iOS menggunakan menu Pengaturan yang terletak di layar Utama. Anda tidak perlu lama-lama mencari submenu yang diperlukan, karena di sistem operasi disebut “Notifikasi”. Setelah Anda masuk ke dalamnya, di sebelah kanan Anda akan melihat daftar program yang diinstal pada perangkat. Di atasnya ada tulisan “nyalakan”, dan di atasnya ada tulisan “jangan nyalakan”. Ini berarti bahwa dalam kasus pertama, peringatan dan pemberitahuan push diperbolehkan, tetapi dalam kasus kedua, tidak diperbolehkan. Mari kita lihat contoh konfigurasi detailnya.

Jadi, itu ada di daftar pertama kami. Klik di sana dan buka halaman pengaturan peringatan untuk program ini:

  1. Hal pertama yang kami miliki adalah izin untuk notifikasi dengan penggeser yang sesuai. Jika Anda memindahkannya, Anda akan mematikannya. Oleh karena itu, Skype tidak akan memberi tahu Anda tentang apa pun;
  2. Item kami berikutnya adalah "Di pusat notifikasi". Ini memungkinkan Anda untuk mengontrol jumlah peristiwa terkini yang ditampilkan di bilah notifikasi (yaitu, di pusat notifikasi);
  3. Kedengarannya. Dengan penggeser ini Anda menyesuaikan keberadaan suara untuk notifikasi;
  4. Stiker lencana. Di sini Anda dapat menyesuaikan keberadaan stiker dengan jumlah acara yang masuk pada ikon aplikasi yang terletak di layar utama;
  5. Pengaturan kedua dari belakang dalam menu ini adalah pada layar terkunci. Bertanggung jawab untuk menampilkan peringatan ketika layar tablet atau ponsel cerdas terkunci;
  6. Nah, yang terakhir adalah gaya peringatan pada layar yang tidak terkunci. Yang pertama dengan kata kategoris "Tidak" menghapus semua pemberitahuan visual. Spanduk adalah garis di bagian atas layar. Nah, dan “Peringatan”, yang ditampilkan dalam persegi panjang di tengah layar dengan pilihan jawaban. Faktanya, semuanya ditampilkan dengan jelas di halaman pengaturan notifikasi.

Pengguna mungkin juga memiliki pertanyaan: mengapa notifikasi push tidak datang? Faktanya, mungkin ada beberapa alasan:

  1. Seperti pada contoh iOS, program tersebut mungkin tidak termasuk dalam daftar yang diizinkan. Kemudian Anda hanya perlu pergi ke menu yang sama dan, gulir ke bawah, pilih program yang diinginkan dari kategori “Jangan sertakan”. Di halamannya, cukup gerakkan penggeser di sebelah “Izinkan notifikasi”. Di Android situasinya serupa;
  2. Alasan kedua mungkin karena aplikasi memerlukan koneksi Internet agar notifikasi dapat berfungsi.

Sekarang Anda telah mengetahui mengapa pemberitahuan push tidak muncul di Android atau iOS, dan cara mengaktifkan, mengonfigurasi, atau bahkan menonaktifkannya. Sekarang Anda hanya akan menerima pesan yang sangat penting, dan notifikasi game yang mengganggu tidak akan mengganggu Anda lagi!

Faktor keamanan yang penting adalah kecepatan respons terhadap kejadian. Pesan tentang suatu peristiwa atau kejadian yang tiba 10 menit kemudian atau tidak sampai sama sekali, dalam banyak kasus, menghilangkan semua investasi dalam pengawasan video, keamanan, kontrol akses, dan sistem rumah pintar. Bagi mereka yang tidak memiliki personel keamanan, kami selalu memasang sistem yang dikontrol melalui ponsel cerdas atau tablet, yang memungkinkan Anda melihat video, mengontrol otomatisasi, membuka dan menutup kunci dan gerbang pintu, keran, dan perangkat lainnya. Dan Anda sering mendengar bahwa aplikasi tidak berfungsi dengan baik, melakukan sesuatu, tetapi tidak mengirimkan pemberitahuan. Namun hal ini tidak selalu merupakan kesalahan pengembang. Seringkali alasannya ada pada smartphone, atau lebih tepatnya pada sistem operasinya. Mari perbaiki notifikasi Push.

Layanan pengiriman pemberitahuan push dari Google dan sistem operasi bertanggung jawab untuk mengirimkan pesan ke ponsel Anda, dan kemudian mereka mengirimkan pesan tersebut ke aplikasi yang dimaksudkan. Pada perangkat Apple biasanya tidak ada masalah, namun pada perangkat Android pengiriman notifikasi dilakukan sedemikian rupa sehingga pengembang aplikasi harus bekerja keras agar pesan sampai tepat waktu, dan tidak selalu berhasil. Sebenarnya, Android sendiri tidak mencegah masalah pengiriman pesan muncul karena fakta bahwa masing-masing pabrikan memiliki banyak tambahan dan “perbaikan” sendiri pada sistem operasi dasar.
Mari kita cari tahu.

Apa yang harus dilakukan jika pesan tidak terkirim sama sekali?

Berikut beberapa kemungkinan alasannya:

  • Pengguna belum mendaftarkan akun Google aktif apa pun di telepon;
  • Versi usang Layanan Google Play . Perlu diperbarui, ini mungkin memerlukan pembaruan seluruh sistem ponsel cerdas;
  • Notifikasi untuk aplikasi dimatikan (tanda centang pada halaman aplikasi di pengaturan telepon);
  • Pengoperasian aplikasi di latar belakang terbatas (pengaturannya terletak di menu “Penggunaan Data”);

Agar aplikasi sistem keamanan Anda, atau misalnya dari WhatsApp, Telegram, Skype, Vider, dapat menerima pesan, ponsel Anda harus menghubungi server dan memeriksa apakah ada pesan baru, ambil jika ada, dan transfer ke aplikasi yang diinginkan sehingga sudah menampilkannya. Artinya ponsel harus selalu tersambung ke Internet, meskipun ada di saku Anda. Semua ini menghabiskan baterai ponsel, dan banyak produsen, yang mencoba memperpanjang waktu pengoperasian ponsel cerdas dengan sekali pengisian daya, melarang pemberitahuan Push, atau membuat pemeriksaan menjadi sangat jarang.

Jadi, alasan keterlambatan pesan Push harus dicari secara tepat di “sistem hemat energi” (misalnya, Stamina pada perangkat Sony), “optimasi aplikasi”, dll. dan di sini setiap produsen ponsel pintar berbasis Android menciptakan rodanya sendiri, dan sering kali membuat ulang dari pembaruan ke pembaruan.

Pada artikel ini kami akan mencoba mengumpulkan deskripsi tentang cara menonaktifkan pengoptimalan konsumsi energi pesan push untuk ponsel yang berbeda.

Patut dikatakan bahwa menonaktifkan pemberitahuan Push memiliki efek yang sangat lemah terhadap konsumsi energi, dibandingkan dengan konsumsi LTE atau aplikasi yang haus daya. Mengaktifkan atau menonaktifkan Pengoptimalan pesan push akan mengubah masa pakai baterai ponsel cerdas dengan sekali pengisian daya sebanyak maksimum beberapa persen.

Samsung Galaksi S6

Sebuah aplikasi yang merugikan kita Samsung Galaksi S6, ditelepon . Ini adalah aplikasi terpisah yang juga dapat ditemukan di pengaturan sistem.

Pada aplikasi Smart Manager, Anda perlu mengklik OPTIONS di pojok kanan atas. "Menyiapkan notifikasi." Dan hidupkan sakelar "Degradasi kinerja". Namanya sangat aneh dan membingungkan, mengingat faktanya menurunkan performa dalam posisi mati. Untuk menerima notifikasi Push, posisi saklar harus seperti pada gambar. Tombol “Hemat Energi” tidak menghasilkan banyak efek, namun Anda juga dapat menyalakannya.

Di perangkat ASUS


  • Pada perangkat ASUS ZenFone 2, aplikasi mungkin tidak diluncurkan setelah perangkat di-boot ulang atau aplikasi dikeluarkan dari RAM perangkat. Untuk mengatasi masalah ini, aktifkan startup otomatis untuk aplikasi di pengaturan AutoPlay Manager.

Di perangkat Huawei

Mungkin ada masalah berikut dan cara mengatasinya:

  • Jika mode hemat daya diaktifkan, jendela pop-up mungkin tidak muncul. Untuk mengatasi masalah ini, tambahkan aplikasi ke daftar Aplikasi yang Dilindungi di Manajer Baterai.
  • Aplikasi dapat dibongkar dari RAM perangkat menggunakan sistem operasi. Untuk mengatasi masalah ini, sematkan aplikasi ke RAM perangkat Anda menggunakan Manajer Aplikasi dan tambahkan ke daftar Aplikasi yang Dilindungi di Manajer Baterai.

Di perangkat Meizu

Mungkin ada masalah berikut dan cara mengatasinya:

Di perangkat Lenovo

Mungkin ada masalah berikut dan cara mengatasinya:

Di perangkat Samsung

Mungkin ada masalah berikut dan cara mengatasinya:

  • Aplikasi mungkin tidak diluncurkan setelah perangkat di-boot ulang. Untuk mengatasi masalah ini, aktifkan mulai ulang otomatis untuknya. Misalnya saja menggunakan aplikasi Smart Manager. Buka Manajer Cerdas > RAM > Muat Otomatis Aplikasi. dan nyalakan saklarnya.

Pada perangkat XIAOMI MIUI

Mungkin ada masalah berikut dan cara mengatasinya:

Pada perangkat ZTE

Mungkin ada masalah berikut dan cara mengatasinya:

Cara menyematkan aplikasi ke RAM perangkat

Buka Pengelola Tugas. Misalnya, tekan dan tahan tombol tengah hingga daftar semua aplikasi yang berjalan muncul di layar.
Temukan aplikasinya.
Klik ikon Kunci di sebelah nama aplikasi.
Ikon Kunci menunjukkan bahwa aplikasi tersebut disematkan ke RAM.

Saya diminta untuk menulis artikel ini oleh tugas yang diberikan kepada saya di salah satu proyek pekerjaan saya: untuk mengimplementasikan pemberitahuan Push dalam suatu aplikasi. Tampaknya semuanya sederhana: Anda mempelajari dokumentasi, contoh, dan melanjutkan. Selain itu, saya sudah memiliki pengalaman bekerja dengan notifikasi. Tapi bukan itu masalahnya...

Layanan di mana aplikasi Android diimplementasikan memiliki persyaratan yang cukup ketat untuk pengoperasian notifikasi Push. Penting untuk memberi tahu pengguna tentang beberapa tindakan dalam waktu 30-60 detik. Jika notifikasi berhasil maka permintaan dikirimkan dari perangkat pengguna ke server dengan status yang sesuai. Dari dokumentasi kami mengetahui bahwa layanan GCM (Google Cloud Messaging) tidak menjamin pengiriman notifikasi PUSH ke perangkat, oleh karena itu, sebagai opsi pintu belakang, jika jangka waktu ini dilanggar, layanan kami akan memberi tahu pengguna melalui pesan SMS. Karena biaya pesan SMS jauh lebih tinggi daripada notifikasi PUSH, aliran pesan SMS ke perangkat klien perlu dikurangi sebanyak mungkin.

Setelah mempelajari dokumentasi dan menginstal pemberitahuan push, kami mengirimkan aplikasi pertama untuk diuji ke beberapa klien dan mulai menunggu. Hasilnya kira-kira sebagai berikut:

  • dengan koneksi Wifi aktif, semuanya berfungsi dengan sempurna: notifikasi terkirim, klien senang.
  • Dengan Internet seluler yang aktif, kesenangan dimulai.
Beberapa klien menulis bahwa mereka mengalami keterlambatan dalam pengiriman pemberitahuan push, atau menerima PUSH dan SMS secara bersamaan, yang mana hal ini sangat tidak praktis. Yang lain menulis bahwa mereka tidak menerima notifikasi sama sekali, melainkan hanya SMS. Bagi yang lain, seperti perangkat pengujian kami, semuanya baik-baik saja. Setelah mengumpulkan informasi sebanyak mungkin dari pelanggan yang tidak puas, kami mulai memahami masalahnya dan membuat daftar batasan berikut (daftar ini kemudian berubah menjadi FAQ lengkap):
  • Mode Hemat Energi yang diaktifkan (misalnya, Stamina pada perangkat Sony) memengaruhi pengoperasian pemberitahuan Push;
  • Pengguna harus memiliki minimal 1 akun Google aktif di perangkat;
  • Anda perlu memastikan bahwa versi aplikasi Layanan Google Play saat ini diinstal pada perangkat Anda;
  • periksa apakah notifikasi untuk aplikasi dinonaktifkan (centang kotak pada halaman aplikasi di pengaturan telepon);
  • periksa apakah mode latar belakang aplikasi dibatasi (pengaturannya terletak di menu “Penggunaan Data”);
  • Dokumentasi GCM menyatakan bahwa notifikasi hanya dikirim ke port tertentu, sehingga pengaturan router, firewall, dan antivirus juga harus diperhitungkan.
Setelah mengirimkan pengingat ini kepada semua klien, kami kembali menunggu hasilnya. Dan ternyata mereka “tidak terlalu baik” lagi. Mereka mulai menggali lebih jauh.

Pada tahap ini, pesan yang ditulis oleh orang-orang dari Mail.ru sangat membantu. Ini menjelaskan dengan sangat rinci seluk-beluk penerapan GCM di sisi klien, serta poin-poin yang menyebabkan pemberitahuan Push di jaringan seluler menolak untuk berfungsi. Pada akhirnya, keputusan dibuat untuk menjaga koneksi saya ke server tetap berhubungan dengan GCM.

Sebelum Anda mulai mengambil keputusan, ada baiknya menyoroti beberapa poin penting yang memungkinkan Anda mempersempit jangkauan perangkat yang berpotensi “tidak berfungsi”:

  • masalah hanya terjadi ketika terhubung ke Internet seluler;
  • Menurut pelanggan, masalah terjadi pada Android versi 4 dan lebih tinggi.
Jadi, mari kita beralih ke implementasi.

Pengembang Android yang berpengalaman akan langsung mengatakan bahwa setidaknya ada 2 solusi untuk masalah tersebut: gunakan Layanan atau AlarmManager. Kami mencoba kedua opsi tersebut. Mari kita pertimbangkan yang pertama.

Untuk membuat layanan yang tidak dapat dihancurkan sistem yang akan terus-menerus hang di latar belakang dan melakukan tugas kami, kami menggunakan metode:

StartForeground(int notifikasiID, Notifikasi notifikasi);
Di mana

  • notifikasiId - beberapa pengidentifikasi notifikasi unik yang akan ditampilkan di bilah status dan di tirai geser;
  • notifikasi - notifikasi itu sendiri.
Dalam hal ini, prasyaratnya adalah menampilkan notifikasi di bilah status. Pendekatan ini memastikan bahwa layanan akan diberi prioritas lebih tinggi (karena berinteraksi dengan bagian UI sistem) ketika ada kekurangan memori pada perangkat dan sistem akan menjadi orang terakhir yang membongkarnya. Kami tidak memerlukan pemberitahuan ini, jadi kami menggunakan ide berikut: cukup meluncurkan layanan kedua secara bersamaan dengan layanan pertama dan untuk kedua layanan sebagai ID pemberitahuan menggunakan nilai yang sama. Kemudian matikan layanan kedua. Dalam hal ini, notifikasi akan hilang dari bilah status, tetapi fungsionalitas dan kemampuan prioritas layanan pertama akan tetap ada.

Setelah menerapkan pendekatan ini, kami mengirimkan rakitan untuk pengujian. Berdasarkan hasil, ternyata sistem masih melakukan unloading layanan, dan dari log kami melihat betapa signifikannya kesenjangan waktu yang terjadi saat meminta data di latar belakang dari server kami. Oleh karena itu, kami mulai menerapkan opsi kedua - AlarmManager.

AlarmManager adalah kelas yang menyediakan pekerjaan, secara kasar, "jam alarm". Ini memungkinkan kita menentukan waktu setelah sistem akan mengirimkan pemberitahuan siaran, yang akan membangunkan aplikasi kita dan memberinya kesempatan untuk melakukan tindakan yang diperlukan. Ada beberapa keterbatasan dalam cara kerja metode ini dan perlu diatasi:

  • data tentang "jam alarm" akan dihapus setelah perangkat di-boot ulang;
  • Data alarm akan dihapus setelah memperbarui aplikasi.
Penggaruk pertama yang kami injak adalah metodenya

SetBerulang()
yang memungkinkan Anda menyetel jam alarm yang berulang pada interval tertentu. Setelah mengacaukan metode ini, mereka mulai menguji, dan pengujian menunjukkan sebaliknya - "jam alarm" tidak terulang. Kami mulai mencari tahu apa yang sedang terjadi dan melihat dokumentasinya. Dan di sanalah mereka menemukan jawaban atas pertanyaan tersebut - mulai dari API lvl 19 (Kitkat), benar-benar semua "jam alarm" di sistem menjadi jam satu kali. Kesimpulan - selalu baca dokumentasinya.

Penggaruk ini bukanlah alasan untuk frustrasi, karena solusi untuk masalah ini cukup sederhana - luncurkan "jam alarm" satu kali dan setel ulang setelah berbunyi. Saat menerapkan pendekatan ini, kami menemukan penggaruk berikut - ternyata untuk level API yang berbeda, alarm perlu disetel secara berbeda, sementara tidak ada yang disebutkan dalam dokumentasi. Namun masalah ini diselesaikan dengan cukup sederhana - dengan menyodok dan googling. Di bawah ini adalah contoh kode yang memungkinkan Anda menyetel alarm dengan benar:

Kekosongan statis pribadi setUpAlarm(konteks Konteks akhir, maksud Maksud akhir, Interval waktu int akhir) ( AlarmManager akhir am = (AlarmManager) konteks.getSystemService(Konteks.ALARM_SERVICE); PendingIntent akhir pi = PendingIntent.getBroadcast(konteks, Interval waktu, maksud, 0) ; am.cancel(pi); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) ( final AlarmManager.AlarmClockInfo alarmClockInfo = AlarmManager.AlarmClockInfo(System.currentTimeMillis() + timeInterval, pi); am.setAlarmClock( alarmClockInfo, pi); ) else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) am.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + timeInterval, pi); Sistem.currentTimeMillis() + timeInterval, pi);
Saya ingin menarik perhatian Anda pada bendera tersebut Manajer Alarm.RTC_WAKEUP- dengan bantuannya sistem akan mengizinkan aplikasi kita untuk "bangun" saat layar tidak aktif, saat perangkat dalam keadaan terkunci.

Pendekatan dengan "jam alarm" ini memberi kami hasil yang diinginkan - aplikasi di latar belakang melakukan polling dengan benar ke server untuk data baru. Kami sedang menyelesaikan algoritmanya. Kami sedang menerapkan dan menguji optimasi berikut, yang akan memungkinkan kami mempersempit jangkauan perangkat dan dengan demikian mengurangi beban pada server:

  • pesan yang dikirim oleh GCM ke perangkat berisi beberapa ID unik;
  • Setelah menerima data permintaan GET di latar belakang, kami memeriksa apakah entri dengan ID yang sama sudah ada di perangkat;
  • jika tidak ada data seperti itu secara lokal di perangkat, kami mengingat ID ini dan waktu penerimaannya T1;
  • kita tunggu PUSH dengan ID yang sama, setelah diterima kita ingat waktu T2 dan cek selisih T2 dan T1;
  • jika perbedaannya lebih dari kriteria (nilai) sementara tertentu, maka perangkat memiliki masalah dengan pengiriman pemberitahuan dan agar layanan berfungsi dengan benar, perlu terus-menerus meminta data di latar belakang dari server (saya menyarankan Anda untuk memilih kriteria berdasarkan masalah yang sedang dipecahkan. Dalam kasus kami, kriterianya sama dengan 5 menit);
  • perbedaan ini harus dihitung beberapa kali, misalnya 5-10 kali, hanya setelah itu kita dapat menyimpulkan bahwa perangkat sebenarnya memiliki masalah dalam menerima pemberitahuan Push (ini menghilangkan situasi pemutusan koneksi yang dangkal, batas waktu habis, dll.);
  • algoritma ini perlu dijalankan secara berkala (misalnya, seminggu sekali, atau setelah memperbarui OS pada perangkat).
Semua yang terbaik. Dan lebih sedikit kruk seperti itu.

P.S.
Banyak membantu selama proses pengujian

26.05.2016

Setiap perusahaan bisnis dan aplikasi memiliki daftar klien dan proyek favoritnya sendiri. Kami mencintai pelanggan kami, terutama mereka yang, selain produk jadi pada akhirnya, ingin memahami teknologi secara mandiri dan naik ke level spesialis. Metode apa pun digunakan, tetapi "penyiksaan pertanyaan" sangat populer (penguji mana pun akan beristirahat).

Potret teknis aplikasi yang sedang dikembangkan

Kami membuat aplikasi seluler untuk toko pakaian, yang arsitekturnya dibangun berdasarkan Aktivitas dasar (fragmen digunakan untuk menampilkan informasi). Pustaka Retrofit digunakan untuk mengunduh data dari server, dan database SQLite bawaan digunakan untuk menyimpannya. Loader dipilih untuk menjalankan permintaan ke server dan mengambil dari database.

Untuk menjadikan aplikasi interaktif dan memungkinkan Anda bertukar pesan, kami mengaktifkan pemberitahuan push. Dalam hal ini, VK dan Facebook SDK digunakan untuk mengimplementasikan otorisasi/pendaftaran melalui jejaring sosial dan tampilannya seperti ini: ketika pengguna mengirim pesan, dia mengirimkan permintaan dengan pesan ini ke server kami. Ini menghasilkan permintaan dengan pesan dan data tentang pengguna yang menjadi tujuan pesan tersebut, dan mengirimkan semua informasi ke server Google. Ini menghasilkan pemberitahuan push dari permintaan ini dan mengirimkannya ke perangkat pengguna. Aplikasi kami menerima dorongan ini, mem-parsing (memprosesnya) dan menampilkannya dalam obrolan - komunikasi terwujud.

Ada masalah: kapan aplikasi mulai berjalan di latar belakang atau mengapa pemberitahuan push hanya muncul setelah peluncuran?

Seorang klien datang kepada kami dengan pertanyaan ini, karena berdasarkan pengalaman ia dihadapkan pada dilema berikut: ketika diluncurkan dari perangkat kedua, aplikasi berfungsi dengan baik, tetapi bagaimana cara kerja "pemuatan otomatis"?

Mari kita bicara. Aplikasi mulai bekerja di latar belakang segera setelah instalasi, dan langganan pemberitahuan push dilakukan setelah pendaftaran di aplikasi.

Jika pengguna tidak mendaftar di dalamnya, maka pemberitahuan push tidak akan berfungsi untuknya.

Ada penjelasan lain yang perlu dipertimbangkan:

  1. Notifikasi push berfungsi melalui layanan GCM (Google Cloud Messaging), jadi jika perangkat tidak memiliki Layanan Google Play, pengoperasiannya tidak stabil, atau pabrikan telah melakukan perbaikan pada pengoperasiannya, maka notifikasi push tidak akan berfungsi sepenuhnya atau akan ada gangguan dalam operasi mereka. Jika layanan Google Play tidak tersedia di ponsel Anda, Anda bahkan tidak akan dapat mendaftar untuk menerima pemberitahuan push. Tentu saja, hal ini juga dapat dilakukan “secara paksa”: jika setelah registrasi, langganan notifikasi push di server tidak berhasil, maka Anda perlu terus mencoba setiap kali Anda masuk ke aplikasi hingga hasilnya berhasil. Alasan untuk situasi ini mungkin karena masalah dengan pengoperasian layanan Google Play - dalam hal ini, upaya untuk berlangganan mungkin tidak menghasilkan apa-apa.
  2. Alasan terjadinya kesalahan fungsi terletak pada lingkungan kerja yang tidak ideal. Kami merekomendasikan kepada klien kami untuk pengujian, dan menyebutnya sebagai lingkungan yang ideal, penggunaan ponsel Google Nexus (mereka menjalankan Android "murni" tanpa perubahan apa pun, dan OS serta layanan bekerja dengan ideal), pengoperasian server dan Internet yang stabil koneksi. Dalam kondisi seperti itu, permintaan akan dikeluarkan dengan benar, tanpa kesalahan dan secepat mungkin. Dalam hal ini, aplikasi akan dengan cepat memuat data baru, menampilkannya, dan tidak akan ada masalah dengan tampilan informasi yang salah. Di ponsel lain (dengan sistem operasi yang dimodifikasi - merek Cina, Samsung, HTC, dll.), Anda tidak hanya dapat mengharapkan operasi server yang tidak stabil, tetapi juga kemampuan terbatas dari aplikasi yang sedang dikembangkan (karena penghapusan banyak fungsi metode secara sistematis) - ya, pemberitahuan push mungkin tidak diberikan sama sekali.
  3. Jangan lupakan hal utama - notifikasi push hanya datang jika ada koneksi Internet yang stabil. Jika tidak demikian, pesan akan muncul segera setelah koneksi pulih.

Melanjutkan

  • Lingkungan yang ideal (Internet tanpa cacat, platform “bersih”) sangat ideal, jadi peringatkan klien tentang semua kemungkinan kesalahan dan keterbatasan fungsi aplikasi.
  • Jangan takut dengan pertanyaan klien - mereka akan dengan cermat mencari kekurangan dalam pekerjaan Anda dan menemukannya! Terima kasih dan segera perbaiki bugnya.
  • Pertama-tama, buatlah aplikasi untuk pengguna, fokuslah pada kemampuan teknis mereka dan jangan membuat hal-hal yang tidak perlu.
  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat