Android push értesítések küldése a Firebase Cloud Messaging segítségével

Szerző: Louise Ward
A Teremtés Dátuma: 4 Február 2021
Frissítés Dátuma: 1 Július 2024
Anonim
Android push értesítések küldése a Firebase Cloud Messaging segítségével - Alkalmazások
Android push értesítések küldése a Firebase Cloud Messaging segítségével - Alkalmazások

Tartalom


Annak ellenére, hogy túlmutat ezen oktatóprogram keretein, az FCM-t is felhasználhatja upstream értesítésekhez, ahol az FCM kap egy ügyfélalkalmazást, vagy értesítheti az alkalmazását, ha új adatok állnak rendelkezésre letöltésre. Ilyen módon biztosíthatja, hogy az alkalmazáskiszolgáló és az ügyfélalkalmazás közötti kommunikáció csak szükség esetén történjen meg, ami sokkal hatékonyabb, mint az ügyfélalkalmazás, amely rendszeres időközönként kapcsolatba lép a kiszolgálóval. A véletlenszerűség szerint esetleg új adatok állnak rendelkezésre.

Mivel az FCM a Firebase része, szépen játszik más Firebase szolgáltatásokkal is. Miután elsajátította az FCM alapjait, érdemes lehet A / B tesztelést alkalmazni a leghatékonyabb értesítések meghatározására, vagy a Firebase Predictions segítségével arra, hogy hatékony gépi tanulást alkalmazzon a különféle FCM kampányokból származó összes elemzési adathoz.


Az FCM kétféle támogatást nyújt:

  • Értesítés Az ügyfélalkalmazás eltérően viselkedik attól függően, hogy a háttérben vagy az előtérben van-e, amikor megkapja az FCM-et. Ha az alkalmazás a háttérben van, akkor a Firebase SDK automatikusan feldolgozza az eszközt, és értesítésként megjeleníti azt az eszköz rendszertálcáján. Mivel az Android rendszer az Ön számára készíti az értesítést, ez az egyik legegyszerűbb módja push értesítések küldésére a felhasználók számára. Ha az alkalmazás FCM-t kap, miközben az előtérben van, akkor a rendszer szokás kezelje ezt az értesítést automatikusan, hagyva Önt, hogy feldolgozza az alkalmazás onReceptd () visszahívását. Később ebben az oktatóanyagban megvizsgáljuk az onRecept () elemet, de most csak tudjuk, hogy ha alkalmazásod egy ideig kap az előtérben, akkor alapértelmezés szerint nem jelenik meg a felhasználó számára.
  • Data s. Az értesítésekkel ellentétben az adatokkal felhasználhat egyedi adatelemeket az ügyfélalkalmazáshoz. Az FCM azonban 4KB-os korlátozást állít fel ezekre az adatokra, tehát ha a hasznos teher meghaladja a 4KB-t, akkor a WorkManager vagy a JobScheduler API használatával le kell töltenie a kiegészítő adatokat.

Ebben az oktatóanyagban az értesítésekre összpontosítunk.


Mi a helyzet a Google Cloud Messaging szolgáltatással?

Ha a Google Cloud Messaging (GCM) szervert és az ügyfél API-kat használja, akkor van néhány rossz hír: ez a szolgáltatás már elavult, és a Google azt tervezi, hogy 2019. áprilisában kikapcsolja a „legtöbb” GCM szolgáltatást. a GCM használatával, akkor el kell kezdenie a projektek áttelepítését az FCM-re, és 2019. áprilisáig be kell fejeznie az áttérést.

Firebase hozzáadása az Android projekthez

Lássuk, milyen egyszerű az alapvető FCM-támogatást hozzáadni alkalmazásához, majd felhasználni push értesítések küldésére a felhasználók számára.

