Odesílání oznámení push pro Android pomocí Firebase Cloud Messaging

Autor: Louise Ward
Datum Vytvoření: 4 Únor 2021
Datum Aktualizace: 1 Červenec 2024
Anonim
Odesílání oznámení push pro Android pomocí Firebase Cloud Messaging - Aplikace
Odesílání oznámení push pro Android pomocí Firebase Cloud Messaging - Aplikace

Obsah


Přestože to přesahuje rámec tohoto tutoriálu, můžete také použít FCM pro upstream oznámení, kde FCM obdrží od klientské aplikace, nebo upozornit vaši aplikaci, když jsou k dispozici nová data, která lze stáhnout. Tímto způsobem můžete zajistit, aby komunikace mezi aplikačním serverem a klientskou aplikací probíhala pouze v případě potřeby, což je mnohem efektivnější než klientská aplikace, která se v pravidelných intervalech kontaktuje se serverem.

Protože FCM je součástí Firebase, hraje se s ostatními službami Firebase také pěkně. Jakmile zvládnete základy FCM, možná budete chtít použít testování A / B k identifikaci, která oznámení jsou nejúčinnější, nebo použít předpovědi Firebase k použití výkonného strojového učení na všechna analytická data generovaná z vašich různých kampaní FCM.


FCM podporuje dva typy s:

  • Oznámení Klientská aplikace se bude chovat odlišně v závislosti na tom, zda je při přijetí FCM na pozadí nebo v popředí. Pokud je vaše aplikace na pozadí, sada Firebase SDK ji automaticky zpracuje a zobrazí jako oznámení na hlavním panelu zařízení. Protože systém Android sestavuje oznámení, je to jeden z nejjednodušších způsobů zasílání oznámení push vašim uživatelům. Pokud vaše aplikace obdrží FCM, zatímco je v popředí, pak systém zvyklý zpracovat toto oznámení automaticky a nechat zpracovat zpětné volání zpětné vazby v aplikaci. Později se v tomto výukovém programu prozkoumámeReceived (), ale prozatím si uvědomte, že pokud vaše aplikace obdrží chvíli, že je v popředí, ve výchozím nastavení se uživateli nezobrazí.
  • Data s. Na rozdíl od oznámení můžete pomocí dat odesílat vlastní datové prvky do klientské aplikace. Společnost FCM však na tato data stanoví limit 4 kB, takže pokud vaše užitečné zatížení přesáhne 4 kB, budete muset načíst další data pomocí rozhraní WorkManager nebo JobScheduler API.

V tomto tutoriálu se zaměříme na oznámení.


A co Google Cloud Messaging?

Používáte-li rozhraní API serveru Google Cloud Messaging (GCM) a klientská rozhraní API, je tu nějaká špatná zpráva: tato služba již byla ukončena a Google plánuje v dubnu 2019 vypnout „většinu“ služeb GCM. Pokud stále pomocí GCM, měli byste nyní začít migrovat své projekty na FCM a migraci musíte dokončit do dubna 2019.

Přidání Firebase do vašeho projektu pro Android

Podívejme se, jak snadné je přidat do aplikace základní podporu FCM, a poté ji použít k zasílání oznámení push vašim uživatelům.

Protože FCM je služba Firebase, musíte do aplikace přidat Firebase:

  • Vydejte se do konzole Firebase.
  • Vyberte „Přidat projekt“ a zadejte název projektu.
  • Přečtěte si smluvní podmínky. Pokud rádi pokračujete, vyberte možnost „Přijímám ...“ a poté „Vytvořit projekt“.
  • Vyberte možnost „Přidat Firebase do aplikace pro Android“.
  • Zadejte název balíčku projektu a potom klikněte na tlačítko „Registrovat aplikaci“.
  • Vyberte „Stáhnout google-services.json“.
  • V Android Studio přetáhněte soubor google-services.json do adresáře „app“ vašeho projektu.
  • Otevřete soubor build.gradle na úrovni projektu a přidejte následující:

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

  • Otevřete soubor build.gradle na úrovni aplikace a přidejte plugin služeb Google plus závislosti pro Firebase Core a FCM:

