Edit count of the user (user_editcount ) | null |
Name of the user account (user_name ) | '188.236.166.169' |
Age of the user account (user_age ) | 0 |
Groups (including implicit) the user is in (user_groups ) | [
0 => '*'
] |
Rights that the user has (user_rights ) | [
0 => 'createaccount',
1 => 'read',
2 => 'edit',
3 => 'createtalk',
4 => 'writeapi',
5 => 'viewmyprivateinfo',
6 => 'editmyprivateinfo',
7 => 'editmyoptions',
8 => 'abusefilter-log-detail',
9 => 'urlshortener-create-url',
10 => 'centralauth-merge',
11 => 'abusefilter-view',
12 => 'abusefilter-log',
13 => 'vipsscaler-test'
] |
Whether the user is editing from mobile app (user_app ) | false |
Whether or not a user is editing through the mobile interface (user_mobile ) | true |
Page ID (page_id ) | 51123191 |
Page namespace (page_namespace ) | 0 |
Page title without namespace (page_title ) | 'Firebase Cloud Messaging' |
Full page title (page_prefixedtitle ) | 'Firebase Cloud Messaging' |
Edit protection level of the page (page_restrictions_edit ) | [] |
Last ten users to contribute to the page (page_recent_contributors ) | [
0 => '188.236.166.169',
1 => 'AnomieBOT',
2 => 'Wi24rd',
3 => 'Cristian44zz',
4 => 'Strugglehouse',
5 => 'Citation bot',
6 => 'Hrichik.m',
7 => 'Sam sepi0l.wmv',
8 => 'StarryNightSky11',
9 => '2601:601:CB80:1030:3DFB:C830:C69A:93BB'
] |
Page age in seconds (page_age ) | 236281604 |
Action (action ) | 'edit' |
Edit summary/reason (summary ) | '' |
Old content model (old_content_model ) | 'wikitext' |
New content model (new_content_model ) | 'wikitext' |
Old page wikitext, before the edit (old_wikitext ) | '{{Short description|Telecommunication service}}
{{Use mdy dates|date=June 2019}}
{{Infobox software platform
| name = Firebase Cloud Messaging
| icon =
| image =
| caption =
| developer = [[Firebase]]
| target =
| editor =
| runtime =
| format =
| language = -
| application = [[Notification service]]
| status = Offline{{CN|date=October 2023}}
| license = Access
| website = {{URL|https://firebase.google.com/products/cloud-messaging/}}
}}
'''Firebase Cloud Messaging''' ('''FCM'''), formerly known as [[Google Cloud Messaging]] (GCM), is a cross-platform cloud service for messages and [[Notification service|notifications]] for [[Android (operating system)|Android]], [[iOS]], and [[web application]]s, which as of May 2023 can be used at no cost.<ref>{{Cite web|url=https://firebase.google.com/docs/cloud-messaging/|title=Firebase Cloud Messaging|website=Google Developers|language=en|access-date=2021-04-04}}</ref> Firebase Cloud Messaging allows third-party application developers to send notifications or messages from servers hosted by FCM to users of the platform or [[end user]]s.
The service is provided by [[Firebase]], a subsidiary of [[Google]]. On October 21, 2014, Firebase announced it had been acquired by Google for an undisclosed amount.<ref name="google">{{cite web|url=https://firebase.googleblog.com/2014/10/firebase-is-joining-google.html|title=Firebase is Joining Google!|publisher=Firebase, Inc|author=Tamplin, James|access-date=October 21, 2014}}</ref> The official Google Cloud Messaging website points to Firebase Cloud Messaging (FCM) as the new version of GCM.<ref>{{cite web |title=Google Cloud Messaging - official website |access-date=July 20, 2016 |url=https://developers.google.com/cloud-messaging/}}</ref> Firebase is a mobile platform which supports users in developing mobile and web applications. Firebase Cloud Messaging is one of many products which are part of the Firebase platform. On the platform users can integrate and combine different Firebase features in both web and mobile applications.
==Technical Details==
Firebase Cloud Messaging sends notifications and messages to devices which have installed specific Firebase-enabled apps. Adding support for FCM to an application requires multiple steps: add support to the Android Studio project, obtain registration tokens and implement handlers to identify message notifications.<ref name=":8">Yilmaz, Y. S., Aydin, B. I., & Demirbas, M. (2014, December). Google cloud messaging (GCM): An evaluation. In 2014 IEEE Global Communications Conference (pp. 2807-2812). IEEE.</ref> The message notifications can be sent via the Firebase console with a select user segmentation option.
===FCM Architecture===
The FCM Architecture includes three components: FCM connection server, a Trusted environment with an application server based on HTTP or XMPP and cloud functionality, and a Client application. Sending and receiving messages require a secured environment or server to build, direct and send messages, and an iOS, Android or web client application to receive messages.<ref name=":9">Mokar, M. A., Fageeri, S. O., & Fattoh, S. E. (2019, September). Using Firebase Cloud Messaging to Control Mobile Applications. In 2019 International Conference on Computer, Control, Electrical, and Electronics Engineering (ICCCEEE) (pp. 1-5). IEEE</ref> There are two types of messages developers can send with FCM; notification messages and data messages. Notification messages are messages displayed on the device by FCM and are automatically managed by the FCM SDK. Data messages are processed by the client application.<ref>{{Cite web|title=About FCM messages|url=https://firebase.google.com/docs/cloud-messaging/concept-options|access-date=2020-11-17|website=Firebase|language=en}}</ref> Therefore, Notification messages are used when the developer requires FCM to handle the notification display for the client applications. Data messages will be used when the developer requires the messages to be processed on the client application. [[File:Firebase cloud messaging architecture.png|thumb|Firebase cloud messaging architecture]]
FCM can deliver target messages to applications via three methods: to a single device, to a device group or to devices which are subscribed to topics. Developers build and send targeted messages to a select group of users on the ‘Notification composer.’ <ref name=":8"/> Messages sent with FCM are integrated with Google Analytics to track user conversion and engagement. <ref>{{Cite web|title=Google Analytics for Firebase|url=https://firebase.google.com/docs/analytics|access-date=2023-05-15|website=Firebase|language=en}}</ref>
===Implementation===
The implementation process has two key components. First, a secure environment to send and receive messages is required for FCM or other application servers to facilitate message transaction. Second, a client application of possible types, iOS, Android or web (javaScript), which is also compatible with the selected platform service is needed.
The implementation path for FCM is initiated with the FCM SDK setup following the instructions prescribed for the decided platform. Following setup, the client application must be developed. On the client app, add message handling, topic subscription logic and other required features. During this step, test messages can also be sent from the Notifications composer. The application server is developed next to build the sending logic. The base server environment is created without code.<ref name=":4">Kantamani, S. (2020). Firebase Cloud Messaging. Retrieved 7 September 2020, from https://medium.com/developermind/using-firebase-cloud-messaging-for-remote-notifications-in-ios-d35de1dc67b2</ref>
=== Architecture Flow ===
Registration of the device and setting it up to enable message reception from FCM is first required. The client application instance will be registered and assigned a registration token or FCM Token, which is issued by the FCM connection servers that will provide the application instance (app instance) a unique identifier. The app instance is then able to send and receive downstream messages. Downstream messaging refers to the sending of a push notification from the application server towards the client application. This process involves four steps. First, after a message is created on the Notifications composer or in another secure environment, a request for the message will be sent to the FCM backend. Second, the FCM backend will receive and accept the message request and prepare the messages for each specified topic, create message metadata such as a message ID and send it to a transport layer, specific to the platform. Third, the message will be sent through the platform-specific transport layer to an online device. The platform-level transport layer is responsible for routing the message to a specific device, handling the delivery of the message and applying specific configurations to the platform. Fourth, the client application will receive the notification or message via their device. <ref>{{Cite web|title=FCM Architectural Overview|url=https://firebase.google.com/docs/cloud-messaging/fcm-architecture|access-date=2020-11-17|website=Firebase|language=en}}</ref>
==Additional Features and Tools==
===Analytics===
Firebase offers free and unrestricted analytics tools to assist the user gain insights into the 'ad click' & 'application usage' of end customers. In conjunction with other Firebase features, Firebase Analytics allows the user to explore and use on a range of functionalities such as click-through rates to app crashes.<ref name=":10">Sharma, R. (2020). What is GCM and FCM? (Differences and Limitations). Retrieved 2 October 2020, from https://www.izooto.com/blog/everything-that-you-need-to-know-about-firebase-cloud-messaging-platform</ref>
===Firebase Remote Config===
It is a simple key-value store that lives in the cloud and enables the user to implement modifications which can be read by the application. The Firebase Remote Config also includes an audience builder, in addition to the basic feature, which helps the user create custom audiences and perform A / B testing.<ref name=":10" />
===Cross-Platform Support===
APIs packaged into single SDKs for iOS, Android, JavaScript and C++ in conjunction with the cross-platform support provided by FCM allow the developer to expand across different platforms without infrastructure modification.<ref name=":10" />
===Web Push Support===
Developers can implement the standard IETF Web Push APIs and being to target web browsers. On Chrome, developers can send messages to Chrome on Android or Chrome pages in Mac, Windows and Linux. Added features for web push support include Topic Messaging and the ability to send messages to Topic Combinations.<ref name=":10" />
===Topic Messaging===
Developers can send a single message to multiple devices. It is a method of notification to users with common interest topics such as sports events, artists, music genres. Developers need to publish a message to FCM, which is automatically delivered to devices subscribed to the select topic. Subscriber count on a single topic or multiple topics are not limited on the application.<ref name=":10" />
===Topic Combination Messaging===
If users are subscribed to different topics, to prevent publishing the same message across different topics and users from receiving duplicate messages, developers can use the updated API. Developers can set specific conditions for FCM to deliver the message only to users who meet the condition criteria.<ref name=":10" />
=== Message Delivery Reports ===
Message Delivery Reports (MDR) are generated by FCM's reporting tool which allows developers to obtain analytical insights into the message delivery. In the MDR, developers can evaluate the reach of the sent messages to specific users by viewing the data for messages to different FCM SDKs (Android, iOS). <ref name=":1">{{Cite web|title=Understanding message delivery|url=https://firebase.google.com/docs/cloud-messaging/understand-delivery|access-date=2020-11-17|website=Firebase|language=en}}</ref>
=== Notification Funnel Analysis ===
A Notification Funnel Analysis (NFA) is built into the FCM platform. By using this tool, developers can view user behaviour and trends from data around responses to particular notifications. The types of notification data which can be analysed are "Notifications Sent", "Notifications Opened" and number of unique users. An analysis report can be pulled from the NFA. Developers can also customise and build the notification funnels. <ref name=":1" />
== Key Concerns ==
=== Security Concerns ===
FCM shortens the design and implementation process for mobile applications. Due to the available functionality of sending test messages through the Notifications Composer in the Firebase console, the testing process is also shortened. Cloud-based messaging solutions also have security and privacy risks which need to be mitigated and considered before implementation into a project. The development of cloud computing involves an open network structure and elastic pooling of shared resources which increases the need for cloud security measures to be established.<ref name=":0" />
A security concern is the potential exploitation of server keys which are stored in the FCM’s [[Android application package]] (APK) files. If exploited, this allows the distribution of push notification messages to any and all users on the Firebase platform. GCM has previously reported security vulnerabilities where phishing and malicious advertisement activities have occurred.
Protection against security threats involves multiple steps and can lead to additional implications. Deactivating the Cloud Messaging service will prevent immediate transactions. However, this could potentially stop other applications installed on the blocked device which rely on the FCM service.<ref name=":0">{{Cite journal|last1=Esposito|first1=Christian|last2=Palmieri|first2=Francesco|last3=Choo|first3=Kim-Kwang Raymond|date=March 2018|title=Cloud Message Queueing and Notification: Challenges and Opportunities|url=http://dx.doi.org/10.1109/mcc.2018.022171662|journal=IEEE Cloud Computing|volume=5|issue=2|pages=11–16|doi=10.1109/mcc.2018.022171662|s2cid=19248242|issn=2325-6095}}</ref> A possible solution is to block a specific notification channel or unsubscribe from a topic. Other solutions involve setting up message traffic notification systems to detect malicious information being messaged through the FCM service platform.<ref>{{Cite book|last1=Li|first1=Na|last2=Du|first2=Yanhui|last3=Chen|first3=Guangxuan|title=2013 International Conference on Information Science and Cloud Computing Companion |chapter=Survey of Cloud Messaging Push Notification Service |date=December 2013|chapter-url=http://dx.doi.org/10.1109/iscc-c.2013.132|pages=273–279|publisher=IEEE|doi=10.1109/iscc-c.2013.132|isbn=978-1-4799-5245-8|s2cid=15771293}}</ref> To implement this solution additional steps are required. The user needs to identify at the start, the connection channel or topic potentially used by the malicious application.
=== Privacy Concerns ===
Cloud-based messaging also poses privacy risks and issues. [[Black hat (computer security)|Black hat hackers]] may be able to breach the security of the Firebase Cloud Messaging platform and acquire the registration ID of the user’s application or other sensitive information. Security compromise examples include private messages on a user’s social media account being pushed to the hacker’s device.To ensure the privacy of the platform, the user can build end-to-end protection schemes around the open communication channels provided by the Cloud Messaging Services, which are unsecure. FCM provides users with payload encryption.<ref name=":0" />
==References==
{{reflist}}
==External links==
* [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging - official website]
* [https://developers.google.com/cloud-messaging/ Google Cloud Messaging - official website]
* [https://developers.google.com/cloud-messaging/faq GCM and FCM Frequently Asked Questions]
[[Category:Mobile telecommunication services]]
[[Category:Google Cloud]]' |
New page wikitext, after the edit (new_wikitext ) | '{{Short description|Telecommunication service}}
{{Use mdy dates|date=June 2019}}
{{Infobox software platform
| name = Firebase Cloud Messaging
| icon =
| image =
| caption =
| developer = [[Firebase]]
| target =
| editor =
| runtime =
| format =
| language = -
| application = [[Notification service]]
| status = Offline{{CN|date=October 2023}}
| license = Access
| website = {{URL|https://firebase.google.com/products/cloud-messaging/}}
}}
'''Firebase Cloud Messaging''' ('''FCM'''), formerly known as [[Google Cloud Messaging]] (GCM), is a cross-platform cloud service for messages and [[Notification service|notifications]] for [[Android (operating system)|Android]], [[iOS]], and [[web application]]s, which as of May 2023 can be used at no cost.<ref>{{Cite web|url=https://firebase.google.com/docs/cloud-messaging/|title=Firebase Cloud Messaging|website=Google Developers|language=en|access-date=2021-04-04}}</ref> Firebase Cloud Messaging allows third-party application developers to send notifications or messages from servers hosted by FCM to users of the platform or [[end user]]s.
The service is provided by [[Firebase]], a subsidiary of [[Google]]. On October 21, 2014, Firebase announced it had been acquired by Google for an undisclosed amount.<ref name="google">{{cite web|url=https://firebase.googleblog.com/2014/10/firebase-is-joining-google.html|title=Firebase is Joining Google!|publisher=Firebase, Inc|author=Tamplin, James|access-date=October 21, 2014}}</ref> The official Google Cloud Messaging website points to Firebase Cloud Messaging (FCM) as the new version of GCM.<ref>{{cite web |title=Google Cloud Messaging - official website |access-date=July 20, 2016 |url=https://developers.google.com/cloud-messaging/}}</ref> Firebase is a mobile platform which supports users in developing mobile and web applications. Firebase Cloud Messaging is one of many products which are part of the Firebase platform. On the platform users can integrate and combine different Firebase features in both web and mobile applications.
==Additional Features and Tools==
===Analytics===
Firebase offers free and unrestricted analytics tools to assist the user gain insights into the 'ad click' & 'application usage' of end customers. In conjunction with other Firebase features, Firebase Analytics allows the user to explore and use on a range of functionalities such as click-through rates to app crashes.<ref name=":10">Sharma, R. (2020). What is GCM and FCM? (Differences and Limitations). Retrieved 2 October 2020, from https://www.izooto.com/blog/everything-that-you-need-to-know-about-firebase-cloud-messaging-platform</ref>
===Firebase Remote Config===
It is a simple key-value store that lives in the cloud and enables the user to implement modifications which can be read by the application. The Firebase Remote Config also includes an audience builder, in addition to the basic feature, which helps the user create custom audiences and perform A / B testing.<ref name=":10" />
===Cross-Platform Support===
APIs packaged into single SDKs for iOS, Android, JavaScript and C++ in conjunction with the cross-platform support provided by FCM allow the developer to expand across different platforms without infrastructure modification.<ref name=":10" />
===Web Push Support===
Developers can implement the standard IETF Web Push APIs and being to target web browsers. On Chrome, developers can send messages to Chrome on Android or Chrome pages in Mac, Windows and Linux. Added features for web push support include Topic Messaging and the ability to send messages to Topic Combinations.<ref name=":10" />
===Topic Messaging===
Developers can send a single message to multiple devices. It is a method of notification to users with common interest topics such as sports events, artists, music genres. Developers need to publish a message to FCM, which is automatically delivered to devices subscribed to the select topic. Subscriber count on a single topic or multiple topics are not limited on the application.<ref name=":10" />
===Topic Combination Messaging===
If users are subscribed to different topics, to prevent publishing the same message across different topics and users from receiving duplicate messages, developers can use the updated API. Developers can set specific conditions for FCM to deliver the message only to users who meet the condition criteria.<ref name=":10" />
=== Message Delivery Reports ===
Message Delivery Reports (MDR) are generated by FCM's reporting tool which allows developers to obtain analytical insights into the message delivery. In the MDR, developers can evaluate the reach of the sent messages to specific users by viewing the data for messages to different FCM SDKs (Android, iOS). <ref name=":1">{{Cite web|title=Understanding message delivery|url=https://firebase.google.com/docs/cloud-messaging/understand-delivery|access-date=2020-11-17|website=Firebase|language=en}}</ref>
=== Notification Funnel Analysis ===
A Notification Funnel Analysis (NFA) is built into the FCM platform. By using this tool, developers can view user behaviour and trends from data around responses to particular notifications. The types of notification data which can be analysed are "Notifications Sent", "Notifications Opened" and number of unique users. An analysis report can be pulled from the NFA. Developers can also customise and build the notification funnels. <ref name=":1" />
== Key Concerns ==
=== Security Concerns ===
FCM shortens the design and implementation process for mobile applications. Due to the available functionality of sending test messages through the Notifications Composer in the Firebase console, the testing process is also shortened. Cloud-based messaging solutions also have security and privacy risks which need to be mitigated and considered before implementation into a project. The development of cloud computing involves an open network structure and elastic pooling of shared resources which increases the need for cloud security measures to be established.<ref name=":0" />
A security concern is the potential exploitation of server keys which are stored in the FCM’s [[Android application package]] (APK) files. If exploited, this allows the distribution of push notification messages to any and all users on the Firebase platform. GCM has previously reported security vulnerabilities where phishing and malicious advertisement activities have occurred.
Protection against security threats involves multiple steps and can lead to additional implications. Deactivating the Cloud Messaging service will prevent immediate transactions. However, this could potentially stop other applications installed on the blocked device which rely on the FCM service.<ref name=":0">{{Cite journal|last1=Esposito|first1=Christian|last2=Palmieri|first2=Francesco|last3=Choo|first3=Kim-Kwang Raymond|date=March 2018|title=Cloud Message Queueing and Notification: Challenges and Opportunities|url=http://dx.doi.org/10.1109/mcc.2018.022171662|journal=IEEE Cloud Computing|volume=5|issue=2|pages=11–16|doi=10.1109/mcc.2018.022171662|s2cid=19248242|issn=2325-6095}}</ref> A possible solution is to block a specific notification channel or unsubscribe from a topic. Other solutions involve setting up message traffic notification systems to detect malicious information being messaged through the FCM service platform.<ref>{{Cite book|last1=Li|first1=Na|last2=Du|first2=Yanhui|last3=Chen|first3=Guangxuan|title=2013 International Conference on Information Science and Cloud Computing Companion |chapter=Survey of Cloud Messaging Push Notification Service |date=December 2013|chapter-url=http://dx.doi.org/10.1109/iscc-c.2013.132|pages=273–279|publisher=IEEE|doi=10.1109/iscc-c.2013.132|isbn=978-1-4799-5245-8|s2cid=15771293}}</ref> To implement this solution additional steps are required. The user needs to identify at the start, the connection channel or topic potentially used by the malicious application.
=== Privacy Concerns ===
Cloud-based messaging also poses privacy risks and issues. [[Black hat (computer security)|Black hat hackers]] may be able to breach the security of the Firebase Cloud Messaging platform and acquire the registration ID of the user’s application or other sensitive information. Security compromise examples include private messages on a user’s social media account being pushed to the hacker’s device.To ensure the privacy of the platform, the user can build end-to-end protection schemes around the open communication channels provided by the Cloud Messaging Services, which are unsecure. FCM provides users with payload encryption.<ref name=":0" />
==References==
{{reflist}}
==External links==
* [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging - official website]
* [https://developers.google.com/cloud-messaging/ Google Cloud Messaging - official website]
* [https://developers.google.com/cloud-messaging/faq GCM and FCM Frequently Asked Questions]
[[Category:Mobile telecommunication services]]
[[Category:Google Cloud]]' |
Unified diff of changes made by edit (edit_diff ) | '@@ -21,20 +21,4 @@
The service is provided by [[Firebase]], a subsidiary of [[Google]]. On October 21, 2014, Firebase announced it had been acquired by Google for an undisclosed amount.<ref name="google">{{cite web|url=https://firebase.googleblog.com/2014/10/firebase-is-joining-google.html|title=Firebase is Joining Google!|publisher=Firebase, Inc|author=Tamplin, James|access-date=October 21, 2014}}</ref> The official Google Cloud Messaging website points to Firebase Cloud Messaging (FCM) as the new version of GCM.<ref>{{cite web |title=Google Cloud Messaging - official website |access-date=July 20, 2016 |url=https://developers.google.com/cloud-messaging/}}</ref> Firebase is a mobile platform which supports users in developing mobile and web applications. Firebase Cloud Messaging is one of many products which are part of the Firebase platform. On the platform users can integrate and combine different Firebase features in both web and mobile applications.
-
-==Technical Details==
-Firebase Cloud Messaging sends notifications and messages to devices which have installed specific Firebase-enabled apps. Adding support for FCM to an application requires multiple steps: add support to the Android Studio project, obtain registration tokens and implement handlers to identify message notifications.<ref name=":8">Yilmaz, Y. S., Aydin, B. I., & Demirbas, M. (2014, December). Google cloud messaging (GCM): An evaluation. In 2014 IEEE Global Communications Conference (pp. 2807-2812). IEEE.</ref> The message notifications can be sent via the Firebase console with a select user segmentation option.
-
-===FCM Architecture===
-The FCM Architecture includes three components: FCM connection server, a Trusted environment with an application server based on HTTP or XMPP and cloud functionality, and a Client application. Sending and receiving messages require a secured environment or server to build, direct and send messages, and an iOS, Android or web client application to receive messages.<ref name=":9">Mokar, M. A., Fageeri, S. O., & Fattoh, S. E. (2019, September). Using Firebase Cloud Messaging to Control Mobile Applications. In 2019 International Conference on Computer, Control, Electrical, and Electronics Engineering (ICCCEEE) (pp. 1-5). IEEE</ref> There are two types of messages developers can send with FCM; notification messages and data messages. Notification messages are messages displayed on the device by FCM and are automatically managed by the FCM SDK. Data messages are processed by the client application.<ref>{{Cite web|title=About FCM messages|url=https://firebase.google.com/docs/cloud-messaging/concept-options|access-date=2020-11-17|website=Firebase|language=en}}</ref> Therefore, Notification messages are used when the developer requires FCM to handle the notification display for the client applications. Data messages will be used when the developer requires the messages to be processed on the client application. [[File:Firebase cloud messaging architecture.png|thumb|Firebase cloud messaging architecture]]
-
-FCM can deliver target messages to applications via three methods: to a single device, to a device group or to devices which are subscribed to topics. Developers build and send targeted messages to a select group of users on the ‘Notification composer.’ <ref name=":8"/> Messages sent with FCM are integrated with Google Analytics to track user conversion and engagement. <ref>{{Cite web|title=Google Analytics for Firebase|url=https://firebase.google.com/docs/analytics|access-date=2023-05-15|website=Firebase|language=en}}</ref>
-
-===Implementation===
-The implementation process has two key components. First, a secure environment to send and receive messages is required for FCM or other application servers to facilitate message transaction. Second, a client application of possible types, iOS, Android or web (javaScript), which is also compatible with the selected platform service is needed.
-
-The implementation path for FCM is initiated with the FCM SDK setup following the instructions prescribed for the decided platform. Following setup, the client application must be developed. On the client app, add message handling, topic subscription logic and other required features. During this step, test messages can also be sent from the Notifications composer. The application server is developed next to build the sending logic. The base server environment is created without code.<ref name=":4">Kantamani, S. (2020). Firebase Cloud Messaging. Retrieved 7 September 2020, from https://medium.com/developermind/using-firebase-cloud-messaging-for-remote-notifications-in-ios-d35de1dc67b2</ref>
-
-=== Architecture Flow ===
-Registration of the device and setting it up to enable message reception from FCM is first required. The client application instance will be registered and assigned a registration token or FCM Token, which is issued by the FCM connection servers that will provide the application instance (app instance) a unique identifier. The app instance is then able to send and receive downstream messages. Downstream messaging refers to the sending of a push notification from the application server towards the client application. This process involves four steps. First, after a message is created on the Notifications composer or in another secure environment, a request for the message will be sent to the FCM backend. Second, the FCM backend will receive and accept the message request and prepare the messages for each specified topic, create message metadata such as a message ID and send it to a transport layer, specific to the platform. Third, the message will be sent through the platform-specific transport layer to an online device. The platform-level transport layer is responsible for routing the message to a specific device, handling the delivery of the message and applying specific configurations to the platform. Fourth, the client application will receive the notification or message via their device. <ref>{{Cite web|title=FCM Architectural Overview|url=https://firebase.google.com/docs/cloud-messaging/fcm-architecture|access-date=2020-11-17|website=Firebase|language=en}}</ref>
==Additional Features and Tools==
' |
New page size (new_size ) | 9134 |
Old page size (old_size ) | 14339 |
Size change in edit (edit_delta ) | -5205 |
Lines added in edit (added_lines ) | [] |
Lines removed in edit (removed_lines ) | [
0 => '',
1 => '==Technical Details==',
2 => 'Firebase Cloud Messaging sends notifications and messages to devices which have installed specific Firebase-enabled apps. Adding support for FCM to an application requires multiple steps: add support to the Android Studio project, obtain registration tokens and implement handlers to identify message notifications.<ref name=":8">Yilmaz, Y. S., Aydin, B. I., & Demirbas, M. (2014, December). Google cloud messaging (GCM): An evaluation. In 2014 IEEE Global Communications Conference (pp. 2807-2812). IEEE.</ref> The message notifications can be sent via the Firebase console with a select user segmentation option.',
3 => '',
4 => '===FCM Architecture===',
5 => 'The FCM Architecture includes three components: FCM connection server, a Trusted environment with an application server based on HTTP or XMPP and cloud functionality, and a Client application. Sending and receiving messages require a secured environment or server to build, direct and send messages, and an iOS, Android or web client application to receive messages.<ref name=":9">Mokar, M. A., Fageeri, S. O., & Fattoh, S. E. (2019, September). Using Firebase Cloud Messaging to Control Mobile Applications. In 2019 International Conference on Computer, Control, Electrical, and Electronics Engineering (ICCCEEE) (pp. 1-5). IEEE</ref> There are two types of messages developers can send with FCM; notification messages and data messages. Notification messages are messages displayed on the device by FCM and are automatically managed by the FCM SDK. Data messages are processed by the client application.<ref>{{Cite web|title=About FCM messages|url=https://firebase.google.com/docs/cloud-messaging/concept-options|access-date=2020-11-17|website=Firebase|language=en}}</ref> Therefore, Notification messages are used when the developer requires FCM to handle the notification display for the client applications. Data messages will be used when the developer requires the messages to be processed on the client application. [[File:Firebase cloud messaging architecture.png|thumb|Firebase cloud messaging architecture]]',
6 => '',
7 => 'FCM can deliver target messages to applications via three methods: to a single device, to a device group or to devices which are subscribed to topics. Developers build and send targeted messages to a select group of users on the ‘Notification composer.’ <ref name=":8"/> Messages sent with FCM are integrated with Google Analytics to track user conversion and engagement. <ref>{{Cite web|title=Google Analytics for Firebase|url=https://firebase.google.com/docs/analytics|access-date=2023-05-15|website=Firebase|language=en}}</ref>',
8 => '',
9 => '===Implementation===',
10 => 'The implementation process has two key components. First, a secure environment to send and receive messages is required for FCM or other application servers to facilitate message transaction. Second, a client application of possible types, iOS, Android or web (javaScript), which is also compatible with the selected platform service is needed.',
11 => '',
12 => 'The implementation path for FCM is initiated with the FCM SDK setup following the instructions prescribed for the decided platform. Following setup, the client application must be developed. On the client app, add message handling, topic subscription logic and other required features. During this step, test messages can also be sent from the Notifications composer. The application server is developed next to build the sending logic. The base server environment is created without code.<ref name=":4">Kantamani, S. (2020). Firebase Cloud Messaging. Retrieved 7 September 2020, from https://medium.com/developermind/using-firebase-cloud-messaging-for-remote-notifications-in-ios-d35de1dc67b2</ref>',
13 => '',
14 => '=== Architecture Flow ===',
15 => 'Registration of the device and setting it up to enable message reception from FCM is first required. The client application instance will be registered and assigned a registration token or FCM Token, which is issued by the FCM connection servers that will provide the application instance (app instance) a unique identifier. The app instance is then able to send and receive downstream messages. Downstream messaging refers to the sending of a push notification from the application server towards the client application. This process involves four steps. First, after a message is created on the Notifications composer or in another secure environment, a request for the message will be sent to the FCM backend. Second, the FCM backend will receive and accept the message request and prepare the messages for each specified topic, create message metadata such as a message ID and send it to a transport layer, specific to the platform. Third, the message will be sent through the platform-specific transport layer to an online device. The platform-level transport layer is responsible for routing the message to a specific device, handling the delivery of the message and applying specific configurations to the platform. Fourth, the client application will receive the notification or message via their device. <ref>{{Cite web|title=FCM Architectural Overview|url=https://firebase.google.com/docs/cloud-messaging/fcm-architecture|access-date=2020-11-17|website=Firebase|language=en}}</ref>'
] |
All external links added in the edit (added_links ) | [] |
All external links removed in the edit (removed_links ) | [
0 => 'https://firebase.google.com/docs/cloud-messaging/concept-options',
1 => 'https://firebase.google.com/docs/cloud-messaging/fcm-architecture',
2 => 'https://medium.com/developermind/using-firebase-cloud-messaging-for-remote-notifications-in-ios-d35de1dc67b2',
3 => 'https://firebase.google.com/docs/analytics'
] |
All external links in the new text (all_links ) | [
0 => 'https://firebase.google.com/docs/cloud-messaging/',
1 => 'https://firebase.googleblog.com/2014/10/firebase-is-joining-google.html',
2 => 'https://developers.google.com/cloud-messaging/',
3 => 'https://firebase.google.com/docs/cloud-messaging/understand-delivery',
4 => 'http://dx.doi.org/10.1109/mcc.2018.022171662',
5 => 'https://doi.org/10.1109%2Fmcc.2018.022171662',
6 => 'https://www.worldcat.org/issn/2325-6095',
7 => 'https://api.semanticscholar.org/CorpusID:19248242',
8 => 'http://dx.doi.org/10.1109/iscc-c.2013.132',
9 => 'https://doi.org/10.1109%2Fiscc-c.2013.132',
10 => 'https://api.semanticscholar.org/CorpusID:15771293',
11 => 'https://www.izooto.com/blog/everything-that-you-need-to-know-about-firebase-cloud-messaging-platform',
12 => 'https://firebase.google.com/products/cloud-messaging/',
13 => 'https://developers.google.com/cloud-messaging/faq'
] |
Links in the page, before the edit (old_links ) | [
0 => 'https://firebase.google.com/docs/cloud-messaging/',
1 => 'https://developers.google.com/cloud-messaging/',
2 => 'https://developers.google.com/cloud-messaging/faq',
3 => 'https://firebase.googleblog.com/2014/10/firebase-is-joining-google.html',
4 => 'https://www.izooto.com/blog/everything-that-you-need-to-know-about-firebase-cloud-messaging-platform',
5 => 'http://dx.doi.org/10.1109/mcc.2018.022171662',
6 => 'http://dx.doi.org/10.1109/iscc-c.2013.132',
7 => 'https://firebase.google.com/docs/cloud-messaging/concept-options',
8 => 'https://firebase.google.com/docs/cloud-messaging/fcm-architecture',
9 => 'https://firebase.google.com/docs/cloud-messaging/understand-delivery',
10 => 'https://api.semanticscholar.org/CorpusID:19248242',
11 => 'https://api.semanticscholar.org/CorpusID:15771293',
12 => 'https://firebase.google.com/products/cloud-messaging/',
13 => 'https://doi.org/10.1109%2Fmcc.2018.022171662',
14 => 'https://www.worldcat.org/issn/2325-6095',
15 => 'https://doi.org/10.1109%2Fiscc-c.2013.132',
16 => 'https://medium.com/developermind/using-firebase-cloud-messaging-for-remote-notifications-in-ios-d35de1dc67b2',
17 => 'https://firebase.google.com/docs/analytics'
] |
Parsed HTML source of the new revision (new_html ) | '<div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Telecommunication service</div>
<p class="mw-empty-elt">
</p>
<style data-mw-deduplicate="TemplateStyles:r1066479718">.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}body.skin-minerva .mw-parser-output .infobox-header,body.skin-minerva .mw-parser-output .infobox-subheader,body.skin-minerva .mw-parser-output .infobox-above,body.skin-minerva .mw-parser-output .infobox-title,body.skin-minerva .mw-parser-output .infobox-image,body.skin-minerva .mw-parser-output .infobox-full-data,body.skin-minerva .mw-parser-output .infobox-below{text-align:center}</style><table class="infobox vevent"><caption class="infobox-title summary">Firebase Cloud Messaging</caption><tbody><tr><th scope="row" class="infobox-label"><a href="/enwiki/wiki/Software_developer" class="mw-redirect" title="Software developer">Developer(s)</a></th><td class="infobox-data"><a href="/enwiki/wiki/Firebase" title="Firebase">Firebase</a></td></tr><tr><th scope="row" class="infobox-label"><a href="/enwiki/wiki/Programming_language" title="Programming language">Programming language(s)</a></th><td class="infobox-data">-</td></tr><tr><th scope="row" class="infobox-label">Application(s)</th><td class="infobox-data"><a href="/enwiki/wiki/Notification_service" title="Notification service">Notification service</a></td></tr><tr><th scope="row" class="infobox-label">Status</th><td class="infobox-data">Offline<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/enwiki/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (October 2023)">citation needed</span></a></i>]</sup></td></tr><tr><th scope="row" class="infobox-label">License</th><td class="infobox-data">Access</td></tr><tr><th scope="row" class="infobox-label">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://firebase.google.com/products/cloud-messaging/">firebase<wbr />.google<wbr />.com<wbr />/products<wbr />/cloud-messaging<wbr />/</a></span></td></tr></tbody></table>
<p><b>Firebase Cloud Messaging</b> (<b>FCM</b>), formerly known as <a href="/enwiki/wiki/Google_Cloud_Messaging" title="Google Cloud Messaging">Google Cloud Messaging</a> (GCM), is a cross-platform cloud service for messages and <a href="/enwiki/wiki/Notification_service" title="Notification service">notifications</a> for <a href="/enwiki/wiki/Android_(operating_system)" title="Android (operating system)">Android</a>, <a href="/enwiki/wiki/IOS" title="IOS">iOS</a>, and <a href="/enwiki/wiki/Web_application" title="Web application">web applications</a>, which as of May 2023 can be used at no cost.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup> Firebase Cloud Messaging allows third-party application developers to send notifications or messages from servers hosted by FCM to users of the platform or <a href="/enwiki/wiki/End_user" title="End user">end users</a>.
</p><p>The service is provided by <a href="/enwiki/wiki/Firebase" title="Firebase">Firebase</a>, a subsidiary of <a href="/enwiki/wiki/Google" title="Google">Google</a>. On October 21, 2014, Firebase announced it had been acquired by Google for an undisclosed amount.<sup id="cite_ref-google_2-0" class="reference"><a href="#cite_note-google-2">[2]</a></sup> The official Google Cloud Messaging website points to Firebase Cloud Messaging (FCM) as the new version of GCM.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3">[3]</a></sup> Firebase is a mobile platform which supports users in developing mobile and web applications. Firebase Cloud Messaging is one of many products which are part of the Firebase platform. On the platform users can integrate and combine different Firebase features in both web and mobile applications.
</p>
<div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#Additional_Features_and_Tools"><span class="tocnumber">1</span> <span class="toctext">Additional Features and Tools</span></a>
<ul>
<li class="toclevel-2 tocsection-2"><a href="#Analytics"><span class="tocnumber">1.1</span> <span class="toctext">Analytics</span></a></li>
<li class="toclevel-2 tocsection-3"><a href="#Firebase_Remote_Config"><span class="tocnumber">1.2</span> <span class="toctext">Firebase Remote Config</span></a></li>
<li class="toclevel-2 tocsection-4"><a href="#Cross-Platform_Support"><span class="tocnumber">1.3</span> <span class="toctext">Cross-Platform Support</span></a></li>
<li class="toclevel-2 tocsection-5"><a href="#Web_Push_Support"><span class="tocnumber">1.4</span> <span class="toctext">Web Push Support</span></a></li>
<li class="toclevel-2 tocsection-6"><a href="#Topic_Messaging"><span class="tocnumber">1.5</span> <span class="toctext">Topic Messaging</span></a></li>
<li class="toclevel-2 tocsection-7"><a href="#Topic_Combination_Messaging"><span class="tocnumber">1.6</span> <span class="toctext">Topic Combination Messaging</span></a></li>
<li class="toclevel-2 tocsection-8"><a href="#Message_Delivery_Reports"><span class="tocnumber">1.7</span> <span class="toctext">Message Delivery Reports</span></a></li>
<li class="toclevel-2 tocsection-9"><a href="#Notification_Funnel_Analysis"><span class="tocnumber">1.8</span> <span class="toctext">Notification Funnel Analysis</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-10"><a href="#Key_Concerns"><span class="tocnumber">2</span> <span class="toctext">Key Concerns</span></a>
<ul>
<li class="toclevel-2 tocsection-11"><a href="#Security_Concerns"><span class="tocnumber">2.1</span> <span class="toctext">Security Concerns</span></a></li>
<li class="toclevel-2 tocsection-12"><a href="#Privacy_Concerns"><span class="tocnumber">2.2</span> <span class="toctext">Privacy Concerns</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-13"><a href="#References"><span class="tocnumber">3</span> <span class="toctext">References</span></a></li>
<li class="toclevel-1 tocsection-14"><a href="#External_links"><span class="tocnumber">4</span> <span class="toctext">External links</span></a></li>
</ul>
</div>
<h2><span class="mw-headline" id="Additional_Features_and_Tools">Additional Features and Tools</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=1"title="Edit section: Additional Features and Tools"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h2>
<h3><span class="mw-headline" id="Analytics">Analytics</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=2"title="Edit section: Analytics"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h3>
<p>Firebase offers free and unrestricted analytics tools to assist the user gain insights into the 'ad click' & 'application usage' of end customers. In conjunction with other Firebase features, Firebase Analytics allows the user to explore and use on a range of functionalities such as click-through rates to app crashes.<sup id="cite_ref-:10_4-0" class="reference"><a href="#cite_note-:10-4">[4]</a></sup>
</p>
<h3><span class="mw-headline" id="Firebase_Remote_Config">Firebase Remote Config</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=3"title="Edit section: Firebase Remote Config"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h3>
<p>It is a simple key-value store that lives in the cloud and enables the user to implement modifications which can be read by the application. The Firebase Remote Config also includes an audience builder, in addition to the basic feature, which helps the user create custom audiences and perform A / B testing.<sup id="cite_ref-:10_4-1" class="reference"><a href="#cite_note-:10-4">[4]</a></sup>
</p>
<h3><span class="mw-headline" id="Cross-Platform_Support">Cross-Platform Support</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=4"title="Edit section: Cross-Platform Support"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h3>
<p>APIs packaged into single SDKs for iOS, Android, JavaScript and C++ in conjunction with the cross-platform support provided by FCM allow the developer to expand across different platforms without infrastructure modification.<sup id="cite_ref-:10_4-2" class="reference"><a href="#cite_note-:10-4">[4]</a></sup>
</p>
<h3><span class="mw-headline" id="Web_Push_Support">Web Push Support</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=5"title="Edit section: Web Push Support"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h3>
<p>Developers can implement the standard IETF Web Push APIs and being to target web browsers. On Chrome, developers can send messages to Chrome on Android or Chrome pages in Mac, Windows and Linux. Added features for web push support include Topic Messaging and the ability to send messages to Topic Combinations.<sup id="cite_ref-:10_4-3" class="reference"><a href="#cite_note-:10-4">[4]</a></sup>
</p>
<h3><span class="mw-headline" id="Topic_Messaging">Topic Messaging</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=6"title="Edit section: Topic Messaging"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h3>
<p>Developers can send a single message to multiple devices. It is a method of notification to users with common interest topics such as sports events, artists, music genres. Developers need to publish a message to FCM, which is automatically delivered to devices subscribed to the select topic. Subscriber count on a single topic or multiple topics are not limited on the application.<sup id="cite_ref-:10_4-4" class="reference"><a href="#cite_note-:10-4">[4]</a></sup>
</p>
<h3><span class="mw-headline" id="Topic_Combination_Messaging">Topic Combination Messaging</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=7"title="Edit section: Topic Combination Messaging"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h3>
<p>If users are subscribed to different topics, to prevent publishing the same message across different topics and users from receiving duplicate messages, developers can use the updated API. Developers can set specific conditions for FCM to deliver the message only to users who meet the condition criteria.<sup id="cite_ref-:10_4-5" class="reference"><a href="#cite_note-:10-4">[4]</a></sup>
</p>
<h3><span class="mw-headline" id="Message_Delivery_Reports">Message Delivery Reports</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=8"title="Edit section: Message Delivery Reports"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h3>
<p>Message Delivery Reports (MDR) are generated by FCM's reporting tool which allows developers to obtain analytical insights into the message delivery. In the MDR, developers can evaluate the reach of the sent messages to specific users by viewing the data for messages to different FCM SDKs (Android, iOS). <sup id="cite_ref-:1_5-0" class="reference"><a href="#cite_note-:1-5">[5]</a></sup>
</p>
<h3><span class="mw-headline" id="Notification_Funnel_Analysis">Notification Funnel Analysis</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=9"title="Edit section: Notification Funnel Analysis"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h3>
<p>A Notification Funnel Analysis (NFA) is built into the FCM platform. By using this tool, developers can view user behaviour and trends from data around responses to particular notifications. The types of notification data which can be analysed are "Notifications Sent", "Notifications Opened" and number of unique users. An analysis report can be pulled from the NFA. Developers can also customise and build the notification funnels. <sup id="cite_ref-:1_5-1" class="reference"><a href="#cite_note-:1-5">[5]</a></sup>
</p>
<h2><span class="mw-headline" id="Key_Concerns">Key Concerns</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=10"title="Edit section: Key Concerns"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h2>
<h3><span class="mw-headline" id="Security_Concerns">Security Concerns</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=11"title="Edit section: Security Concerns"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h3>
<p>FCM shortens the design and implementation process for mobile applications. Due to the available functionality of sending test messages through the Notifications Composer in the Firebase console, the testing process is also shortened. Cloud-based messaging solutions also have security and privacy risks which need to be mitigated and considered before implementation into a project. The development of cloud computing involves an open network structure and elastic pooling of shared resources which increases the need for cloud security measures to be established.<sup id="cite_ref-:0_6-0" class="reference"><a href="#cite_note-:0-6">[6]</a></sup>
</p><p>A security concern is the potential exploitation of server keys which are stored in the FCM’s <a href="/enwiki/wiki/Android_application_package" class="mw-redirect" title="Android application package">Android application package</a> (APK) files. If exploited, this allows the distribution of push notification messages to any and all users on the Firebase platform. GCM has previously reported security vulnerabilities where phishing and malicious advertisement activities have occurred.
</p><p>Protection against security threats involves multiple steps and can lead to additional implications. Deactivating the Cloud Messaging service will prevent immediate transactions. However, this could potentially stop other applications installed on the blocked device which rely on the FCM service.<sup id="cite_ref-:0_6-1" class="reference"><a href="#cite_note-:0-6">[6]</a></sup> A possible solution is to block a specific notification channel or unsubscribe from a topic. Other solutions involve setting up message traffic notification systems to detect malicious information being messaged through the FCM service platform.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7">[7]</a></sup> To implement this solution additional steps are required. The user needs to identify at the start, the connection channel or topic potentially used by the malicious application.
</p>
<h3><span class="mw-headline" id="Privacy_Concerns">Privacy Concerns</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=12"title="Edit section: Privacy Concerns"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h3>
<p>Cloud-based messaging also poses privacy risks and issues. <a href="/enwiki/wiki/Black_hat_(computer_security)" title="Black hat (computer security)">Black hat hackers</a> may be able to breach the security of the Firebase Cloud Messaging platform and acquire the registration ID of the user’s application or other sensitive information. Security compromise examples include private messages on a user’s social media account being pushed to the hacker’s device.To ensure the privacy of the platform, the user can build end-to-end protection schemes around the open communication channels provided by the Cloud Messaging Services, which are unsecure. FCM provides users with payload encryption.<sup id="cite_ref-:0_6-2" class="reference"><a href="#cite_note-:0-6">[6]</a></sup>
</p>
<h2><span class="mw-headline" id="References">References</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=13"title="Edit section: References"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h2>
<style data-mw-deduplicate="TemplateStyles:r1011085734">.mw-parser-output .reflist{font-size:90%;margin-bottom:0.5em;list-style-type:decimal}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1133582631">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:url("/upwiki/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("/upwiki/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:url("/upwiki/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("/upwiki/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://firebase.google.com/docs/cloud-messaging/">"Firebase Cloud Messaging"</a>. <i>Google Developers</i><span class="reference-accessdate">. Retrieved <span class="nowrap">April 4,</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Google+Developers&rft.atitle=Firebase+Cloud+Messaging&rft_id=https%3A%2F%2Ffirebase.google.com%2Fdocs%2Fcloud-messaging%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AFirebase+Cloud+Messaging" class="Z3988"></span></span>
</li>
<li id="cite_note-google-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-google_2-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1133582631"><cite id="CITEREFTamplin,_James" class="citation web cs1">Tamplin, James. <a rel="nofollow" class="external text" href="https://firebase.googleblog.com/2014/10/firebase-is-joining-google.html">"Firebase is Joining Google!"</a>. Firebase, Inc<span class="reference-accessdate">. Retrieved <span class="nowrap">October 21,</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Firebase+is+Joining+Google%21&rft.pub=Firebase%2C+Inc&rft.au=Tamplin%2C+James&rft_id=https%3A%2F%2Ffirebase.googleblog.com%2F2014%2F10%2Ffirebase-is-joining-google.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AFirebase+Cloud+Messaging" class="Z3988"></span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1133582631"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developers.google.com/cloud-messaging/">"Google Cloud Messaging - official website"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">July 20,</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Google+Cloud+Messaging+-+official+website&rft_id=https%3A%2F%2Fdevelopers.google.com%2Fcloud-messaging%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AFirebase+Cloud+Messaging" class="Z3988"></span></span>
</li>
<li id="cite_note-:10-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-:10_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:10_4-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-:10_4-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-:10_4-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-:10_4-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-:10_4-5"><sup><i><b>f</b></i></sup></a></span> <span class="reference-text">Sharma, R. (2020). What is GCM and FCM? (Differences and Limitations). Retrieved 2 October 2020, from <a rel="nofollow" class="external free" href="https://www.izooto.com/blog/everything-that-you-need-to-know-about-firebase-cloud-messaging-platform">https://www.izooto.com/blog/everything-that-you-need-to-know-about-firebase-cloud-messaging-platform</a></span>
</li>
<li id="cite_note-:1-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-:1_5-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:1_5-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1133582631"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://firebase.google.com/docs/cloud-messaging/understand-delivery">"Understanding message delivery"</a>. <i>Firebase</i><span class="reference-accessdate">. Retrieved <span class="nowrap">November 17,</span> 2020</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Firebase&rft.atitle=Understanding+message+delivery&rft_id=https%3A%2F%2Ffirebase.google.com%2Fdocs%2Fcloud-messaging%2Funderstand-delivery&rfr_id=info%3Asid%2Fen.wikipedia.org%3AFirebase+Cloud+Messaging" class="Z3988"></span></span>
</li>
<li id="cite_note-:0-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-:0_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:0_6-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-:0_6-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1133582631"><cite id="CITEREFEspositoPalmieriChoo2018" class="citation journal cs1">Esposito, Christian; Palmieri, Francesco; Choo, Kim-Kwang Raymond (March 2018). <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/mcc.2018.022171662">"Cloud Message Queueing and Notification: Challenges and Opportunities"</a>. <i>IEEE Cloud Computing</i>. <b>5</b> (2): 11–16. <a href="/enwiki/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2Fmcc.2018.022171662">10.1109/mcc.2018.022171662</a>. <a href="/enwiki/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://www.worldcat.org/issn/2325-6095">2325-6095</a>. <a href="/enwiki/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:19248242">19248242</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=IEEE+Cloud+Computing&rft.atitle=Cloud+Message+Queueing+and+Notification%3A+Challenges+and+Opportunities&rft.volume=5&rft.issue=2&rft.pages=11-16&rft.date=2018-03&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A19248242%23id-name%3DS2CID&rft.issn=2325-6095&rft_id=info%3Adoi%2F10.1109%2Fmcc.2018.022171662&rft.aulast=Esposito&rft.aufirst=Christian&rft.au=Palmieri%2C+Francesco&rft.au=Choo%2C+Kim-Kwang+Raymond&rft_id=http%3A%2F%2Fdx.doi.org%2F10.1109%2Fmcc.2018.022171662&rfr_id=info%3Asid%2Fen.wikipedia.org%3AFirebase+Cloud+Messaging" class="Z3988"></span></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1133582631"><cite id="CITEREFLiDuChen2013" class="citation book cs1">Li, Na; Du, Yanhui; Chen, Guangxuan (December 2013). <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/iscc-c.2013.132">"Survey of Cloud Messaging Push Notification Service"</a>. <i>2013 International Conference on Information Science and Cloud Computing Companion</i>. IEEE. pp. 273–279. <a href="/enwiki/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2Fiscc-c.2013.132">10.1109/iscc-c.2013.132</a>. <a href="/enwiki/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/enwiki/wiki/Special:BookSources/978-1-4799-5245-8" title="Special:BookSources/978-1-4799-5245-8"><bdi>978-1-4799-5245-8</bdi></a>. <a href="/enwiki/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:15771293">15771293</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Survey+of+Cloud+Messaging+Push+Notification+Service&rft.btitle=2013+International+Conference+on+Information+Science+and+Cloud+Computing+Companion&rft.pages=273-279&rft.pub=IEEE&rft.date=2013-12&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A15771293%23id-name%3DS2CID&rft_id=info%3Adoi%2F10.1109%2Fiscc-c.2013.132&rft.isbn=978-1-4799-5245-8&rft.aulast=Li&rft.aufirst=Na&rft.au=Du%2C+Yanhui&rft.au=Chen%2C+Guangxuan&rft_id=http%3A%2F%2Fdx.doi.org%2F10.1109%2Fiscc-c.2013.132&rfr_id=info%3Asid%2Fen.wikipedia.org%3AFirebase+Cloud+Messaging" class="Z3988"></span></span>
</li>
</ol></div></div>
<h2><span class="mw-headline" id="External_links">External links</span><span class="mw-editsection">
<a role="button"
href="/enwiki/w/index.php?title=Firebase_Cloud_Messaging&action=edit&section=14"title="Edit section: External links"
class="cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet ">
<span
class="minerva-icon minerva-icon--edit"></span>
<span>edit</span>
</a>
</span>
</h2>
<ul><li><a rel="nofollow" class="external text" href="https://firebase.google.com/docs/cloud-messaging/">Firebase Cloud Messaging - official website</a></li>
<li><a rel="nofollow" class="external text" href="https://developers.google.com/cloud-messaging/">Google Cloud Messaging - official website</a></li>
<li><a rel="nofollow" class="external text" href="https://developers.google.com/cloud-messaging/faq">GCM and FCM Frequently Asked Questions</a></li></ul></div>' |
Whether or not the change was made through a Tor exit node (tor_exit_node ) | false |
Unix timestamp of change (timestamp ) | '1705327734' |