Pag-set up at pagpapadala ng mga notification gamit ang Firebase FCM

  • Pagsasama ng imprastraktura ng Firebase sa mga Android application, Web application, at mga backend server.
  • Pamamahala ng mga natatanging token sa pagpaparehistro para sa tumpak na paghati-hati ng mga mensahe sa mga gumagamit.
  • Pagpapatupad ng mga Service Worker at mga channel ng abiso para sa pagtanggap ng data sa background.
  • Paggamit ng mga administrative SDK at REST API para sa pag-deploy ng mga messaging campaign.

Pag-set up at pagpapadala ng mga notification gamit ang Firebase FCM

Kung naiisip mo na kung bakit patuloy na nag-aabiso ang iyong telepono na may nagmensahe sa iyo o may magandang alok sa iyong paboritong tindahan, ang sagot ay karaniwang nasa mga push notification. Ang pagpapatupad ng sistemang ito ay maaaring mukhang mahirap sa una, ngunit sa... Firebase Cloud Messaging (FCM) Ang proseso ay nagiging mas madaling matunaw, na nagbibigay-daan sa amin na ikonekta ang aming server sa device ng gumagamit nang walang labis na komplikasyon.

Sa ganitong diwa, ang FCM ay hindi lamang isang kagamitan para sa Android; ito ay isang maraming nalalamang plataporma na umaabot iOS, mga web browser, at mga proyekto ng UnitySa madaling salita, ito ay nagsisilbing tulay na naghahatid ng impormasyon mula sa cloud patungo sa screen ng kliyente, alinman sa pamamagitan ng mga mensahe ng notification na awtomatikong ipinapakita ng system o mga mensahe ng data na pinamamahalaan natin sa pamamagitan ng code upang makagawa ng mas personalized na mga bagay.

Arkitektura at Paggana ng FCM

Para gumana ang lahat ng ito, kailangan natin ng dalawang pangunahing piraso. Sa isang banda, isang tiwala sa kapaligiranMaaari itong maging isang custom server o Firebase Cloud Functions, na responsable sa paggawa ng mensahe at pagpapasya kung kanino ito ipapadala. Sa kabilang banda, mayroon tayong client app (Android, iOS o Web) na responsable sa pagtanggap ng pakete at pagpapakita nito sa end user.

Mayroong ilang mga paraan upang maipadala ang mga mensaheng ito. Maaari nating gamitin ang firebase console Para sa mabilisang mga kampanya sa marketing, ang Firebase Admin SDK ay nagbibigay ng kumpletong kontrol sa server-side, o kahit na ang HTTP protocol para sa mas direktang mga kahilingan. Ang segmentasyon ay isang matibay na punto, dahil maaari tayong magpadala ng mga alerto sa mga indibidwal na aparato, lumikha ng mga partikular na grupo o gumamit ng mga tema para mag-subscribe ang mga user sa mga partikular na nilalaman.

Hakbang-hakbang na Pagpapatupad sa Android

Kung magpasya kang i-build ito sa Android, ang unang hakbang ay ang paggawa ng isang proyekto sa Firebase console at irehistro ang iyong app gamit ang eksaktong pangalan ng package. Huwag kalimutang i-download ang file. google-services.json at ilagay ito sa folder ng app ng iyong proyekto, dahil kung wala ito, hindi malalaman ng app kung aling proyekto sa Firebase ang kakausapin.

Susunod, kailangang ilatag ang pundasyon sa code. Mahalaga ang pagdaragdag ng mga dependency. pagmemensahe sa firebase sa build.gradle file at lumikha ng isang klase na magmamana mula sa FirebaseMessagingService, kasunod ng Mga hakbang sa pagbuo ng isang Android appSa klaseng ito, ang pamamaraan saMensaheNatanggap Dito nangyayari ang mahika: dito natin nakukuha ang mensahe at nagpapasya kung paano ipapakita ang abiso.