// Přidejte plugin služeb Google // použijte plugin: com.google.gms.google-services……… závislosti {implementační souborTree (dir: libs, include:) // Přidat jádro Firebase // implementace com.google.firebase: firebase-core: 16.0.1 // Přidat FCM // implementace com.google.firebase: firebase-messaging: 17.3.4

  • Po zobrazení výzvy synchronizujte své změny.
  • Dále je třeba informovat konzolu Firebase, že jste do projektu úspěšně přidali Firebase. Nainstalujte si aplikaci na fyzický smartphone nebo tablet Android nebo na virtuální zařízení Android (AVD).
  • Zpět v konzole Firebase vyberte možnost „Spustit aplikaci a ověřte instalaci“.
  • Jakmile aplikace Firebase zjistí vaši aplikaci, zobrazí se vám „Blahopřejeme“. Vyberte „Pokračovat do konzole“.

Odeslání prvního oznámení push s Firebase

A to je vše! Nyní můžete svým uživatelům poslat oznámení push a toto oznámení se objeví na systémové liště zařízení (prozatím předpokládejme, že vaše aplikace není při dodání v popředí).

Oznámení FCM vytváříte pomocí nástroje Notifications Composer, který je k dispozici prostřednictvím konzole Firebase:

  • Ujistěte se, že je aplikace nainstalována a spuštěna na pozadí a zda má vaše zařízení aktivní připojení k internetu.
  • V konzole Firebase vyberte v nabídce vlevo položku „Cloud Messaging“.

  • Vyberte možnost „Odeslat první“.
  • Zadejte název a text těla a poté klikněte na „Další“.

  • Otevřete rozbalovací nabídku „Vybrat aplikaci“ a vyberte aplikaci ze seznamu. Tato část obsahuje také některé pokročilé možnosti, které můžete použít k vytváření cílených oznámení, a to na základě faktorů, jako je verze aplikace, národní prostředí zařízení a poslední uživatel, který se vaší aplikací zabýval. V našem testovacím oznámení nebudeme používat žádnou z těchto možností, ale pokud chcete vidět, co je k dispozici, vyberte možnost „a…“ a prozkoumejte následující rozbalovací nabídku.

  • Po dokončení úprav této části klikněte na tlačítko „Další“.
  • Za předpokladu, že to chcete odeslat okamžitě, otevřete rozbalovací nabídku „Odeslat oprávněným uživatelům“ a vyberte „Nyní“.
  • V pravé dolní části obrazovky klikněte na „Publikovat“.
  • Zkontrolujte všechny informace v následujícím vyskakovacím okně a pokud budete chtít pokračovat, vyberte možnost Publikovat.

Po několika okamžicích by všechna klientská zařízení, na která jste zacílili, měli toto oznámení obdržet na hlavním panelu systému.

Oznámení FCM budou většinou doručena okamžitě, ale občas to může trvat několik minut, než dorazí, takže se nemusíte zpanikařit, pokud je vaše oznámení zpožděno.

Stanovení některých cílů: Události konverze oznámení

Při vytváření oznámení budete mít obvykle na paměti cíl - ať už to uživatele vede zpět k vaší aplikaci, přesvědčíte je, aby při nákupu v aplikaci přeskočili, nebo jednoduše otevřete oznámení.

Ke svému oznámení můžete přiřadit cíl pomocí Správce oznámení a poté sledovat výkon tohoto oznámení na hlavním panelu přehledů FCM.

Chcete-li nastavit cíl, kliknutím rozbalte sekci „Konverzní události“ v nástroji Navigation Composer, otevřete rozbalovací nabídku a vyberte si z dostupných konverzních událostí.

Bylo vaše oznámení úspěšné?

Po odeslání oznámení můžete analyzovat jeho výkon v řídicím panelu FCM, který by se měl načíst automaticky při každém odeslání nového, nebo můžete přímo přistupovat k dashboardu.

I když jste nenastavili žádné explicitní cíle konverze, stále můžete posoudit, zda uživatelé jednají podle vašich oznámení, porovnáním počtu doručených s počtem otevřených.

