Odosielanie upozornení push pre Android pomocou služby Firebase Cloud Messaging

Autor: Louise Ward
Dátum Stvorenia: 4 Február 2021
Dátum Aktualizácie: 27 Smieť 2024
Anonim
Odosielanie upozornení push pre Android pomocou služby Firebase Cloud Messaging - Aplikácie
Odosielanie upozornení push pre Android pomocou služby Firebase Cloud Messaging - Aplikácie

Obsah


Aj keď to presahuje rámec tohto výukového programu, FCM môžete použiť aj na upstream oznámenia, kde FCM dostane žiadosť od klientskej aplikácie, alebo na upozornenie svojej aplikácie, keď sú k dispozícii nové údaje na stiahnutie. Týmto spôsobom môžete zaistiť, aby komunikácia medzi vašim aplikačným serverom a klientskou aplikáciou nastala iba v prípade potreby, čo je omnoho efektívnejšie ako klientska aplikácia, ktorá sa v pravidelných intervaloch kontaktuje so serverom.

Pretože FCM je súčasťou Firebase, hrá sa dobre aj s ďalšími službami Firebase. Po zvládnutí základných informácií o FCM možno budete chcieť použiť testovanie A / B, aby ste určili, ktoré oznámenia sú najúčinnejšie, alebo použiť predpovede Firebase na aplikovanie výkonného strojového učenia na všetky analytické údaje generované z vašich rôznych kampaní FCM.


FCM podporuje dva typy s:

  • Oznámenia s. Klientska aplikácia sa bude správať odlišne v závislosti od toho, či je pri prijatí FCM v pozadí alebo v popredí. Ak je vaša aplikácia na pozadí, sada Firebase SDK ju automaticky spracuje a zobrazí ako upozornenie na systémovej lište zariadenia. Keďže systém Android pre vás vytvára upozornenie, je to jeden z najjednoduchších spôsobov odoslania upozornení push používateľom. Ak vaša aplikácia dostane FCM, keď je v popredí, potom systém nebude spracujte toto upozornenie automaticky, takže necháte spracovať spätné volanie aplikácie v aplikáciiReceived (). Budeme skúmať funkciuReceived () neskôr v tomto návode, ale zatiaľ si uvedomte, že ak vaša aplikácia dostane čas, keď je v popredí, potom sa v predvolenom nastavení nebude používateľovi zobrazovať.
  • Data s. Na rozdiel od upozornení, údaje môžete použiť na odoslanie vlastných dátových prvkov do klientskej aplikácie. FCM však na tieto údaje ukladá limit 4 kB, takže ak vaše užitočné zaťaženie presahuje 4 kB, budete musieť načítať ďalšie údaje pomocou rozhrania WorkManager alebo API JobScheduler.

V tomto návode sa zameriame na upozornenia.


A čo Google Cloud Messaging?

Ak používate rozhranie API servera Google Cloud Messaging (GCM) a klientske rozhrania API, je tu zlá správa: táto služba už bola zastaraná a spoločnosť Google plánuje vypnúť „väčšinu“ služieb GCM v apríli 2019. Ak stále pomocou GCM, mali by ste začať migrovať svoje projekty na FCM teraz a svoju migráciu musíte dokončiť do apríla 2019.

Pridanie Firebase do vášho projektu pre Android

Pozrime sa, aké ľahké je pridať do svojej aplikácie základnú podporu FCM a potom ju používať na odosielanie upozornení push používateľom.