Mivel az FCM egy Firebase szolgáltatás, a Firebase-t hozzá kell adnia az alkalmazásához:

  • Menj tovább a Firebase konzolhoz.
  • Válassza a „Projekt hozzáadása” lehetőséget, és adja meg a projekt nevét.
  • Olvassa el a felhasználási feltételeket. Ha szívesen folytatja, válassza az „Elfogadom…”, majd a „Projekt létrehozása” lehetőséget.
  • Válassza az „Firebase hozzáadása az Android-alkalmazáshoz” lehetőséget.
  • Írja be a projekt csomagnevét, majd kattintson az „Alkalmazás regisztrálása” elemre.
  • Válassza a „Letöltés google-services.json” lehetőséget.
  • Az Android Stúdióban húzza a google-services.json fájlt a projekt „app” könyvtárába.
  • Nyissa meg a projekt szintű build.gradle fájlt, és adja hozzá a következőket:

classpath com.google.gms: google-szolgáltatások: 4.0.1

  • Nyissa meg az alkalmazás szintű build.gradle fájlt, és adja hozzá a Google szolgáltatások beépülő modult, valamint a Firebase Core és az FCM függőségeit:

// Adja hozzá a Google Services plugin-t // plug-in alkalmazását: com.google.gms.google-services……… függőségek {végrehajtási fájlTree (dir: libs, include:) // Firebase Core hozzáadása // végrehajtás com.google.firebase: firebase-core: 16.0.1 // FCM hozzáadása // végrehajtás com.google.firebase: firebase-messaging: 17.3.4

  • Amikor a rendszer kéri, szinkronizálja a módosításokat.
  • Ezután értesítenie kell a Firebase konzolt, hogy sikeresen hozzáadta a Firebase-t a projekthez. Telepítse alkalmazását fizikai Android okostelefonra vagy táblagépre, vagy Android virtuális eszközre (AVD).
  • A Firebase konzolban válassza a „Futtatás az alkalmazásnak a telepítés ellenőrzéséhez” lehetőséget.
  • Miután a Firebase észlelte az alkalmazásod, megjelenik egy „Gratulálunk” üzenet. Válassza a „Folytatás a konzolra” lehetőséget.

Az első push értesítés elküldése a Firebase segítségével

És ez az! Most küldhet push értesítést a felhasználóinak, és ez az értesítés megjelenik az eszköz rendszertálcáján (tegyük fel, feltételezzük, hogy az alkalmazás nem áll az előtérben, amikor kézbesítik).

Az FCM értesítéseket az Értesítések szerkesztő segítségével hozhatja létre, amely elérhető a Firebase konzolon:

  • Ellenőrizze, hogy az alkalmazás telepítve van-e és működik-e a háttérben, és hogy eszközén aktív internet-kapcsolat van-e.
  • A Firebase konzolban válassza a bal oldali menüben a „Cloud Messaging” elemet.

  • Válassza az „Először küldje el” lehetőséget.
  • Adja meg a címet és a szöveget, majd kattintson a „Tovább” gombra.

  • Nyissa meg a „Alkalmazás kiválasztása” legördülő menüt, és válassza ki az alkalmazást a listából. Ez a szakasz néhány olyan speciális opciót is tartalmaz, amelyek segítségével célzott értesítéseket hozhat létre, olyan tényezők alapján, mint például az alkalmazás verziója, az eszköz helyszíne és az utolsó alkalom, amikor a felhasználó kapcsolatba került az alkalmazásával. Nem használjuk ezen lehetőségek egyikét sem a tesztértesítésben, de ha meg akarja nézni, mi elérhető, akkor válassza a „és…” lehetőséget, és fedezze fel a következő legördülő menüt.

  • A fejezet szerkesztésének befejezése után kattintson a „Tovább” gombra.
  • Feltéve, hogy azonnal el szeretné küldeni, nyissa meg a „Küldés jogosult felhasználóknak” legördülő menüt és válassza a „Most” lehetőséget.
  • A képernyő jobb alsó sarkában kattintson a „Közzététel” elemre.
  • Ellenőrizze az összes információt a következő felbukkanó ablakban, és ha szívesen folytatja, válassza a „Közzététel” lehetőséget.