V tomto seznamu můžete také vybrat libovolné, chcete-li zobrazit data odesílání, otevírání a převodu jako graf. Pokud nastavíte nějaké cíle konverze, najdete zde také statistiky týkající se těchto cílů.

Co když je moje aplikace v popředí?

Oznámení FCM se chovají odlišně v závislosti na stavu klientské aplikace.

Ve výchozím nastavení aplikace nezobrazí žádné FCM, které obdrží, zatímco je v popředí, takže když odešlete žádnou záruku, vaši uživatelé budou skutečně vidět že .

Chcete-li jednat podle toho, co vaše aplikace obdrží, když je v systému popředí, budete muset rozšířit FirebaseMessagingService, potlačit metodu onReceived a poté načíst obsah pomocí getNotification nebo getData, v závislosti na tom, zda pracujete s daty nebo oznámeními, nebo oboje.

Vytvořte novou třídu Java s názvem „MyFirebaseMessagingService“ a přidejte následující:

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

Musíte také vytvořit objekt oznámení. Toto je vaše šance přizpůsobit oznámení, například vybrat zvuk, který by se měl přehrát pokaždé, když uživatel obdrží toto oznámení, nebo použít vlastní ikonu oznámení. Musíte také načíst obsah z dat nebo oznámení, například:

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder (this, "channel_id") .setContentTitle (remote.getNotification (). GetTitle ()) .setContentText (remote.getNotification (). GetBody ()) .setPriority (NotificationCompat.PRIORITY_DEFA). 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 ()); }}

Jakmile vytvoříte svou službu, nezapomeňte ji přidat do svého manifestu:

Nyní, kdykoli vaše aplikace obdrží FCM, zatímco je v popředí, bude doručena do obslužné rutiny onReceived () a vaše aplikace poté provede akci, kterou jste definovali, jako je například odeslání oznámení nebo aktualizace obsahu aplikace.

Působivější oznámení: Cílení na uživatele

Až dosud jsme zasílali stejné oznámení celé naší uživatelské základně, ale oznámení jsou mnohem přitažlivější, pokud jsou zaměřena na konkrétní uživatele.

Pomocí nástroje pro oznámení můžete posílat různá oznámení do různých částí své uživatelské základny. Přejděte do nástroje Notifikace a vytvořte oznámení obvyklým způsobem, ale v části „Cíl“ klikněte na „a“. Tím získáte přístup k nové rozbalovací nabídce obsahující následující možnosti:

  • Verze. To vám umožní zacílit nebo vyloučit zařízení, na nichž jsou spuštěny konkrétní verze vaší aplikace. Můžete například zasílat oznámení lidem, kteří používají bezplatnou verzi, a vybízet je, aby upgradovali na verzi Premium vaší aplikace.
  • Jazyk. Toto nastavení můžete použít k zacílení nebo vyloučení různých jazyků a národních prostředí, které vaše aplikace podporuje, například k vytváření oznámení přizpůsobených různým časovým pásmům nebo jazykům.
  • Publikum uživatelů. Díky tomu můžete zacílit nebo vyloučit různé části publika. Toto nastavení můžete například použít k lákání lidí, kteří mají v minulosti nákupy v aplikaci, nabídnutím slevy nebo upozorněním na všechny úžasné nové produkty v aplikaci, které jste právě vydali.
  • Vlastnost uživatele. Pokud jste nastavili službu Firebase Analytics, budete mít prostřednictvím uživatelských vlastností přístup k celé řadě informací o svém publiku. Tyto vlastnosti můžete použít v kombinaci s FCM k zasílání cílených oznámení velmi specifickým částem vaší uživatelské základny, jako jsou lidé ve věkovém rozmezí 25–34 let, kteří se zajímají o sport.
  • Předpověď. Pokud jste nastavili předpovědi Firebase, můžete cílit na uživatele podle toho, jak je pravděpodobné, že se během příštích 7 dnů zapojí do určitého chování. Pokud například předpovědi varují, že se někdo pravděpodobně odpojí od vaší mobilní hry, můžete použít FCM k pozvání k účasti na novém úkolu nebo k odeslání nějaké měny ve hře.
  • Poslední interakce s aplikací. Pokud uživatel aplikaci nespustil krátce, můžete pomocí tohoto nastavení poslat několik oznámení, abyste jim připomněli veškerý skvělý obsah, který vaše aplikace nabízí.
  • První otevření. To vám umožní odesílat oznámení na základě prvního otevření aplikace uživatelem, například můžete novým uživatelům pomoci dosáhnout maximální rychlosti zasláním oznámení obsahujících užitečné tipy a rady.

