Android-push-ilmoitusten lähettäminen Firebase Cloud Messaging -sovelluksella

Kirjoittaja: Louise Ward
Luomispäivä: 4 Helmikuu 2021
Päivityspäivä: 1 Heinäkuu 2024
Anonim
Android-push-ilmoitusten lähettäminen Firebase Cloud Messaging -sovelluksella - Sovellukset
Android-push-ilmoitusten lähettäminen Firebase Cloud Messaging -sovelluksella - Sovellukset

Sisältö


Vaikka se ei kuulu tämän oppaan piiriin, voit käyttää FCM: ää myös ylävirran ilmoituksiin, joissa FCM vastaanottaa asiakassovelluksen, tai ilmoittaa sovelluksellesi, kun ladattavissa on uusia tietoja. Tällä tavoin voit varmistaa, että sovelluspalvelimen ja asiakassovelluksen välinen tiedonsiirto tapahtuu vain tarvittaessa, mikä on paljon tehokkaampaa kuin asiakassovellus, joka ottaa yhteyttä palvelimeen säännöllisin väliajoin. Poikkeustilanteessa saattaa olla joitain uusia tietoja saatavana.

Koska FCM on osa Firebasea, se pelaa hienosti myös muiden Firebase-palveluiden kanssa. Kun olet oppinut FCM: n perusteet, saatat haluta käyttää A / B-testausta tehokkaimpien ilmoitusten määrittämiseen tai käyttää Firebase-ennusteita tehokkaan koneoppimisen soveltamiseen kaikkiin eri FCM-kampanjoidesi tuottamiin analyyttisiin tietoihin.


FCM tukee kahta tyyppiä:

  • Ilmoitus s. Asiakassovellus käyttäytyy eri tavalla riippuen siitä, onko se taustalla vai etualalla saatuaan FCM: n. Jos sovelluksesi on taustalla, Firebase SDK käsittelee sen automaattisesti ja näyttää sen ilmoituksena laitteen etupuolella. Koska Android-järjestelmä rakentaa ilmoituksen sinulle, tämä on yksi helpoimmista tavoista lähettää push-ilmoituksia käyttäjillesi. Jos sovelluksesi vastaanottaa FCM: n etualalla, niin järjestelmä tapa käsittele tämä ilmoitus automaattisesti, jättäen sinut käsittelemään sovelluksesi onReception () -soittopyynnön. Tutkimme myöhemmin tässä opetusohjelmassa onReceptd (), mutta toistaiseksi vain tiedämme, että jos sovelluksesi vastaanottaa jonkin aikaa etualalla, sitä ei oletuksena näytetä käyttäjälle.
  • Data s. Toisin kuin ilmoitukset, voit käyttää tietoja s lähettämään mukautettuja dataelementtejä asiakassovellukseen. FCM asettaa kuitenkin 4 kt: n rajan näille tiedoille, joten jos hyötykuormasi ylittää 4 kt, sinun on haettava lisätiedot WorkManagerilla tai JobScheduler API: lla.

Tässä opetusohjelmassa keskitymme ilmoituksiin.


Entä Google Cloud Messaging?

Jos käytät Google Cloud Messaging (GCM) -palvelinta ja asiakassovellusliittymiä, on joitain huonoja uutisia: tämä palvelu on jo vanhentunut ja Google suunnittelee sammuttavansa “useimmat” GCM-palvelut huhtikuussa 2019. Jos käytät edelleen käyttämällä GCM: ää, sinun pitäisi aloittaa projektien siirtäminen FCM: ään nyt, ja muutoksen on oltava valmis viimeistään huhtikuuhun 2019 mennessä.

Firebase: n lisääminen Android-projektiisi

Katsotaanpa, kuinka helppoa on lisätä FCM: n perustukea sovellukseesi ja käyttää sitä sitten lähettämään push-ilmoituksia käyttäjillesi.