Keďže FCM je služba Firebase, musíte do svojej aplikácie pridať Firebase:

  • Choďte do konzoly Firebase.
  • Vyberte „Pridať projekt“ a pomenujte svoj projekt.
  • Prečítajte si zmluvné podmienky. Ak chcete pokračovať, vyberte možnosť „Súhlasím ...“ a potom „Vytvoriť projekt“.
  • Vyberte možnosť „Pridať Firebase do svojej aplikácie pre Android“.
  • Zadajte názov balíka projektu a potom kliknite na položku Registrovať aplikáciu.
  • Vyberte možnosť „Stiahnuť google-services.json“.
  • V aplikácii Android Studio presuňte súbor google-services.json do adresára „app“ vášho projektu.
  • Otvorte súbor build.gradle na úrovni projektu a pridajte nasledujúce:

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

  • Otvorte súbor build.gradle na úrovni aplikácie a pridajte doplnok služieb Google plus závislosti pre Firebase Core a FCM:

// Pridajte doplnok služieb Google // Použite doplnok: com.google.gms.google-services……… závislosti {implementačný súborTree (adresár: libs, include:) // Pridať jadro Firebase // implementácia com.google.firebase: firebase-core: 16.0.1 // Pridať FCM // implementácia com.google.firebase: firebase-messaging: 17.3.4

  • Po zobrazení výzvy synchronizujte svoje zmeny.
  • Ďalej musíte informovať konzolu Firebase, že ste do svojho projektu úspešne pridali Firebase. Nainštalujte si aplikáciu na fyzický smartfón alebo tablet s Androidom alebo na virtuálne zariadenie s Androidom (AVD).
  • V konzole Firebase vyberte možnosť „Spustiť aplikáciu na overenie inštalácie“.
  • Keď Firebase zistí vašu aplikáciu, zobrazí sa vám „Blahoželáme“. Vyberte možnosť Pokračovať do konzoly.

Odoslanie prvého oznámenia push s Firebase

A to je všetko! Teraz môžete svojim používateľom poslať oznámenie push a toto upozornenie sa objaví na systémovej lište zariadenia (zatiaľ sa predpokladajme, že vaša aplikácia nie je v popredí, keď je dodaná).

Oznámenia FCM vytvárate pomocou nástroja Notifications Composer, ktorý je k dispozícii prostredníctvom konzoly Firebase:

  • Uistite sa, že je vaša aplikácia nainštalovaná a spustená na pozadí a či má vaše zariadenie aktívne pripojenie na internet.
  • V konzole Firebase vyberte v ľavej ponuke položku „Cloud Messaging“.

  • Vyberte možnosť „Poslať ako prvú“.
  • Zadajte názov a text tela a potom kliknite na tlačidlo „Ďalej“.

  • Otvorte rozbaľovaciu ponuku „Vybrať aplikáciu“ a zo zoznamu vyberte svoju aplikáciu. Táto časť obsahuje aj niektoré rozšírené možnosti, ktoré môžete použiť na vytváranie cielených upozornení, a to na základe faktorov, ako je verzia aplikácie, miestne nastavenie zariadenia a posledný používateľ, ktorý sa zaoberal vašou aplikáciou. V našom testovacom upozornení nebudeme používať žiadnu z týchto možností. Ak však chcete vidieť, čo je k dispozícii, vyberte možnosť „a ...“ a preskúmajte nasledujúce rozbaľovacie zoznamy.

  • Po dokončení úprav tejto časti kliknite na tlačidlo Ďalej.
  • Za predpokladu, že ju chcete odoslať okamžite, otvorte rozbaľovaciu ponuku „Odoslať oprávneným používateľom“ a vyberte možnosť „Teraz“.
  • V pravom dolnom rohu obrazovky kliknite na položku Zverejniť.
  • Skontrolujte všetky informácie v nasledujúcom kontextovom okne a ak budete chcieť pokračovať, vyberte možnosť Zverejniť.

Po niekoľkých okamihoch by mali všetky klientske zariadenia, na ktoré ste zacielili, dostať toto upozornenie na paneli úloh.

Oznámenia FCM sa väčšinou doručia okamžite, ale občas môže trvať niekoľko minút, kým sa doručenie nedostane, takže ak budete upozornenie oneskorené, nemusíte panikáriť.