Cílení na jediné zařízení pomocí registračních tokenů

Už jsme viděli, jak zasílat cílená oznámení na základě faktorů, jako je věk uživatele, zájmy a poslední kontakt s vaší aplikací, ale můžete vyrovnat se víc konkrétní. V této závěrečné části vám ukážu, jak poslat oznámení FCM na adresu singl přístroj.

Když uživatel poprvé spustí vaši aplikaci, FCM SDK vygeneruje registrační token pro danou instanci klientské aplikace. K zachycení tohoto registračního tokenu můžete použít FirebaseInstanceId.getInstance (). GetInstanceId () a poté zaslat oznámení tomuto specifickému tokenu.

Uvědomte si, že v projektu skutečného světa byste obvykle zachytili token tak, že jej odešlete na aplikační server a uložíte jej pomocí upřednostňovaného postupu, ale abych si udržel věci přímočaré, vytisknu tento token jednoduše do Logcatu pro Android Studio.

Zde je moje dokončená MainActivity:

importovat android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.annotation.NonNull; import android.util.Log; import 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šiřuje AppCompatActivity {private static final String TAG = "MainActivity"; @Override chráněné 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ískat token ID instance // String token = task.getResult (). GetToken (); String msg = getString (R.string.fcm_token, token); Log.d (TAG, msg); }}); }}

Otevřete soubor strings.xml a vytvořte řetězcový prostředek „fcm_token“, na který odkazujeme v naší hlavní aktivitě:

FCM Token:% s

Nyní můžete načíst jedinečný token zařízení:

  • Nainstalujte svůj projekt na připojené zařízení Android nebo AVD.
  • Otevřete Logcat aplikace Android Studio výběrem karty „Logcat“ (kde je kurzor umístěn na následující obrazovce).

  • Token vašeho zařízení bude vytištěn v části „Ladění“ v Logcat, takže otevřete rozevírací nabídku a vyberte „Ladit“.

V závislosti na množství informací v Logcatu může být obtížné najít hledanou linku. Pokud bojujete, spusťte vyhledávání slova „token“ nebo zkuste aplikaci zavřít a znovu spustit.

Jakmile token načtete, můžete jej použít k odeslání oznámení push na toto konkrétní zařízení:

  • Přejděte do konzole Firebase a vyberte svůj projekt z rozbalovací nabídky, pokud jste tak již neučinili.
  • Z nabídky vlevo vyberte „Cloud Messaging“.
  • Klikněte na tlačítko „Nové oznámení“.
  • Jako obvykle zadejte název a text, ale klikněte na „Testovat na zařízení“.

  • Zkopírujte / vložte token do pole „Přidat instanci…“ a poté klikněte na malou modrou ikonu „+“, která se objeví.
  • Zaškrtněte políčko doprovodného prvku tokenu.

  • Klikněte na „Testovat“.

Toto oznámení se nyní zobrazí pouze na cílovém klientském zařízení.

Zabalení

V tomto článku jsem vám ukázal, jak posílat oznámení push pro Android pomocí Firebase Cloud Messaging a jak vytvářet oznámení, která cílí na různé části vaší uživatelské základny.

Chystáte se používat FCM ve svých vlastních projektech pro Android? Dejte nám vědět v komentářích níže!

polečnot Google dne oznámila novou funkci, která vám umožní ověřit vaši totožnot pomocí vašeho otiků prtů Android nebo zámku obrazovky namíto hela při návštěvě ...

Porušení dat je jednou z největších hrozeb, kterým dnešní digitální krajina čelí, a to kvůli kybernetickým zločincům a nedotatečným bezpečnotním opatř...

Dosáhl Dnes