Mga Serbisyo ng Google Play at ang kahalagahan nito sa Android
Kaugnay na artikulo:
Mga Serbisyo ng Google Play: Ano ang mga ito, para saan ang mga ito, at kung bakit mahalaga ang mga ito para sa Android
  • Mga Channel ng Abiso: Para sa mga bersyon ng Android O at mga mas bago, ang paggawa ng NotificationChannel ay mandatory; kung hindi, hindi lilitaw ang notification.
  • Ang Token ng Pagpaparehistro: Ang bawat aparato ay may natatanging token. Mahalagang makuha ang token na ito gamit ang pamamaraan. saNewToken at ipadala ito sa sarili naming server para matukoy namin ang user sa ibang pagkakataon.
  • Konpigurasyon ng Manifesto: Dapat nating ideklara ang serbisyo sa AndroidManifest.xml gamit ang intent-filter na katumbas ng com.google.firebase.MESSAGING_EVENT.

Pag-deploy sa mga Web Environment

Medyo mahirap mag-set up ng mga push notification sa isang website. Una, dapat tumatakbo ang site sa ilalim ng [angkop na platform/platform]. HTTPS protocolBukod pa rito, kailangan natin ng isang file na tinatawag na manifest.json sa root ng domain na kinabibilangan ng gcm_sender_id upang makilala ng browser ang serbisyo.

Ang mahalagang bahagi rito ay ang Worker ng SerbisyoIsang JavaScript file (karaniwang tinatawag na firebase-messaging-sw.js) ang tumatakbo sa background. Ang file na ito ang responsable sa pagtanggap ng notification kahit na nakasara na ang tab ng user. Para gumana ito, kailangan muna nating isagawa ang code para sa kahilinganPahintulot() para mabigyan tayo ng user ng kanilang pag-apruba at maibigay sa atin ang kanilang registration token.

Pamamahala ng Server at Backend

Kapag nai-save na natin ang token ng device sa ating database (halimbawa, gamit ang Laravel o PHP), maaari tayong mag-trigger ng mga notification. Kung gagamit tayo ng REST API, dapat tayong magpadala ng POST request sa mga Google endpoint gamit ang susi ng server sa header ng awtorisasyon.

Kung gumagamit ng PHP, maaari nating gamitin ang cURL upang magpadala ng JSON payload na naglalaman ng pamagat, katawan ng mensahe, at token ng tatanggap. Para sa mas matatag na integrasyon, may mga mga tool upang lumikha ng mga android app at mga serbisyo sa backend na nagpapadali sa prosesong ito, na nagbibigay-daan sa amin magpadala ng mga mensaheng masa sa lahat ng mga gumagamit na may wastong token na nakarehistro sa database sa isang tawag lamang.

Mga Advanced na Alternatibo: Azure Notification Hubs

Minsan, para sa napakalaking proyekto ng negosyo, ang opsyong pinipili ay Azure Notification HubsAng serbisyong ito ay gumaganap bilang isang aggregator, na nagpapadali sa paghahatid sa maraming platform nang sabay-sabay. Sa daloy na ito, pinamamahalaan ng Azure ang pagpaparehistro ng mga token ng FCM at kino-coordinate ang paghahatid, na nangangailangan sa amin na i-configure ang Susi ng server ng Firebase sa loob ng Azure portal upang ang parehong sistema ay lubos na magkaintindihan.

Para gumana ito sa Android, isang Serbisyo ng Layunin sa Pagpaparehistro na awtomatikong nag-a-upload ng FCM token sa Azure Hub. Ito ay isang karagdagang layer ng pamamahala na lubhang kapaki-pakinabang kapag humahawak ng napakalaking dami ng user at gustong i-centralize ang messaging sa Microsoft cloud.

Ang pagiging dalubhasa sa Firebase Cloud Messaging ecosystem ay kinabibilangan ng pagkokoordina ng console configuration, client-side service deployment, at server-side token management. Nagse-set up man ng Service Worker para sa web, pagtukoy ng mga notification channel sa Android, o pagsasama ng backend sa PHP o Azure, ang susi ay nakasalalay sa pagtiyak na ang daloy ng pagpapatunay at pagpaparehistro Ang daloy ng token ay tuluy-tuloy upang matiyak na ang impormasyon ay laging nakakarating sa patutunguhan nito.


Idagdag bilang ginustong mapagkukunan