Néhány pillanat múlva az összes megcélzott kliens eszköznek meg kell kapnia ezt az értesítést a tálcájába.

Az FCM értesítéseket nagyrészt azonnal kézbesítik, de esetenként néhány percig is eltarthat, mire az a megérkezik, tehát ne ess pánikba, ha az értesítés késik.

Néhány cél kitűzése: Értesítési konverziós események

Az értesítés létrehozásakor általában egy célt szem előtt tartanak - függetlenül attól, hogy ez visszatelepíti-e a felhasználókat az alkalmazásodba, meggyőzi őket az alkalmazáson belüli vásárlásról, vagy egyszerűen megnyitja az értesítést.

Az értesítéshez egy célt rendelhet az értesítéshez, a Notification Composer segítségével, majd nyomon követheti az értesítés teljesítményét az FCM jelentési irányítópultján.

Cél beállításához kattintson a Navigációs zeneszerző „Konverziós események” szakaszának kibontására, majd nyissa meg a kísérő legördülő menüt és válasszon az elérhető konverziós események közül.

Sikeres volt az értesítés?

Az értesítés elküldése után elemezheti annak teljesítményét az FCM jelentési irányítópultján, amely automatikusan betöltődik minden egyes új üzenet küldésekor, vagy közvetlenül hozzáférhet az irányítópulthoz.

Még akkor sem, ha nem határozott meg kifejezett konverziós célokat, akkor is felmérheti, hogy a felhasználók az Ön értesítései alapján járnak-e el, amikor összehasonlítják a kézbesített szolgáltatások számát a megnyitott számokkal.

A lista bármelyikét kiválaszthatja, ha grafikonként látja a küldési, a megnyitási és a konverziós adatokat. Ha beállít valamilyen konverziós célt, akkor itt is megtalálja az e célokkal kapcsolatos statisztikákat.

Mi van, ha az alkalmazásom az előtérben van?

Az FCM értesítések eltérően viselkednek, az ügyfélalkalmazás állapotától függően.

Alapértelmezés szerint az alkalmazás nem jeleníti meg az FCM-eket, amelyeket az előtérben van, tehát amikor elküld egy, nem garantálja, hogy a felhasználók valóban lát hogy.

Ha úgy akarja cselekedni, hogy az alkalmazás miközben bekapcsol előtér, ki kell terjesztenie a FirebaseMessagingService szolgáltatást, felül kell írnia az onReceptd metódust, majd a getNotification vagy a getData használatával ki kell töltenie a tartalmat, attól függően, hogy dolgozik-e adatokkal vagy értesítésekkel, vagy mindkettővel.

Hozzon létre egy új „MyFirebaseMessagingService” nevű Java osztályt, majd adja hozzá a következőket:

nyilvános osztályú MyFirebaseMessagingService kiterjeszti a FirebaseMessagingService szolgáltatást {@Oreride public void onReceptiond (Remote) {super.onReceptiond (remote);

Ezenkívül létre kell hoznia egy értesítési objektumot. Ez a lehetőség arra, hogy személyre szabja az értesítést, például kiválaszthatja azt a hangot, amelyet a felhasználónak értesítés érkezésekor meg kell adnia, vagy egyéni értesítési ikon alkalmazását. A tartalmat ki kell töltenie az adatokból vagy az értesítésből is, például:

NotificationCompat.Builder paziņojumuBuilder = új NotificationCompat.Builder (ez a "channel_id") .setContentTitle (remote.getNotification (). GetTitle ()) .setContentText (remote.getNotification (). GetBody ()) .setPriority (NotificationCompat.PRIORITY_Device). setStyle (új NotificationCompat.BigTextStyle ()) .setSound (RingtoneManager.getDefaultUri (RingtoneManager.TYPE_NOTIFICATION)) .setSmallIcon (R.mipmap.ic_launcher) .setAutoCancel (true); NotificationManager noticeManager = ((NotificationManager) getSystemService (Context.NOTIFICATION_SERVICE); értesítésManager.notify (0, értesítésBuilder.build ()); }}

Miután létrehozta a szolgáltatását, ne felejtsd el hozzáadni a manifeszthez:

Most, hogy az alkalmazás minden alkalommal FCM-t kap, amíg az előtérben van, azt átadják a onReceptd () kezelőnek, és az alkalmazás ezután megteszi az Ön által meghatározott műveletet, például közli az értesítést vagy frissíti az alkalmazás tartalmát.

Vonzóbb értesítések: Célzás a felhasználókra

Eddig ugyanazt az értesítést küldtük a teljes felhasználói bázisunknak, de az értesítések sokkal vonzóbbak, ha konkrét felhasználókat célozzák meg.

Az Notification Composer segítségével különféle értesítéseket küldhet a felhasználói bázis különböző részeire. Menjen át az értesítő zeneszerzőhöz, és készítse el az értesítést a szokásos módon, de a „Cél” részben kattintson a „és” gombra. Ez hozzáférést biztosít egy új legördülő menübe, amely a következő lehetőségeket tartalmazza:

  • Változat. Ez lehetővé teszi az alkalmazások meghatározott verzióit futtató eszközök megcélzását vagy kizárását. Például értesítést küldhet azoknak az embereknek, akik az ingyenes verziót futtatják, ösztönözve őket, hogy frissítsenek az alkalmazás prémium verziójára.
  • Nyelv. Ezzel a beállítással megcélozhatja vagy kizárhatja az alkalmazás által támogatott különféle nyelveket és körzeteket, például létrehozhat értesítéseket, amelyek a különböző időzónákhoz vagy nyelvekhez vannak szabva.
  • Felhasználói közönség (ek). Ez lehetővé teszi, hogy megcélozza vagy kizárja a közönség különböző részeit. Például felhasználhatja ezt a beállítást az alkalmazásokon belüli vásárlások előzményeinek csábítására azáltal, hogy kedvezményt kínál számukra, vagy felhívja a figyelmüket az imént kiadott összes csodálatos alkalmazáson belüli termékre.
  • Felhasználói tulajdon. Ha beállította a Firebase Analytics szolgáltatást, akkor a felhasználói tulajdonságokon keresztül számos információhoz férhet hozzá a közönséghez. Ezeket a tulajdonságokat az FCM-mel kombinálva felhasználhatja célzott értesítések küldésére a felhasználói bázis nagyon meghatározott részeire, például a sport iránt érdeklődő 25-34 éves korosztályra.
  • Előrejelzést. Ha beállította a Firebase Predictions alkalmazást, akkor megcélozhatja a felhasználókat annak alapján, hogy valószínű, hogy viselkedjenek-e egy adott viselkedésben a következő 7 napban. Például, ha a Jóslatok figyelmezteti, hogy valaki valószínűleg kikapcsol az Ön mobiljátékától, akkor az FCM segítségével meghívhatja őket, hogy vegyenek részt egy új küldetésben, vagy küldjenek számukra játékon belüli pénznemet.
  • Utolsó alkalmazás elkötelezettség. Ha egy felhasználó egy ideje nem indította el alkalmazását, akkor ezt a beállítást felhasználhatja néhány értesítés elküldésére, csupán arra, hogy emlékeztesse őket az alkalmazás nagyszerű tartalmára.
  • Először nyissa meg. Ez lehetővé teszi az értesítések küldését annak alapján, amikor a felhasználó első alkalommal nyitotta meg az alkalmazását, például segítheti az új felhasználókat, hogy gyorsabban felgyorsuljanak, ha hasznos tippeket és tanácsokat tartalmazó értesítéseket küldenek számukra.

Egyetlen eszköz célzása regisztrációs tokenekkel

Már láttuk, hogyan lehet célzott értesítéseket küldeni olyan tényezők alapján, mint például a felhasználó kora, érdeklődési köre és az alkalmazás legutóbbi alkalma, amikor te, azaz egyenletes lesz pontosabb. Ebben az utolsó szakaszban megmutatom, hogyan kell FCM értesítést küldeni a egyetlen eszköz.

Amikor a felhasználó az alkalmazást először indítja el, az FCM SDK regisztrációs jogkivonatot generál az ügyfél alkalmazáspéldányához. A FirebaseInstanceId.getInstance (). GetInstanceId () felhasználásával rögzítheti ezt a regisztrációs tokent, majd értesítést küldhet erre a konkrét tokenre.

Ne feledje, hogy egy valós projektben általában egy tokent készít, amelyet elküld az alkalmazás szerverére, és a kívánt módszerrel tárolja, de a dolgok egyszerűségének megkönnyítése érdekében ezt a tokent egyszerűen kinyomtatom az Android Studio Logcat oldalára.

Itt van a teljes MainActivity-én:

import 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; MainActivity nyilvános osztály kiterjeszti az AppCompatActivity {magán statikus végleges karakterlánc TAG = "MainActivity"; @ Felülírja a védett érvénytelen onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); FirebaseInstanceId.getInstance (). GetInstanceId () .addOnCompleteListener (új OnCompleteListener() {@A nyilvános érvénytelenség teljes törlése a (z) Komplett (@NonNull Feladat feladat) {if (! task.isSuccessful ()) {// Teendő // visszatérés; } // Szerezze be a példány-azonosító tokent // String token = task.getResult (). GetToken (); Karakterlánc msg = getString (R.string.fcm_token, token); Log.d (TAG, msg); }}); }}

Nyissa meg a strings.xml fájlt, és hozza létre az „fcm_token” karakterlánc-erőforrást, amelyre hivatkozunk a MainActivity-ben:

FCM token:% s

Most visszakeresheti eszközének egyedi tokenjét:

  • Telepítse a projektet a csatlakoztatott Android-eszközre vagy AVD-re.
  • Nyissa meg az Android Studio Logcat-jét a „Logcat” fül kiválasztásával (ahol a kurzor az alábbi képernyőképen van elhelyezve).

  • Az eszközének tokenjét a Logcat „Hibakeresés” szakaszába nyomtatják ki, tehát nyissa meg a legördülő menüt és válassza a „Hibakeresés” lehetőséget.

A Logcat-ben lévő információ mennyiségétől függően nehéz lehet megtalálni a keresett sort. Ha nehézségekbe ütközik, akkor keressen rá a „token” szóra, vagy próbálja meg bezárni, majd újraindítani az alkalmazást.

Miután letöltötte a tokent, felhasználhatja arra, hogy push értesítést küldjön erre az eszközre:

  • Menjen át a Firebase konzolhoz, és válassza ki a projektet a legördülő menüből, ha még nem tette meg.
  • A bal oldali menüből válassza a „Cloud Messaging” lehetőséget.
  • Kattintson az „Új értesítés” gombra.
  • Írja be a címet és a szöveget, mint általában, de kattintson a „Tesztelés az eszközön” elemre.

  • Másolja / illessze be a tokent a „Példány hozzáadása” mezőbe, majd kattintson a megjelenő kék kék „+” ikonra.
  • Jelölje be a tokenhez tartozó jelölőnégyzetet.

  • Kattintson a „Test” elemre.

Ez az értesítés most csak a megcélzott kliens eszközön jelenik meg.

Csomagolás

Ebben a cikkben bemutattam, hogyan kell elküldeni az Android push értesítéseket a Firebase Cloud Messaging használatával, és hogyan hozhat létre értesítéseket, amelyek a felhasználói bázis különböző szakaszaira irányulnak.

Az FCM-et fogja használni a saját Android-projektjeiben? Tudassa velünk az alábbi megjegyzésekben!

Akarni aját webhelyet kézíthet de ninc kódolái imerete vagy kézpénz ahhoz, hogy elkézíték? A mai megállapodá megoldhatja ezeket a problé...

A Nintendo witch egyik legnépzerűbb é legkelendőbb címének címében ninc „Mario” vagy „Zelda”. Az Octopath Traveler, a régi ikola JRPG-je, amely megkíérel m...

Ajánlott Neked