Koska FCM on Firebase-palvelu, sinun on lisättävä Firebase sovellukseesi:

  • Siirry Firebase-konsoliin.
  • Valitse Lisää projekti ja anna projektille nimi.
  • Lue ehdot. Jos jatkat mielellään, valitse ”Hyväksyn…” ja sen jälkeen ”Luo ​​projekti”.
  • Valitse Lisää Firebase Android-sovellukseesi.
  • Kirjoita projektisi paketin nimi ja napsauta sitten Rekisteröi sovellus.
  • Valitse ”Lataa google-services.json”.
  • Vedä ja pudota Android Studio -sovelluksessa google-services.json-tiedosto projektisi sovellushakemistoon.
  • Avaa projektitason build.gradle-tiedosto ja lisää seuraava:

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

  • Avaa sovellustason build.gradle-tiedosto ja lisää Google-palveluiden laajennus sekä Firebase Core- ja FCM-riippuvuudet:

// Lisää Google-palveluiden laajennus // käytä laajennusta: com.google.gms.google-palvelut……… riippuvuudet {toteutustiedostoTree (oh: libs, sisältää:) // Lisää Firebase Core // toteutus com.google.firebase: firebase-core: 16.0.1 // Lisää FCM // toteutus com.google.firebase: firebase-messaging: 17.3.4

  • Synkronoi muutokset pyydettäessä.
  • Seuraavaksi sinun on ilmoitettava Firebase-konsolille, että olet lisännyt Firebase-projektin onnistuneesti. Asenna sovelluksesi joko fyysiselle Android-älypuhelimelle tai -tablet-laitteelle tai Android Virtual Device (AVD) -sovellukseen.
  • Valitse takaisin Firebase-konsoliin valitsemalla Suorita sovellus vahvistaaksesi asennus.
  • Kun Firebase on havainnut sovelluksesi, näet ”Onnittelut”. Valitse ”Jatka konsoliin”.

Ensimmäisen push-ilmoituksen lähettäminen Firebase-palvelun avulla

Ja siinä kaikki! Voit nyt lähettää push-ilmoituksen käyttäjillesi, ja ilmoitus tulee näkyviin laitteen järjestelmälokeroon (oletetaan nyt, että sovelluksesi ei ole etualalla, kun toimitus tapahtuu).

Voit luoda FCM-ilmoituksia Notifications Composer -sovelluksella, joka on saatavana Firebase-konsolin kautta:

  • Varmista, että sovelluksesi on asennettu ja että se toimii taustalla ja että laitteellasi on aktiivinen Internet-yhteys.
  • Valitse Firebase-konsolista vasemmasta valikosta ”Cloud Messaging”.

  • Valitse Lähetä ensin.
  • Anna otsikko ja tekstiosa ja napsauta sitten Seuraava.

  • Avaa avattava Valitse sovellus ja valitse sovellus luettelosta. Tämä osa sisältää myös joitain lisäasetuksia, joita voit käyttää kohdistettujen ilmoitusten luomiseen sellaisten tekijöiden perusteella, kuten sovellusversio, laitteen sijainti ja viimeinen kerta, jolloin käyttäjä oli yhteydessä sovellukseen. Emme käytä mitään näistä vaihtoehdoista testiilmoituksissamme, mutta jos haluat nähdä käytettävissä olevan, valitse "ja ..." ja tutkia sitä seuraavaa pudotusvalikkoa.

  • Kun olet valmis muokkaamaan tätä osaa, napsauta Seuraava.
  • Olettaen, että haluat lähettää tämän heti, avaa avattava Lähetä kelvollisille käyttäjille -valinta ja valitse Nyt.
  • Napsauta näytön oikeassa alakulmassa ”Julkaise”.
  • Tarkista kaikki seuraavan ponnahdusikkunan tiedot, ja jos jatkat mielellään, valitse ”Julkaise”.

Muutaman hetken kuluttua kaikkien kohdennettujen asiakaslaitteiden pitäisi saada tämä ilmoitus niiden järjestelmälokeroon.

Suurimman osan ajasta FCM-ilmoitukset toimitetaan heti, mutta joskus a: n saapuminen voi kestää muutaman minuutin, joten älä paniikki, jos ilmoituksesi viivästyy.

Joidenkin tavoitteiden asettaminen: Ilmoitusmuutostapahtumat

