Androidi push-teadete saatmine Firebase'i pilvesõnumite abil

Autor: Louise Ward
Loomise Kuupäev: 4 Veebruar 2021
Värskenduse Kuupäev: 1 Juuli 2024
Anonim
Androidi push-teadete saatmine Firebase'i pilvesõnumite abil - Rakendused
Androidi push-teadete saatmine Firebase'i pilvesõnumite abil - Rakendused

Sisu


Ehkki see jääb väljaspool selle õpetuse ulatust, saate FCM-i kasutada ka ülesvoolu teatiste jaoks, kus FCM saab kliendirakenduselt teate, või teavitada teie rakendust, kui selle jaoks on allalaadimiseks saadaval uusi andmeid. Sel viisil saate tagada, et rakenduse serveri ja kliendirakenduse vahel toimub suhtlus ainult vajaduse korral, mis on palju tõhusam kui kliendirakendus, mis võtab regulaarselt ühendust serveriga, sest juhuslikult võib juhtuda, et mõni uus teave on saadaval.

Kuna FCM on Firebase osa, mängib see kenasti ka teiste Firebase teenustega. Kui olete omandanud FCM-i põhialused, võiksite kasutada A / B-testimist, et teha kindlaks, millised teatised on kõige tõhusamad, või kasutada Firebase'i ennustusi, et rakendada võimsa masinõppe abil kõiki teie erinevatest FCM-i kampaaniatest genereeritud analüüsiandmeid.

FCM toetab kahte tüüpi s:


  • Teade s. Kliendirakendus käitub erinevalt, olenevalt sellest, kas ta on FCM-i vastuvõtmisel taustal või esiplaanil. Kui teie rakendus on taustal, töötleb Firebase SDK automaatselt ja kuvab selle seadme süsteemisalves teatisena. Kuna Androidi süsteem ehitab teile märguande, on see üks lihtsamaid viise kasutajatele tõuketeatiste saatmiseks. Kui teie rakendus saab FCM-i, kui see on esiplaanil, siis süsteem ei tee käsitlege seda märguannet automaatselt, jättes teile rakenduse tagasivõtmise saidil töötlemise. Uurime hiljem selle õppematerjali kohta jaotist Vastuvõetud (), kuid teadke nüüd, et kui teie rakendus võtab mõnda aega esiplaanil, siis vaikimisi seda kasutajale ei kuvata.
  • Andmed s. Erinevalt teavitustest saate andmeid s kohandatud andmeelementide kliendirakendusele saatmiseks kasutada. FCM seab nendele andmetele siiski 4KB limiidi, nii et kui teie kasulik koormus ületab 4KB, peate lisaandmed hankima WorkManageri või JobScheduler API abil.

Selles õpetuses keskendume teavitustele.


Aga Google'i pilvesõnumid?

Kui kasutate Google'i pilvsõnumite (GCM) serverit ja kliendi API-sid, on seal halbu uudiseid: see teenus on juba aegunud ja Google plaanib välja lülitada „enamiku” GCM-teenused 2019. aasta aprillis. Kui olete endiselt kasutades GCM-i, peaksite alustama oma projektide ülekandmist FCM-i nüüd ja migratsioon peab olema lõpule viidud 2019. aasta aprilliks.

Firebase'i lisamine oma Androidi projekti

Vaatame, kui lihtne on oma rakendusele FCM-i põhitugi lisada ja seejärel kasutada seda kasutajatele tõukemärguannete saatmiseks.

Kuna FCM on Firebase'i teenus, peate oma rakendusele lisama Firebase:

  • Minge üle Firebase'i konsooli.
  • Valige „Lisa projekt” ja pange oma projektile nimi.
  • Tutvuge tingimustega. Kui jätkate hea meelega, valige siis „Nõustun…” ja seejärel „Loo projekt”.
  • Valige „Lisage oma Androidi rakendusse Firebase”.
  • Sisestage oma projekti paketi nimi ja klõpsake siis nuppu „Registreeri rakendus”.
  • Valige „Laadi alla google-services.json”.
  • Lohistage Android Studio-s fail google-services.json oma projekti kausta „app”.
  • Avage oma projekti tasemel build.gradle fail ja lisage järgmine teave:

classpath com.google.gms: google-teenused: 4.0.1

  • Avage oma rakenduse tasemel build.gradle-fail ja lisage Google'i teenuste pistikprogramm ning Firebase Core'i ja FCM-i sõltuvused:

// Lisage Google'i teenuste pistikprogramm // rakendage pistikprogramm: com.google.gms.google-services……… sõltuvused {juurutamisfailTree (dir: libs, kata:) // Lisage Firebase Core // juurutamine com.google.firebase: firebase-core: 16.0.1 // Lisage FCM // teostus com.google.firebase: firebase-messaging: 17.3.4

  • Kui küsitakse, sünkroonige muudatused.
  • Järgmisena peate Firebase'i konsoolile teatama, et olete Firebase'i oma projekti edukalt lisanud. Installige rakendus kas füüsilisse Androidi nutitelefoni või tahvelarvutisse või Androidi virtuaalseadmesse (AVD).
  • Valige Firebase'i konsoolis tagasi „Käivita rakendus installimise kontrollimiseks”.
  • Kui Firebase on teie rakenduse tuvastanud, kuvatakse teade Õnnitlused. Valige „Jätka konsoolile”.

Esimese tõuketeate saatmine Firebase'iga

Ja see ongi kõik! Nüüd saate oma kasutajatele tõuketeate saata ja see teade ilmub seadme süsteemisalve (oletame nüüd, et teie rakendus pole tarnimisel esiplaanil).

FCM-i teatised saate luua teatiste koostaja abil, mis on saadaval Firebase'i konsooli kaudu:

  • Veenduge, et teie rakendus on installitud ja töötab taustal ning et teie seadmel oleks aktiivne Interneti-ühendus.
  • Valige Firebase'i konsoolis vasakpoolsest menüüst „Pilvesõnumid”.

  • Valige „Saada oma esimene”.
  • Andke pealkiri ja osa tekstist ja klõpsake siis nuppu „Järgmine”.

  • Avage rippmenüü „Vali rakendus” ja valige loendist oma rakendus. Selles jaotises on ka mõned täpsemad valikud, mida saate kasutada sihtmärguannete loomiseks selliste tegurite põhjal nagu rakenduse versioon, seadme lokaat ja viimane kord, kui kasutaja teie rakendusega tegeles. Me ei kasuta oma testteatises ühtegi neist võimalustest, kuid kui soovite näha saadaolevat, valige siis „ja…” ja uurige järgnevat rippmenüüd.

  • Kui olete selle jaotise redigeerimise lõpetanud, klõpsake „Järgmine”.
  • Eeldusel, et soovite selle kohe saata, avage rippmenüü „Saada kõlblikele kasutajatele” ja valige „Nüüd”.
  • Klõpsake ekraani paremas alanurgas valikul „Avalda”.
  • Kontrollige kogu teavet järgmiselt hüpikaknalt ja kui teil on hea meel jätkata, siis valige „Avalda”.

Mõne hetke pärast peaksid kõik teie sihitud kliendiseadmed saama selle teatise nende süsteemisalves.

Enamasti edastatakse FCM-i teated kohe, kuid mõnikord võib a saabumine võtta mõni minut, nii et ärge paanitsege, kui teie teavitamine viibib.

Mõne eesmärgi seadmine: teatise teisendamise sündmused

Teavituse loomisel peetakse tavaliselt silmas eesmärki - kas see sunnib kasutajaid tagasi teie rakendusse tagasi pöörduma, veenab neid rakendusesiseses ostus osalema või avab lihtsalt teie teatise.

Saate teatisele koostaja abil teatisele eesmärgi määrata ja seejärel jälgida selle teate toimivust FCM-i aruandluse juhtpaneelil.

Eesmärgi seadmiseks klõpsake navigeerija helilooja jaotise „Konversioonisündmused” laiendamiseks, seejärel avage kaasnev rippmenüü ja valige saadaolevate konversioonisündmuste hulgast.

Kas teie teatamine oli edukas?

Pärast teatise saatmist saate selle toimivust analüüsida FCM-i aruandluse juhtpaneelil, mis peaks laadima automaatselt iga kord, kui saadate uue dokumendi, või pääsete juhtpaneelile otse juurde.

Isegi kui te ei seadnud selgesõnalisi konversioonieesmärke, saate ikkagi hinnata, kas kasutajad tegutsevad teie teatiste alusel, võrreldes edastatud teadete arvu avatud avade arvuga.

Selles loendis saate valida ka ükskõik millise, et saada graafikuna saata, avada ja teisendada andmeid. Kui seate konversioonieesmärgid, leiate siit ka nende eesmärkidega seotud statistika.

Mis saab, kui minu rakendus on esiplaanil?

FCM-i teated käituvad olenevalt kliendirakenduse olekust erinevalt.

Vaikimisi ei kuvata teie rakenduses FCM-e, mida ta saab esiplaanil olemise ajal, seega ei saa selle saatmisel garantiid olla, et kasutajad tegelikult vaata seda.