Stanovenie niektorých cieľov: udalosti konverzie upozornení

Pri vytváraní upozornení budete mať zvyčajne na zreteli cieľ - či už to vedie používateľov späť k vašej aplikácii, presvedčiť ich, aby pri nákupe v aplikácii preskočili, alebo jednoducho otvorili upozornenie.

K oznámeniu môžete priradiť cieľ pomocou nástroja na tvorbu oznámení a potom sledovať výkonnosť tohto upozornenia na informačnom paneli FCM.

Ak chcete nastaviť cieľ, kliknutím rozviňte sekciu „Konverzné udalosti“ v nástroji Navigation Composer, potom otvorte sprievodnú rozbaľovaciu ponuku a vyberte si z dostupných konverzných udalostí.

Bolo vaše oznámenie úspešné?

Po odoslaní upozornenia môžete analyzovať jeho výkonnosť na informačnom paneli FCM, ktorý by sa mal načítať automaticky pri každom odoslaní nového, alebo môžete priamo pristupovať k dashboardu.

Aj keď ste nenastavili žiadne explicitné ciele konverzie, stále môžete zistiť, či používatelia konajú v súvislosti s vašimi upozorneniami, porovnaním počtu doručených s počtom otvorených.

Môžete tiež vybrať ľubovoľné položky v tomto zozname a zobraziť tak údaje o odoslaní, otvorení a konverzii ako graf. Ak nastavíte akékoľvek ciele konverzie, nájdete tu aj štatistiku týchto cieľov.

Čo keď je moja aplikácia v popredí?

Oznámenia FCM sa správajú odlišne v závislosti od stavu klientskej aplikácie.

V predvolenom nastavení nebude vaša aplikácia zobrazovať žiadne FCM, ktoré dostane, keď je v popredí, takže keď pošlete záruku, vaši používatelia ju skutočne nebudú vidieť to.

Ak chcete konať v súvislosti s prijímaním vašej aplikácie, keď je na telefóne popredia, budete musieť rozšíriť službu FirebaseMessagingService, prepísať metódu onReceived a potom obsah načítať pomocou getNotification alebo getData, v závislosti od toho, či pracujete s údajmi alebo upozorneniami alebo oboma spôsobmi.

Vytvorte novú triedu Java s názvom „MyFirebaseMessagingService“ a potom pridajte nasledujúce:

public class MyFirebaseMessagingService rozširuje FirebaseMessagingService {@Override public void onReceived (Remote) {super.onReceived (remote);

Budete tiež musieť vytvoriť objekt upozornení. Toto je vaša šanca prispôsobiť svoje upozornenie, napríklad zvoliť zvuk, ktorý by sa mal prehrať vždy, keď používateľ dostane toto upozornenie, alebo použiť ikonu vlastného upozornenia. Musíte tiež načítať obsah z údajov alebo upozornení, napríklad:

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder (this, "channel_id") .setContentTitle (remote.getNotification (). GetTitle ()) .setContentText (remote.getNotification (). GetBody ()) .setPriority (NotificationCompat.PRIORITY_DEULT). setStyle (new NotificationCompat.BigTextStyle ()) .setSound (RingtoneManager.getDefaultUri (RingtoneManager.TYPE_NOTIFICATION)) .setSmallIcon (R.mipmap.ic_launcher) .setAutoCancel (true); NotificationManager notificationManager = (NotificationManager) getSystemService (Context.NOTIFICATION_SERVICE); notificationManager.notify (0, notificationBuilder.build ()); }}

Po vytvorení služby nezabudnite ju pridať do svojho manifestu:

Vždy, keď vaša aplikácia dostane FCM, keď je v popredí, bude doručená do obslužného programu onReceived () a vaša aplikácia potom vykoná vami definovanú akciu, napríklad zverejnenie oznámenia alebo aktualizáciu obsahu aplikácie.

