Firebase Cloud Messaging
Entwickler (en) | Firebase |
---|---|
Programmiersprachen) | - |
Anwendung (en) | Benachrichtigungsdienst |
Status | Aktiv |
Lizenz | Proprietär |
Webseite | https://firebase.google.com/products/cloud-messaging/ |
Firebase Cloud Messaging (Fcm), früher bekannt als Google Cloud Messaging (GCM) ist eine plattformübergreifende Wolkenlösung für Nachrichten und Benachrichtigungen zum Android, iOS, und Web Applikationen, was ab Juni 2022 kostenlos verwendet werden kann.[1] Mit Firebase Cloud Messaging können Anwendungsentwickler von Drittanbietern Benachrichtigungen oder Nachrichten von von FCM gehosteten Servern an Benutzer der Plattform oder senden Endverbraucher.
Der Service wird von bereitgestellt von Firebaseeine Tochtergesellschaft von Google. Am 21. Oktober 2014 kündigte Firebase an, von Google für einen nicht genannten Betrag übernommen worden.[2] Die offizielle Website von Google Cloud Messaging verweist auf Firebase Cloud Messaging (FCM) als neue Version von GCM.[3] Firebase ist eine mobile Plattform, die Benutzer bei der Entwicklung mobiler und Webanwendungen unterstützt. Firebase Cloud Messaging ist eines von vielen Produkten, die Teil der Firebase -Plattform sind. Auf der Plattform können Benutzer verschiedene Firebase -Funktionen sowohl in Web- als auch in mobile Anwendungen integrieren und kombinieren.
Geschichte
Firebase Cloud Messaging (FCM) ist Teil der Firebase-Plattform. Nachdem das FireBase Company 2014 von Google übernommen worden war, wurden einige FireBase Platform -Produkte oder -Technologien in die vorhandenen Dienste von Google integriert. Google Cloud Messaging (GCM) von Google mobiler Benachrichtigung wurde 2016 durch FCM ersetzt. Am 10. April 2018 wurde GCM von Google entfernt und am 29. Mai 2019 wurden die GCM Server- und Client -API veraltet.[4] FCM ist zum Ersatz für GCM geworden. FCM ist jedoch mit vorhandenem Google kompatibel Softwareentwicklungskits (SDK).[5]
Firebase Cloud Messaging ist eine plattformübergreifende Messaging-Lösung, bei der der Benutzer Nachrichten ohne Kosten liefern kann. FCM ist mit verschiedenen Plattformen kompatibel, darunter Android und iOS.[6] Google startete Unterstützung für Webanwendungen am 17. Oktober 2016 einschließlich mobiler Webanwendungen.[7] Auf FCM können Anwendungsentwickler von Drittanbietern Push -Benachrichtigungen und Nachrichten über eine Anwendungsprogrammierschnittstelle (API) an Endbenutzer senden.[8] Nachdem Benutzer die Zustimmung zum Empfangen von Push -Benachrichtigungen ermöglicht haben, können Benutzer in Echtzeitinformationen oder Daten zur Synchronisierung empfangen.
Entwicklung
FCM erbt die Kerninfrastruktur von GCM, vereinfacht jedoch die Entwicklung der Kundenseite. GCM und FCM bieten Verschlüsselung, Push -Benachrichtigung und Messaging, native Android- und iOS -SDK -Unterstützung an. Beide erfordern eine Einheit von Drittanbietern zwischen der Client-Anwendung und der vertrauenswürdigen Umgebung, die möglicherweise Verzögerungen im Kommunikationspfad zwischen dem mobilen Terminal- und Anwendungsserver verursacht.[8] FCM unterstützt Serverprotokolle HTTP und XMPP, die mit GCM -Protokollen identisch sind.
Entwickler sind nicht verpflichtet, einzelne Registrierungen oder Abonnement -Wiederholungsanmeldungen in der Client -Anwendung zu schreiben.[4] FCM und GCM verarbeiten Nachrichten über dieselben Anweisungen. Anstelle von GCM -Verbindungsservern werden jedoch Nachrichten über FCM -Server weitergegeben. Das FCM Software Development Kit (SDK) schließt das Schreiben der individuellen Registrierung oder die Abonnement -Wiederholungslogik für einen verkürzten Kundenentwicklungsprozess aus. Das FCM SDK bietet eine neue Benachrichtigungslösung, mit der Entwickler die serverlosen Firebase -Benachrichtigungen auf einer Webkonsole basierend auf Firebase Analytics -Erkenntnissen verwenden können. FCM ermöglicht es, unbegrenzte stromaufwärts- und nachgelagerte Nachrichten zu senden.[6]
Schlüsselfähigkeiten
Firebase Cloud Messaging verfügt über drei Hauptfunktionen. Die erste Fähigkeit besteht darin, dass FCM dem Benutzer Benachrichtigungsmeldungen oder Datenmeldungen empfangen kann, die vom Anwendungscode entschlüsselt werden können. Die zweite Fähigkeit ist das Meldungsziel. Nachrichten können über verschiedene Methoden an die Clientanwendung gesendet werden. Von der FCM -Plattform bis hin zu einzelnen Geräten, angegebenen Gerätegruppen oder Geräten, die bestimmte Themendomänen abonniert sind. Die dritte Schlüsselfunktion ist der Verbindungskanal von Client -Anwendungen zum Server. Mit FCM können Nachrichten verschiedener Typen über den FCM -Kanal aus ausgewählten Geräten oder Client -Apps gesendet werden.[9]
Technische Details
Firebase Cloud Messaging sendet Benachrichtigungen und Nachrichten an Geräte, die bestimmte Firebas-fähige Apps installiert haben. Das Hinzufügen von Unterstützung für FCM zu einer Anwendung erfordert mehrere Schritte: Fügen Sie dem Android Studio -Projekt Unterstützung hinzu, erhalten Sie Registrierungstoken und implementieren Sie Handler, um Nachrichtenbenachrichtigungen zu identifizieren.[10] Die Nachrichtenbenachrichtigungen können über die Firebase -Konsole mit einer Option SELECT -Benutzersegmentierung gesendet werden.
FCM -Architektur
Die FCM -Architektur umfasst drei Komponenten: FCM Connection Server, eine vertrauenswürdige Umgebung mit einem Anwendungsserver basierend auf HTTP- oder XMPP- und Cloud -Funktionalität sowie einer Clientanwendung. Das Senden und Empfangen von Nachrichten erfordert eine gesicherte Umgebung oder Server, um Nachrichten zu erstellen, zu lenken und zu senden, sowie eine iOS-, Android- oder Web -Client -Anwendung, um Nachrichten zu empfangen.[11] Es gibt zwei Arten von Nachrichten, die Entwickler mit FCM senden können. Benachrichtigungsmeldungen und Datennachrichten. Benachrichtigungsmeldungen sind Nachrichten, die von FCM auf dem Gerät angezeigt werden, und werden vom FCM SDK automatisch verwaltet. Datennachrichten werden von der Clientanwendung verarbeitet.[12] Daher werden Benachrichtigungsmeldungen verwendet, wenn der Entwickler FCM benötigt, um die Benachrichtigungsanzeige für die Client -Anwendungen zu verarbeiten. Datenmeldungen werden verwendet, wenn der Entwickler verlangt, dass die Nachrichten in der Clientanwendung verarbeitet werden.
FCM kann über drei Methoden Zielnachrichten an Anwendungen liefern: an ein einzelnes Gerät, an eine Gerätegruppe oder an Geräte, die Themen abonniert haben. Entwickler erstellen und senden gezielte Nachrichten an eine ausgewählte Gruppe von Benutzern im "Benachrichtigungskomponisten". [10] Nachrichten mit FCM werden in die Firebase Analytics -Funktionalität integriert, um die Benutzerkonvertierung und das Engagement zu verfolgen.
Implementierung
Der Implementierungsprozess verfügt über zwei Schlüsselkomponenten. Zunächst ist eine sichere Umgebung zum Senden und Empfangen von Nachrichten erforderlich, damit FCM oder andere Anwendungsserver die Nachrichtentransaktion erleichtern. Zweitens ist eine Client -Anwendung möglicher Typen, iOS, Android oder Web (JavaScript), die auch mit dem ausgewählten Plattformdienst kompatibel ist.
Der Implementierungspfad für FCM wird mit dem FCM SDK -Setup nach den für die entschiedenen Plattform vorgeschriebenen Anweisungen initiiert. Nach dem Einrichten muss die Clientanwendung entwickelt werden. Fügen Sie in der Client -App Nachrichtenbearbeitung, Themenabonnement -Logik und andere erforderliche Funktionen hinzu. Während dieses Schritts können auch Testmeldungen aus dem Benachrichtigungskomponisten gesendet werden. Der Anwendungsserver wird neben der Erstellung der Sendelogik entwickelt. Die Basisserverumgebung wird ohne Code erstellt.[4]
Architekturfluss
Die Registrierung des Geräts und das Einrichten, um den Nachrichtenempfang von FCM zu aktivieren, ist zunächst erforderlich. Die Client -Anwendungsinstanz wird registriert und ein Registrierungs -Token oder ein FCM -Token zugewiesen, das von den FCM -Verbindungsservern ausgestellt wird, die die Anwendungsinstanz (App -Instanz) einen eindeutigen Kennung bereitstellen. Die App -Instanz kann dann nachgeschaltete Nachrichten senden und empfangen. Nachgeschaltete Nachrichten bezieht sich auf das Senden einer Push -Benachrichtigung vom Anwendungsserver in Richtung der Clientanwendung. Dieser Prozess umfasst vier Schritte. Nachdem im Benachrichtigungskomponist oder in einer anderen sicheren Umgebung eine Nachricht erstellt wurde, wird eine Anforderung für die Nachricht an das FCM -Backend gesendet. Zweitens empfängt und akzeptieren das FCM -Backend die Nachrichtenanforderung und erstellen Sie die Nachrichten für jedes angegebene Thema, erstellen Sie Nachrichtenmetadaten wie eine Nachrichten -ID und senden Sie sie an eine Transportschicht, die für die Plattform spezifisch ist. Drittens wird die Nachricht über die plattformspezifische Transportschicht an ein Online-Gerät gesendet. Die Transportschicht auf Plattformebene ist für das Luting der Nachricht an ein bestimmtes Gerät, die Abwicklung der Nachricht und die Anwendung bestimmter Konfigurationen auf die Plattform verantwortlich. Viertens erhält die Client -Anwendung die Benachrichtigung oder Nachricht über ihr Gerät. [13]
Zusätzliche Funktionen und Werkzeuge
Analyse
Firebase bietet kostenlose und uneingeschränkte Analysetools an, um den Benutzer zu unterstützen, um Einblicke in die "Anzeigenklick" und "Anwendungsnutzung" von Endkunden zu erhalten. In Verbindung mit anderen Firebase-Funktionen ermöglicht es Firebase Analytics dem Benutzer, eine Reihe von Funktionen wie Klickraten für App-Abstürze zu erforschen und zu verwenden.[14]
Firebase Remote Config
Es ist ein einfacher Schlüsselwertspeicher, der in der Cloud lebt und es dem Benutzer ermöglicht, Änderungen zu implementieren, die von der Anwendung gelesen werden können. Die Firebase Remote -Konfiguration enthält neben der grundlegenden Funktion auch einen Publikumsbauer, mit dem der Benutzer benutzerdefinierte Zielgruppen erstellt und A / B -Tests durchführt.[14]
Plattformübergreifende Unterstützung
APIs in einzelne SDKs für iOS, Android, JavaScript und C ++ in Verbindung mit der von FCM bereitgestellten plattformübergreifenden Unterstützung ermöglichen es dem Entwickler, sich ohne Infrastrukturmodifikation über verschiedene Plattformen hinweg auszudehnen.[14]
Web -Push -Support
Entwickler können die Standard -ITF -Web -Push -APIs implementieren und auf Webbrowser zielen. Auf Chrome können Entwickler Nachrichten auf Chrome auf Android- oder Chrom -Seiten in Mac, Windows und Linux senden. Zu den Funktionen für den Web -Push -Support gehören Themennachrichten und die Möglichkeit, Nachrichten an Themenkombinationen zu senden.[14]
Themennachrichten
Entwickler können eine einzige Nachricht an mehrere Geräte senden. Es ist eine Methode zur Benachrichtigung von Benutzern mit gemeinsamen Interessensthemen wie Sportveranstaltungen, Künstlern und Musikgenres. Entwickler müssen eine Nachricht an FCM veröffentlichen, die automatisch an Geräte geliefert wird, die dem ausgewählten Thema abonniert werden. Die Abonnentenanzeige zu einem einzelnen Thema oder mehreren Themen sind in der Anwendung nicht begrenzt.[14]
Themenkombination Messaging
Wenn Benutzer unterschiedliche Themen abonniert haben, um zu verhindern, dass dieselbe Nachricht über verschiedene Themen hinweg veröffentlichen, und Benutzer, die doppelte Nachrichten empfangen, können Entwickler die aktualisierte API verwenden. Entwickler können spezifische Bedingungen für FCM festlegen, um die Nachricht nur an Benutzer zu übermitteln, die die Zustandskriterien erfüllen.[14]
Nachrichtenzustellungsberichte
Nachrichtenberichte (MDR) werden vom FCM -Berichtstool generiert, mit dem Entwickler analytische Einblicke in die Nachrichtenbereitstellung erhalten können. Im MDR können Entwickler die Reichweite der gesendeten Nachrichten an bestimmte Benutzer auswerten, indem sie die Daten für Nachrichten an verschiedene FCM -SDKs (Android, iOS) anzeigen. [15]
Benachrichtigungstrichteranalyse
Eine Benachrichtigungstrichteranalyse (NFA) ist in die FCM -Plattform eingebaut. Durch die Verwendung dieses Tools können Entwickler Benutzerverhalten und Trends aus Daten zu Antworten auf bestimmte Benachrichtigungen anzeigen. Die Arten von Benachrichtigungsdaten, die analysiert werden können, sind "Benachrichtigungen gesendet", "Benachrichtigungen geöffnet" und Anzahl der eindeutigen Benutzer. Ein Analysebericht kann aus der NFA gezogen werden. Entwickler können auch die Benachrichtigungstrichter anpassen und aufbauen. [15]
Schlüsselbedenken
Sicherheitsbedenken
FCM verkürzt den Design- und Implementierungsprozess für mobile Anwendungen. Aufgrund der verfügbaren Funktionalität beim Senden von Testnachrichten über den Benachrichtigungskomponisten in der Firebase -Konsole wird auch der Testprozess verkürzt. Cloud-basierte Messaging-Lösungen haben auch Sicherheits- und Datenschutzrisiken, die vor der Umsetzung in ein Projekt gemildert und berücksichtigt werden müssen. Die Entwicklung von Cloud Computing beinhaltet eine offene Netzwerkstruktur und eine elastische Bündelung gemeinsamer Ressourcen, die die Ermittlung von Cloud -Sicherheitsmaßnahmen erhöht.[16]
Ein Sicherheitsbedenken ist die potenzielle Ausbeutung von Serverschlüssel, die in den FCMs gespeichert sind Android -Anwendungspaket (APK) Dateien. Wenn dies ausgenutzt wird, ermöglicht dies die Verteilung von Push -Benachrichtigungsnachrichten an alle Benutzer auf der Firebase -Plattform. GCM hat zuvor Sicherheitslücken gemeldet, bei denen Phishing- und böswillige Werbeaktivitäten aufgetreten sind.
Der Schutz vor Sicherheitsbedrohungen beinhaltet mehrere Schritte und kann zu zusätzlichen Auswirkungen führen. Die Deaktivierung des Cloud -Messaging -Dienstes verhindert sofortige Transaktionen. Dies könnte jedoch möglicherweise andere Anwendungen stoppen, die auf dem blockierten Gerät installiert sind, das auf den FCM -Dienst beruht.[16] Eine mögliche Lösung besteht darin, einen bestimmten Benachrichtigungskanal zu blockieren oder sich von einem Thema abzumelden. Andere Lösungen umfassen das Einrichten von Nachrichtenverkehrsmeldungssystemen zur Meldung, um böswillige Informationen über die FCM -Serviceplattform zu erkennen.[17] Um diese Lösung zu implementieren, sind zusätzliche Schritte erforderlich. Der Benutzer muss am Start, den Verbindungskanal oder das Thema, das möglicherweise von der böswilligen Anwendung verwendet wird, identifizieren.
Datenschutzbedenken
Cloud-basierte Messaging stellt auch Datenschutzrisiken und Probleme dar. Black Hat Hacker Kann möglicherweise die Sicherheit der Firebase Cloud Messaging -Plattform verstoßen und die Registrierungs -ID der Anwendung des Benutzers oder andere vertrauliche Informationen erwerben. Zu den Beispielen für Sicherheitskompromisse gehören private Nachrichten auf dem Social-Media-Konto eines Benutzers auf das Gerät des Hackers. Um die Privatsphäre der Plattform zu gewährleisten, kann der Benutzer End-to-End-Schutzschemata rund um die offenen Kommunikationskanäle erstellen, die von den Cloud-Messaging-Diensten bereitgestellt werden. die unsicher sind. FCM bietet Benutzern eine Nutzlastverschlüsselung.[16]
Verweise
- ^ "Firebase Cloud Messaging". Google -Entwickler. Abgerufen 4. April, 2021.
- ^ Tamplin, James. "Firebase schließt sich Google an!". Firebase, Inc. Abgerufen 21. Oktober, 2014.
- ^ "Google Cloud Messaging - Offizielle Website". Abgerufen 20. Juli, 2016.
- ^ a b c Kantamani, S. (2020). Firebase Cloud Messaging. Abgerufen am 7. September 2020, von https://medium.com/developermind/using-firebase-cloud-messaging-for-remote-notifications-ios-d35de1dc67b2
- ^ Tondolo, Musa (27. Juli 2018). "FireBase verstehen: Teil 1 (Firebase Cloud Messaging)". Mittel. Abgerufen 17. November, 2020.
- ^ a b Moroney, L. (2017). Firebase Cloud Messaging. In der endgültigen Anleitung zu Firebase (S. 163-188). Apress, Berkeley, CA.
- ^ Novet, J. (2016). Google startet Firebase Cloud Messaging für das Web. Abgerufen am 7. Oktober 2020, von https://venturebeat.com/2016/10/17/google-launches-firebase-cloud-messaging-for-the-web/
- ^ a b Albertengo, G., Debele, F. G., Hassan, W. & Stramandino, D. (2020). Bei der Leistung von Webdiensten, Google Cloud Messaging und Firebase Cloud Messaging. Digitale Kommunikation und Netzwerke, 6 (1), 31-37.
- ^ "Firebase Cloud Messaging". Firebase. Abgerufen 16. November, 2020.
- ^ a b Yilmaz, Y. S., Aydin, B. I. & Demirbas, M. (2014, Dezember). Google Cloud Messaging (GCM): Eine Bewertung. 2014 IEEE Global Communications Conference (S. 2807-2812). IEEE.
- ^ M. A. Mokar, S. O. Fageeri & S. E. Fattoh (2019, September). Verwenden von Firebase Cloud Messaging zur Steuerung mobiler Anwendungen. 2019 Internationale Konferenz über Computer-, Steuer-, Elektro- und Elektronik-Engineering (ICCCEEE) (S. 1-5). IEEE
- ^ "Über FCM -Nachrichten". Firebase. Abgerufen 17. November, 2020.
- ^ "FCM Architekturübersicht". Firebase. Abgerufen 17. November, 2020.
- ^ a b c d e f Sharma, R. (2020). Was ist GCM und FCM? (Unterschiede und Einschränkungen). Abgerufen am 2. Oktober 2020, von https://www.izooto.com/blog/Everything-that-you-need-t-nout-firebase-cloud-messaging-platform
- ^ a b "Nachricht verstehen". Firebase. Abgerufen 17. November, 2020.
- ^ a b c Esposito, Christian; Palmieri, Francesco; Choo, Kim-Kwang Raymond (März 2018). "Cloud Message Queuing und Benachrichtigung: Herausforderungen und Chancen". IEEE Cloud Computing. 5 (2): 11–16. doi:10.1109/mcc.2018.022171662. ISSN 2325-6095. S2CID 19248242.
- ^ Li, na; Du, Yanhui; Chen, Guangxuan (Dezember 2013). "Übersicht über Cloud Messaging -Push -Benachrichtigungsdienst". 2013 Internationale Konferenz über Informationswissenschaft und Cloud Computing Companion. IEEE: 273–279. doi:10.1109/iscc-c.2013.132. ISBN 978-1-4799-5245-8. S2CID 15771293.