Toimige nende rakenduste järgi, mis teie rakendus vastu võtab, kui see on rakenduses esiplaan, peate laiendama rakendust FirebaseMessagingService, alistama onReceptioni meetodi ja seejärel sisu hankima, kasutades kas getNotificationi või getData, sõltuvalt sellest, kas töötate andmete või teatiste või mõlemaga.

Looge uus Java klass nimega „MyFirebaseMessagingService” ja lisage järgmine teave:

avalik klass MyFirebaseMessagingService laiendab FirebaseMessagingService {@Orride public void onReceptiond (Remote) {super.onReceptiond (remote);

Peate looma ka teavitusobjekti. See on teie võimalus kohandada oma märguannet, näiteks valida heli, mis peaks mängima iga kord, kui kasutaja selle teate saab, või kohandatud teatise ikooni rakendamine. Peate ka andmete või teatise sisu alla laadima, näiteks:

NotificationCompat.Builder teatisBuilder = uus NotificationCompat.Builder (see, "channel_id") .setContentTitle (remote.getNotification (). GetTitle ()) .setContentText (remote.getNotification (). GetBody ()) setStyle (uus NotificationCompat.BigTextStyle ()) .setSound (RingtoneManager.getDefaultUri (RingtoneManager.TYPE_NOTIFICATION)) .setSmallIcon (R.mipmap.ic_launcher) .setAutoCancel (true); NotificationManager teatisManager = (NotificationManager) getSystemService (Context.NOTIFICATION_SERVICE); teateManager.notify (0, teatisBuilder.build ()); }}

Kui olete oma teenuse loonud, ärge unustage seda oma manifesti lisada:

Nüüd, kui teie rakendus saab FCM-i, kui see on esiplaanil, edastatakse see käitlejale onReceptd () ja teie rakendus võtab teie määratletud toimingu, näiteks postitab teatise või värskendab teie rakenduse sisu.

Kaasahaaravamad märguanded: oma kasutajate sihtimine

Siiani saatsime sama teatist kogu meie kasutajaskonnale, kuid märguanded on palju huvitavamad, kui need on suunatud konkreetsetele kasutajatele.

Teatiste koostajat saate kasutada erinevate teatiste saatmiseks kasutajabaasi erinevatesse osadesse. Liikuge teavitushelilooja juurde ja looge oma teatis nagu tavaliselt, kuid jaotises „Sihtmärk” klõpsake nuppu „ja”. See annab teile juurdepääsu uuele rippmenüüle, mis sisaldab järgmisi valikuid:

  • Versioon. See võimaldab teil sihtida või välistada seadmed, mis käitavad teie rakenduse kindlaid versioone. Näiteks võite saata teatisi tasuta versiooni kasutavatele inimestele, julgustades neid üle minema teie rakenduse premium-versioonile.
  • Keel. Selle sätte abil saate sihtida või välistada erinevaid keeli ja lokaale, mida teie rakendus toetab, näiteks luua teatisi, mis on kohandatud erinevatele ajavöönditele või keeltele.
  • Kasutajaskond (ed). See võimaldab teil sihtida või välistada oma vaatajaskonna erinevaid sektsioone. Näiteks saate seda sätet kasutada selleks, et ahvatleda inimesi, kellel on varem olnud rakendusesiseseid oste, pakkudes neile allahindlust või juhtides nende tähelepanu kõigile äsja välja lastud hämmastavatele rakendusesisestele toodetele.
  • Kasutaja omand. Kui olete seadistanud Firebase Analyticsi, saate kasutajaomaduste kaudu juurdepääsu hulgale teabele oma vaatajaskonna kohta. Neid atribuute saate kasutada koos FCM-iga, et saata sihipäraseid teatisi oma kasutajabaasi väga konkreetsetele sektsioonidele, näiteks 25–34-aastastele inimestele, kes on spordist huvitatud.
  • Ennustamine. Kui olete seadistanud Firebase'i ennustamise, saate sihtida kasutajaid selle põhjal, kui tõenäoliselt nad järgmise 7 päeva jooksul teatud käitumisega tegelevad. Näiteks kui Predictions hoiatab, et keegi tõenäoliselt eemaldub teie mobiilimängust, siis võite kasutada FCM-i, et kutsuda teda osalema uuel otsingul või saatma neile mängu sisese valuuta.
  • Viimane rakenduse kaasatus. Kui kasutaja pole mõnda aega teie rakendust käivitanud, saate seda seadet kasutada mõne teatise saatmiseks, et talle meelde tuletada kogu suurepärast sisu, mida teie rakendus pakub.
  • Esimene avamine. See võimaldab teil saata teatisi selle põhjal, millal kasutaja teie rakenduse esimest korda avas, näiteks võite aidata uutel kasutajatel kiiremini kiirendada, saates neile teatisi, mis sisaldavad kasulikke näpunäiteid ja nõuandeid.