Pútavejšie upozornenia: Zacielenie na vašich používateľov

Doteraz sme zasielali rovnaké upozornenie celej našej používateľskej základni, ale upozornenia sú oveľa zaujímavejšie, ak sú zacielené na konkrétnych používateľov.

Pomocou nástroja na vytváranie oznámení môžete posielať rôzne oznámenia do rôznych častí svojej používateľskej základne. Vráťte sa do nástroja na vytváranie upozornení a vytvorte svoje oznámenie obvyklým spôsobom, ale v sekcii Cieľ kliknite na tlačidlo „a“. Získate tak prístup k nové rozbaľovacej ponuke, ktorá obsahuje tieto možnosti:

  • Verzia. To vám umožní zacieliť alebo vylúčiť zariadenia, na ktorých sú spustené konkrétne verzie vašej aplikácie. Môžete napríklad posielať upozornenia ľuďom, ktorí používajú bezplatnú verziu, a vyzvať ich, aby inovovali na prémiovú verziu vašej aplikácie.
  • Jazyk. Toto nastavenie môžete použiť na zacielenie alebo vylúčenie rôznych jazykov a miestnych nastavení, ktoré vaša aplikácia podporuje, napríklad na vytváranie oznámení prispôsobených pre rôzne časové pásma alebo jazyky.
  • Publikum používateľov. To vám umožní zacieliť alebo vylúčiť rôzne časti publika. Toto nastavenie môžete použiť napríklad na to, aby ste lákali ľudí, ktorí majú v minulosti nákupy v aplikácii, ponúknutím zľavy alebo upozornením na všetky úžasné nové produkty v aplikácii, ktoré ste práve uviedli.
  • Vlastnosť používateľa. Ak ste nastavili službu Firebase Analytics, budete mať prostredníctvom používateľských vlastníctiev prístup k množstvu informácií o svojom publiku. Tieto vlastnosti môžete použiť v kombinácii s FCM na zasielanie cielených upozornení veľmi špecifickým častiam vašej užívateľskej základne, napríklad ľuďom vo veku od 25 do 34 rokov, ktorí sa zaujímajú o šport.
  • Predikcia. Ak ste nastavili predpovede Firebase, môžete zacieľovať používateľov na základe pravdepodobnosti, že sa v priebehu nasledujúcich siedmich dní zapoja do konkrétneho správania. Napríklad, ak Predpovede varujú, že sa niekto pravdepodobne odpojí od vašej mobilnej hry, potom môžete použiť FCM, aby ste ich pozvali, aby sa zúčastnili nového questu, alebo im poslali nejakú hernú menu.
  • Posledná interakcia s aplikáciou. Ak používateľ aplikáciu už nejakú dobu nespustil, môžete pomocou tohto nastavenia poslať pár upozornení, len aby ste im pripomenuli všetok skvelý obsah, ktorý vaša aplikácia ponúka.
  • Prvý otvorený. Umožní vám to odosielať upozornenia na základe prvého otvorenia aplikácie, napríklad novým používateľom môžete pomôcť pri zvyšovaní ich rýchlosti zasielaním upozornení obsahujúcich užitočné tipy a rady.

Zacielenie na jedno zariadenie pomocou registračných tokenov

Už sme videli, ako posielať cielené upozornenia na základe faktorov, ako je vek používateľa, záujmy a posledný kontakt s vašou aplikáciou, ale môžete vyrovnať sa viac špecifický. V tejto záverečnej časti vám ukážem, ako poslať upozornenie FCM na adresu jednoposteľová zariadenie.

Keď používateľ prvýkrát spustí vašu aplikáciu, FCM SDK vygeneruje registračný token pre túto inštanciu klientskej aplikácie. Na zachytenie tohto registračného tokenu môžete použiť FirebaseInstanceId.getInstance (). GetInstanceId () a potom poslať upozornenie na tento konkrétny token.

