Fladder -stootkennisgewing met Firebase -wolkboodskappe

Blog

Fladder -stootkennisgewing met Firebase -wolkboodskappe

In hierdie handleiding leer ons hoe om dit te implementeer Firebase -stootkennisgewing met Flutter -programme



Wat sal jy leer?

  • Stel Android -projek op, soos gradle en manifes -lêer
  • Skep Firebase -projek en maak konfigurasie
  • Skryf kode vir stootkennisgewing
  • Ontvang stootkennisgewing
  • Stuur stootkennisgewing via die vuurbasis -konsole en krul

Firebase -wolkboodskappe vir Flutter

'N Fladder -inprop om die Firebase Cloud Messaging (FCM) API .



Met hierdie inprop kan u Flutter -app stootkennisgewings sowel as databoodskappe op Android en iOS ontvang en verwerk. Lees Firebase's Oor FCM -boodskappe om meer te wete te kom oor die verskille tussen kennisgewingboodskappe en databoodskappe.

1. Hang daarvan af
Voeg dit by jou pakket se | _+_ | lêer:



pubspec.yaml

2. Installeer dit
U kan pakkette vanaf die opdragreël installeer:

met Fladder:

dependencies: firebase_messaging: ^5.1.8

Alternatiewelik kan u redakteur flutter pub -ondersteuning ondersteun. Gaan na die dokumente vir u redakteur om meer te wete te kom.

3. Voer dit in
U kan nou gebruik maak van u Dart -kode:

flutter pub get

Aan die gang kom

Kyk na die | _+_ | gids vir 'n voorbeeldprogram met behulp van Firebase Cloud Messaging.

Android -integrasie #

Om u inprop in die Android -deel van u app te integreer, volg die volgende stappe:

Gebruik die Firebase -konsole voeg 'n Android -program by u projek: volg die assistent, laai die gegenereerde | _+_ | af lêer en plaas dit binne | _+_ |.

Voeg die klaspad by die | _+_ | lêer.

import 'package:firebase_messaging/firebase_messaging.dart';

Voeg die toepaslike inprop by die | _+_ | lêer.

example

Nota: as hierdie afdeling nie voltooi is nie, kry u 'n fout soos volg:

google-services.json

Let wel: Gebruik 'n toestel of AVD met Google Play -dienste as u Android ontfout. Andersins kan u nie verifieer nie.

  1. (opsioneel, maar word aanbeveel) As die gebruiker in kennis gestel wil word van u app (via | _+_ | en | _+_ |, sien hieronder), moet die volgende insluit: _ _+_ | binne die | _+_ | tag van jou | _+_ |:
android/app

Hanteer opsioneel agtergrondboodskappe #

Die hantering van agtergrondboodskappe is bedoel om vinnig uitgevoer te word. Moenie langdurige take uitvoer nie, aangesien dit moontlik nie deur die Android -stelsel voltooi kan word nie. Sien Beperkings vir agtergronduitvoering vir meer.

By verstek is agtergrondboodskappe nie geaktiveer nie. Om boodskappe op die agtergrond te hanteer:

1. Voeg 'n Application.java -klas by u app

[project]/android/build.gradle

2. Stel die naam eienskap van die aansoek in | _+_ |