Üksiku seadme registreerimine koos registreerimismärkidega

Oleme juba näinud, kuidas saata suunatud märguandeid, mis põhinevad sellistel teguritel nagu kasutaja vanus, huvid ja viimane kord, kui nad teie rakendusega suhtlesid, kuid saate tasa tegema täpsemalt. Selles viimases osas näitan teile, kuidas saata FCM-i teade aadressile vallaline seade.

Kui kasutaja teie rakenduse esimest korda käivitab, genereerib FCM SDK sellele kliendirakenduse eksemplarile registreerimisloa. Selle registreerimismärgi jäädvustamiseks võite kasutada rakendust FirebaseInstanceId.getInstance (). GetInstanceId () ja seejärel saata sellele konkreetsele loale teatis.

Pange tähele, et reaalmaailma projektis lüüaksite tavaliselt tokeni, saates selle oma rakendusserverisse ja salvestades selle teie eelistatud meetodil, kuid asja lihtsuse huvides prindin selle loa lihtsalt Android Studio Logcatisse.

Siin on minu täielik põhitegevus:

impordi android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.annotation.NonNull; import android.util.Log; impordi com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.Task; impordi com.google.firebase.iid.FirebaseInstanceId; impordi com.google.firebase.iid.InstanceIdResult; avaliku klassi MainActivity laiendab AppCompatActivity {privaatset staatilist lõplikku stringi TAG = "MainActivity"; @Kuivata kaitstud tühine onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); FirebaseInstanceId.getInstance (). GetInstanceId () .addOnCompleteListener (uus OnCompleteListener() {@Kulutage avaliku tühisuse täielik lõpetamine (@NonNull Task ülesanne) {if (! task.isSuccessful ()) {// To do // return; } // Hankige eksemplari ID sümbol // String token = task.getResult (). GetToken (); String msg = getString (R.string.fcm_token, märk); Logi.d (TAG, msg); }}); }}

Avage fail strings.xml ja looge stringi ressurss „fcm_token”, millele me oma põhitegevuses viitame:

FCM-i tunnus:% s

Nüüd saate hankida oma seadme ainulaadse loa:

  • Installige oma projekt ühendatud Android-seadmesse või AVD-le.
  • Avage Android Stuudio Logcat, valides vahekaardi „Logcat” (kus kursor asub järgmises ekraanipildis).

  • Teie seadme tunnus trükitakse Logcati jaotisse „Silumine”, nii et avage rippmenüü ja valige „Silumine”.

Sõltuvalt teie Logcatis sisalduva teabe hulgast võib otsitava rea ​​tuvastamine olla keeruline. Kui teil on raskusi, siis otsige sõna „luba” või proovige rakendus sulgeda ja taaskäivitada.

Kui olete loa kätte saanud, saate selle abil saata tõuketeadet sellesse konkreetsesse seadmesse:

  • Minge üle Firebase'i konsoolile ja valige rippmenüüst oma projekt, kui te seda veel teinud pole.
  • Valige vasakpoolsest menüüst „Pilvesõnumid”.
  • Klõpsake nuppu „Uus teatis”.
  • Sisestage pealkiri ja tekst nagu tavaliselt, kuid klõpsake siis nuppu „Seadme testimine”.

  • Kopeerige / kleepige oma märk väljale „Lisage näiteks…” ja klõpsake siis ilmuvat väikest sinist „+” ikooni.
  • Valige märkega kaasnev märkeruut.

  • Klõpsake „Test”.

See teatis kuvatakse nüüd ainult sihitud kliendi seadmes.

Pakkimine üles

Selles artiklis näitasin teile, kuidas saata Androidi tõuateateid, kasutades Firebase'i pilvesõnumeid ja kuidas luua teatisi, mis sihivad teie kasutajabaasi erinevaid sektsioone.

Kas kavatsete kasutada FCM-i oma Androidi projektides? Andke meile allolevates kommentaarides teada!

Hulu ei ea teenuega kautatavate eadmete arvule mingeid piiranguid. Kuid olge ettevaatlik, kuna teie eadmeloend võib hõlpati virnata kuni punktini, ku võite oma kontole juurde pä...

Kuidas Hulu vaadata Chromecastis

John Stephens

Juuli 2024

Hulu on tellimupõhine video voogeitue teenu. arnaelt Netflixile ja teitele arnatele konkurentidele on Hulu partnerik populaarete iuloojate ja -võrkudega, et voogeitada oma filme ja aateid. H...

Värsked Postitused