Upozorňujeme, že v projekte v skutočnom svete by ste zvyčajne zachytili token tak, že ho odošlete na svoj aplikačný server a uložíte ho podľa vášho preferovaného spôsobu, ale aby ste si veci udržali čo najjednoduchšie, jednoducho ho vytlačím do Logcat pre Android Studio.

Tu je moja dokončená MainActivity:

import android.support.v7.app.AppCompatActivity; import android.os.Bundle; importovať android.support.annotation.NonNull; import android.util.Log; importovať com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.Task; import com.google.firebase.iid.FirebaseInstanceId; import com.google.firebase.iid.InstanceIdResult; public class MainActivity rozširuje AppCompatActivity {private static final String TAG = "MainActivity"; @Override chránené void onCreate (Bundle uloženéInstanceState) {super.onCreate (uloženéInstanceState); setContentView (R.layout.activity_main); FirebaseInstanceId.getInstance (). GetInstanceId () .addOnCompleteListener (nový OnCompleteListener)() {@Override public void onComplete (@NonNull Task task) {if (! task.isSuccessful ()) {// Úkol // návrat; } // Získajte token ID inštancie // String token = task.getResult (). GetToken (); String msg = getString (R.string.fcm_token, token); Log.d (TAG, msg); }}); }}

Otvorte súbor strings.xml a vytvorte reťazcový prostriedok „fcm_token“, na ktorý odkazujeme v našej Hlavnej aktivite:

Token FCM:% s

Teraz môžete načítať jedinečný token svojho zariadenia:

  • Nainštalujte svoj projekt na pripojené zariadenie Android alebo AVD.
  • Otvorte program Logcat pre Android Studio výberom karty „Logcat“ (kde je kurzor umiestnený na nasledujúcej snímke obrazovky).

  • Token vášho zariadenia sa vytlačí do sekcie „Ladenie“ v Logcat, takže otvorte rozbaľovaciu ponuku a vyberte možnosť „Ladiť“.

V závislosti od množstva informácií vo vašom protokole Logcat môže byť ťažké nájsť požadovaný riadok. Ak máte problémy, spustite vyhľadávanie slova „token“ alebo skúste aplikáciu ukončiť a znova spustiť.

Po získaní tokenu ho môžete použiť na odoslanie oznámenia push do tohto konkrétneho zariadenia:

  • Choďte do konzoly Firebase a vyberte svoj projekt z rozbaľovacej ponuky, ak ste tak ešte neurobili.
  • V ponuke naľavo vyberte položku „Cloud Messaging“.
  • Kliknite na tlačidlo „Nové upozornenie“.
  • Ako zvyčajne zadajte názov a text, potom kliknite na možnosť Testovať na zariadení.

  • Skopírujte alebo prilepte token do poľa „Pridať inštanciu ...“ a potom kliknite na malú modrú ikonu „+“, ktorá sa zobrazí.
  • Začiarknite políčko sprevádzajúce token.

  • Kliknite na tlačidlo Testovať.

Toto upozornenie sa teraz zobrazí iba na cieľovom klientskom zariadení.

Zabalenie

V tomto článku sme vám ukázali, ako odosielať oznámenia push pre systém Android, pomocou služby Firebase Cloud Messaging a ako vytvárať upozornenia, ktoré zacieľujú na rôzne časti vašej používateľskej základne.

Chystáte sa použiť FCM vo svojich vlastných projektoch pre Android? Dajte nám vedieť v komentároch nižšie!

kladací Huawei Mate X bude podporovať iete 5G.Vláda UA verí, že E.U. krajiny a prebúdzajú k hrozbe, ktorú predtavuje 5G infraštruktúra Huawei Bloomberg....

porné ú práva zaručené v štvrtej a piatej zmene a doplnení týkajúce a prehliadok, úkromia a ebaobviňovania. „Ak nie je možné prinútiť oobu, aby pokytl...

Výber Čitateľov