Kun luot ilmoitusta, sinulla on yleensä mielessä päämäärä - ajaako se käyttäjiä takaisin sovellukseen, vakuuttaa heidät aloittamaan sovelluksen sisäisen oston tai yksinkertaisesti avaa ilmoituksen.

Voit määrittää ilmoituksellesi tavoitteen Notification Composer -sovelluksen avulla ja seurata sitten ilmoituksen suorituskykyä FCM-raportin kojetaulussa.

Aseta tavoite napsauttamalla laajentaaksesi Navigointi Säveltäjän ”Konversiotapahtumat” -osaa, avaa sitten oheinen pudotusvalikko ja valitse käytettävissä olevista tulostapahtumista.

Oliko ilmoituksesi onnistunut?

Ilmoituksen lähettämisen jälkeen voit analysoida sen suorituskykyä FCM: n raportointipaneelissa, jonka pitäisi latautua automaattisesti joka kerta, kun lähetät uuden, tai voit käyttää kojetaulua suoraan.

Vaikka et olisi asettanut mitään nimenomaisia ​​tulostavoitteita, voit silti mitata, toimivatko käyttäjät ilmoituksesi perusteella vertaamalla toimitettujen lukumäärää avattujen lukumäärään.

Voit myös valita minkä tahansa tässä luettelossa nähdäksesi lähetys-, avoin- ja konversiotiedot kaaviona. Jos asetat tulostavoitteita, löydät myös tänne tavoitteisiin liittyvät tilastot.

Entä jos sovellukseni on etualalla?

FCM-ilmoitukset käyttäytyvät eri tavalla asiakassovelluksen tilasta riippuen.

Oletuksena sovelluksessasi ei näy FCM: ää, jotka se vastaanottaa etualalla, joten lähettäessäsi ei ole mitään takeita siitä, että käyttäjät todella nähdä että.

Voit toimia sen mukaan, minkä sovelluksesi vastaanottaa sen ollessa etuala, sinun on laajennettava FirebaseMessagingService-palvelua, ohitettava onReceptiond-menetelmä ja noudettava sitten sisältö joko getNotification- tai getData-tiedoilla riippuen siitä, työskenteletkö tietojen tai ilmoitusten kanssa vai molempien kanssa.

Luo uusi Java-luokka nimeltä “MyFirebaseMessagingService” ja lisää sitten seuraava:

julkinen luokka MyFirebaseMessagingService laajentaa FirebaseMessagingService {@Orride public void onReceptiond (Remote) {super.onReceptiond (remote);

Sinun on myös luotava ilmoitusobjekti. Tämä on tilaisuutesi mukauttaa ilmoitusta, esimerkiksi valitsemalla ääni, joka kuuluu, kun käyttäjä saa tämän ilmoituksen, tai käyttämällä mukautettua ilmoituskuvaketta. Sinun on myös haettava sisältö tiedoista tai ilmoituksesta, esimerkiksi:

NotificationCompat.Builder paziņojumuBuilder = uusi NotificationCompat.Builder (tämä, "channel_id") .setContentTitle (remote.getNotification (). GetTitle ()) .setContentText (remote.getNotification (). GetBody ()) .setPriority (NotificationCompat.PRIORITY_. setStyle (uusi NotificationCompat.BigTextStyle ()) .setSound (RingtoneManager.getDefaultUri (RingtoneManager.TYPE_NOTIFICATION)) .setSmallIcon (R.mipmap.ic_launcher) .setAutoCancel (true); NotificationManager noticeManager = (NotificationManager) getSystemService (Context.NOTIFICATION_SERVICE); NotificationManager.notify (0, paziņojumuBuilder.build ()); }}

Kun olet luonut palvelusi, älä unohda lisätä sitä manifestiisi:

Nyt joka kerta, kun sovelluksesi vastaanottaa FCM: n etualalla, se toimitetaan onReceptd () -käsittelijälle, ja sovelluksesi suorittaa sitten määrittämäsi toimenpiteet, kuten lähettää ilmoituksen tai päivittää sovelluksesi sisältöä.

Houkuttelevammat ilmoitukset: Kohdistaminen käyttäjiisi

Tähän asti olemme lähettäneet saman ilmoituksen koko käyttäjäkuntaamme, mutta ilmoitukset ovat paljon houkuttelevampia, kun ne on suunnattu tietyille käyttäjille.

Voit käyttää Ilmoituskirjoittajaa lähettämään erilaisia ​​ilmoituksia käyttäjän tietokannan eri osiin. Siirry ilmoituksen säveltäjän luo ja luo ilmoituksesi normaalisti, mutta napsauta Kohde-osiossa “ja”. Tämä antaa sinulle pääsyn uuteen pudotusvalikkoon, joka sisältää seuraavat vaihtoehdot:

  • Versio. Tämän avulla voit kohdistaa tai sulkea pois laitteita, joissa on sovelluksen tiettyjä versioita. Voit esimerkiksi lähettää ilmoituksia ilmaista versiota käyttäville ihmisille ja rohkaista heitä päivittämään sovelluksesi premium-versioon.
  • Kieli. Voit käyttää tätä asetusta kohdistaaksesi tai sulkeaksesi pois kielet ja kielet, joita sovelluksesi tukee, esimerkiksi luoda ilmoituksia, jotka on räätälöity eri aikavyöhykkeille tai kielille.
  • Käyttäjäyleisö (t). Tämän avulla voit kohdistaa tai sulkea pois yleisön eri osiot. Voit esimerkiksi käyttää tätä asetusta houkutellakseen ihmisiä, joilla on aiemmin ollut ostoksia sovelluksen sisällä, tarjoamalla heille alennusta tai kiinnittämällä heidän huomionsa kaikkiin äskettäin julkaisemaasi upeaan sovelluksen sisäiseen tuotteeseen.
  • Käyttäjän omaisuus. Jos olet määrittänyt Firebase Analyticsin, sinulla on käyttöominaisuuksien kautta pääsy joukkoon yleisöä koskevia tietoja. Voit käyttää näitä ominaisuuksia yhdessä FCM: n kanssa lähettääksesi kohdistettuja ilmoituksia käyttäjän tietyille osille, esimerkiksi 25-34-vuotiaille, jotka ovat kiinnostuneita urheilusta.
  • Ennustus. Jos olet määrittänyt Firebase-ennusteet, voit kohdistaa käyttäjiin sen perusteella, kuinka todennäköisesti he käyttäytyvät tiettyyn käyttäytymiseen seuraavien 7 päivän aikana. Esimerkiksi, jos Ennuste varoittaa, että joku todennäköisesti irtaantuu mobiilipelistäsi, voit kutsua FCM: tä kutsumaan häntä osallistumaan uuteen tehtävään tai lähettämään heille pelin sisäisen valuutan.
  • Viimeinen sitoutuminen sovellukseen. Jos käyttäjä ei ole käynnistänyt sovellustasi vähään aikaan, voit käyttää tätä asetusta lähettämään hänelle muutaman ilmoituksen vain muistuttaaksesi heitä kaikesta sovelluksesi tarjoamasta mahtavasta sisällöstä.
  • Ensimmäinen auki. Tämän avulla voit lähettää ilmoituksia sen perusteella, kun käyttäjä avasi sovelluksesi ensimmäisen kerran. Voit esimerkiksi auttaa uusia käyttäjiä nopeutumaan lähettämällä heille ilmoituksia, jotka sisältävät hyödyllisiä vinkkejä ja neuvoja.

Kohdistaminen yhdelle laitteelle rekisteröintitunnuksilla

Olemme jo nähneet kuinka lähettää kohdistettuja ilmoituksia sellaisten tekijöiden perusteella kuin käyttäjän ikä, kiinnostuksen kohteet ja viimeinen kerta, kun hän oli yhteydessä sovellukseesi, mutta voit päästä tasoihin tarkemmin. Tässä viimeisessä osiossa esittelen sinulle, kuinka FCM-ilmoitus lähetetään yksittäinen laite.

Kun käyttäjä käynnistää sovelluksesi ensimmäistä kertaa, FCM SDK luo rekisteröintitunnuksen kyseiselle asiakassovelluksen esiintymälle. Voit tallentaa tämän rekisteröintitunnuksen FirebaseInstanceId.getInstance (). GetInstanceId (): n avulla ja lähettää sen jälkeen ilmoituksen tähän tiettyyn tunnukseen.

Huomaa, että reaalimaailman projektissa kaapaat tyypillisesti tunnuksen lähettämällä sen sovelluspalvelimellesi ja tallentamalla sen haluamallasi menetelmällä, mutta jotta asiat pysyvät selkeinä, tulostan tämän tunnuksen vain Android Studion Logcat-sovellukseen.

Tässä on valmistunut MainAktiviteettini:

tuo android.support.v7.app.AppCompatActivity; tuo android.os.Bundle; tuo android.support.annotation.NonNull; tuo android.util.Log; Tuo com.google.android.gms.tasks.OnCompleteListener; tuo com.google.android.gms.tasks.Task; tuo com.google.firebase.iid.FirebaseInstanceId; tuo com.google.firebase.iid.InstanceIdResult; julkinen luokka MainActivity laajentaa AppCompatActivity {yksityinen staattinen lopullinen merkkijono TAG = "MainActivity"; @Ohota suojattu tyhjä onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); FirebaseInstanceId.getInstance (). GetInstanceId () .addOnCompleteListener (uusi OnCompleteListener() {@Orride public void onComplete (@NonNull Tehtävä tehtävä) {if (! task.isSuccessful ()) {// Tehdään // palata; } // Hanki ilmentymätunnus // Merkkijono = tehtävä.getResult (). GetToken (); Merkkijono msg = getString (R.string.fcm_token, merkki); Lok.d (TAG, msg); }}); }}

Avaa strings.xml-tiedosto ja luo ”fcm_token” merkkijonoresurssi, johon viittaamme MainActivity-toiminnassamme:

FCM-tunnus:% s

Voit nyt hakea laitteesi yksilöllisen tunnuksen:

  • Asenna projekti kytkettyyn Android-laitteeseen tai AVD: hen.
  • Avaa Android Studion Logcat valitsemalla Logcat-välilehti (missä kohdistin on seuraavassa kuvakaappauksessa).

  • Laitteesi tunnus tulostetaan Logcatin Debug-osioon, joten avaa pudotusvalikko ja valitse Debug.

Logcat-tietojesi määrästä riippuen voi olla vaikea löytää etsimääsi riviä. Jos sinulla on vaikeuksia, suorita haku sanasta ”token” tai yritä sulkea ja käynnistää sitten sovellus uudelleen.

Kun olet hakenut tunnuksen, voit käyttää sitä lähettämään push-ilmoituksen tälle laitteelle:

  • Siirry Firebase-konsolin päälle ja valitse projekti avattavasta valikosta, jos et vielä ole.
  • Valitse vasemmasta valikosta ”Cloud Messaging”.
  • Napsauta ”Uusi ilmoitus” -painiketta.
  • Kirjoita otsikko ja teksti normaalisti, mutta napsauta sitten Testaa laitteella.

  • Kopioi / liitä merkki Lisää ilmentymä… -kenttään ja napsauta sitten näkyviin tulevaa pientä sinistä “+” -kuvaketta.
  • Valitse merkinnän mukana tuleva valintaruutu.

  • Napsauta "Testaa".

Tämä ilmoitus näkyy nyt vain kohdennetussa asiakaslaitteessa.

Käärimistä

Esittelin tässä artikkelissa, kuinka voit lähettää Android-push-ilmoituksia Firebase Cloud Messaging -sovelluksen avulla ja kuinka luoda ilmoituksia, jotka kohdistuvat käyttäjän kansion eri osiin.

Aiotko käyttää FCM: ää omissa Android-projekteissasi? Kerro meille alla olevissa kommenteissa!

Nokia 9 PureView on HMD: n lippulaivajulkaiu vuodelle 2019, mutta e oli melko pettymy. Viime vuoden lippulaivan piin ja polarioivan pentakamera-aennuken välillä e olii voinut olla paljon par...

Päivity, 24. huhtikuuta 2019 05:18 klo 13.00. ET:HMD Global on anonut tutkivana aiemmin tällä viikolla eille tulleen Nokia 9 ormenjälkitunnitimen ongelmaa (h / t Android-poliii). O...

Suosittu