dependencies { // Example existing classpath classpath 'com.android.tools.build:gradle:3.2.1' // Add the google services classpath classpath 'com.google.gms:google-services:4.3.0' }

3. Definieer 'n Dart -metode op die hoogste vlak om agtergrondboodskappe te hanteer

[project]/android/app/build.gradle

Let wel: die protokol van | _+_ | en | _+_ | is in lyn met die velde gedefinieer deur a RemoteMessage .

  1. Stel | _+_ | hanteerder wanneer hy bel | _+_ |
// ADD THIS AT THE BOTTOM apply plugin: 'com.google.gms.google-services'

Nota: | _+_ | moet vroeg in die lewensiklus van u aansoek gebel word, sodat dit gereed kan wees om so vroeg as moontlik boodskappe te ontvang. Sien die voorbeeld -app vir 'n demonstrasie.

iOS -integrasie #

Om u inprop in die iOS -deel van u app te integreer, volg die volgende stappe:

1. Genereer die sertifikate wat Apple benodig vir die ontvang van stootkennisgewings hierdie gids in die Firebase -dokumente. U kan die afdeling met die titel Create the Provisioning Profile oorslaan.

laravel waar nie in nie
  1. Gebruik die Firebase -konsole voeg 'n iOS -app by u projek: volg die assistent, laai die gegenereerde | _+_ | af lêer, maak | _+_ | met Xcode, en plaas die lêer in Xcode in | _+_ |. Moenie volg die stappe met die naam Voeg Firebase SDK by en Voeg inisialiseringskode by in die Firebase -assistent.
  2. Kies in Xcode | _+_ | in die Project Navigator. Skakel | _+_ | in die oortjie Capabilities aan en | _+_ |, en aktiveer | _+_ | en | _+_ | onder | _+_ |.
  3. Volg die stappe in die Laai u APN -sertifikaat op afdeling van die Firebase -dokumente.

Dart/Flutter Integrasie #

Uit u Dart -kode moet u die inprop invoer en dit instansieer:

java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process [package name]. Make sure to call FirebaseApp.initializeApp(Context) first.

Vervolgens moet u waarskynlik toestemmings versoek om Push -kennisgewings te ontvang. Bel hiervoor | _+_ |. Dit sal 'n toestemmingsdialoogvenster oopmaak waarop die gebruiker op iOS kan bevestig. Dit is 'n no-op op Android. Laaste, maar nie die minste nie, registreer | _+_ |, | _+_ | en | _+_ | terugbelle via | _+_ | om na inkomende boodskappe te luister (sien tabel hieronder vir meer inligting).

Ontvangs van boodskappe #

Boodskappe word via die | _+_ |, | _+_ | en | _+_ | na u Flutter -app gestuur terugbelle wat u tydens die opstelling met die inprop opgestel het. Hier is hoe verskillende tipes boodskappe op die ondersteunde platforms afgelewer word:
App in die voorgrond App in die agtergrond App beëindig Kennisgewing op Android | _+_ | Kennisgewing word in die stelselbalk afgelewer. As die gebruiker daarop klik om die app oop te maak | _+_ | brand as | _+_ | is ingestel (sien hieronder). Kennisgewing word na die stelselbak gestuur. As die gebruiker daarop klik om die app oop te maak | _+_ | brand as | _+_ | is ingestel (sien hieronder). Kennisgewing op iOS | _+_ | Kennisgewing word in die stelselbalk afgelewer. As die gebruiker daarop klik om die app oop te maak | _+_ | Kennisgewing word na die stelselblad gestuur. As die gebruiker daarop klik om die app oop te maak | _+_ | brande. Databoodskap op Android | _+_ | terwyl die app op die agtergrond bly. word nie deur die inprop ondersteun nie, die boodskap gaan verlore Databoodskap op iOS | _+_ | Boodskap word deur FCM gestoor en aan die app afgelewer via | _+_ | wanneer die app op die voorgrond teruggebring word.Boodskap word deur FCM gestoor en by die app afgelewer via | _+_ | wanneer die app op die voorgrond gebring word.

Bykomende lesing: Firebase's Oor FCM -boodskappe .

Kennisgewingsboodskappe met bykomende data #

Dit is moontlik om bykomende data in kennisgewingsboodskappe op te neem deur dit by te voeg tot die | _+_ | -veld van die boodskap.

Op Android bevat die boodskap 'n ekstra veld | _+_ | die data bevat. Op iOS word die data direk by die boodskap gevoeg en word die bykomende | _+_ | -veld weggelaat.

Om die data op beide platforms te ontvang:

onResume

Stuur boodskappe #

Verwys na die Firebase -dokumentasie oor FCM vir al die besonderhede oor die stuur van boodskappe na u app. As u 'n kennisgewingboodskap na 'n Android -toestel stuur, moet u die | _+_ | instel eiendom van die boodskap aan | _+_ |. Andersins kan die inprop nie die kennisgewing aan u app afgee as die gebruikers in die stelselbalk daarop klik nie.

Vir toetsdoeleindes is die eenvoudigste manier om 'n kennisgewing te stuur via die Firebase -konsole . Maak seker dat u | _+_ | insluit as 'n pasgemaakte data-sleutel-waarde-paar (onder Gevorderde opsies) wanneer u 'n Android-toestel teiken. Die Firebase -konsole ondersteun nie die stuur van databoodskappe nie.

Alternatiewelik kan 'n kennisgewing of databoodskap vanaf 'n terminale gestuur word:

onLaunch

Verwyder die | _+_ | eiendom in | _+_ | om 'n databoodskap te stuur.

#fladder #vuurbasis

www.youtube.com

Fladder -stootkennisgewing met Firebase -wolkboodskappe

In hierdie tutoriaal leer ons hoe u Firebase Push Notification met Flutter -programme kan implementeer. Handleiding vir fladderdruk -kennisgewing met voorbeeld