Skip to content

Commit b03d544

Browse files
Merge pull request #247494 from sethmanheim/docs-editor/notification-hubs-firebase-dep-1691424151
Notification Hubs: add FCM to GCM migration procedure
2 parents b198b3a + 6dc6a99 commit b03d544

7 files changed

+46
-51
lines changed

articles/notification-hubs/android-sdk.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
32
title: Send push notifications to Android using Azure Notification Hubs and Firebase SDK version 1.0.0-preview1
43
description: In this tutorial, you learn how to use Azure Notification Hubs and Google Firebase Cloud Messaging to send push notifications to Android devices (version 1.0.0-preview1).
54
author: sethmanheim
@@ -16,7 +15,8 @@ ms.custom: devx-track-csharp
1615

1716
This tutorial shows how to use Azure Notification Hubs and the updated version of the Firebase Cloud Messaging (FCM) SDK (version 1.0.0-preview1) to send push notifications to an Android application. In this tutorial, you create a blank Android app that receives push notifications using Firebase Cloud Messaging (FCM).
1817

19-
[!INCLUDE [notification-hubs-firebase-deprecation](../../includes/notification-hubs-firebase-deprecation.md)]
18+
> [!NOTE]
19+
> For information about Firebase Cloud Messaging deprecation and migration steps, see [Google Firebase Cloud Messaging migration](notification-hubs-gcm-to-fcm.md).
2020
2121
You can download the completed code for this tutorial from [GitHub](https://github.com/Azure/azure-notificationhubs-android/tree/v1-preview/notification-hubs-test-app-refresh).
2222

@@ -304,3 +304,4 @@ The following is a list of some other tutorials for sending notifications:
304304
- Azure Notification Hubs Java SDK: See [How to use Notification Hubs from Java](notification-hubs-java-push-notification-tutorial.md) for sending notifications from Java. This has been tested in Eclipse for Android Development.
305305

306306
- PHP: [How to use Notification Hubs from PHP](notification-hubs-php-push-notification-tutorial.md).
307+

articles/notification-hubs/configure-google-firebase-cloud-messaging.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ ms.lastreviewed: 03/25/2019
1818

1919
This article shows you how to configure Google Firebase Cloud Messaging (FCM) settings for an Azure notification hub using the Azure portal.
2020

21-
[!INCLUDE [notification-hubs-firebase-deprecation](../../includes/notification-hubs-firebase-deprecation.md)]
21+
> [!NOTE]
22+
> For information about Firebase Cloud Messaging deprecation and migration steps, see [Google Firebase Cloud Messaging migration](notification-hubs-gcm-to-fcm.md).
2223
2324
## Prerequisites
2425

@@ -37,3 +38,4 @@ The following procedure describes the steps to configure Google Firebase Cloud M
3738
## Next steps
3839

3940
For a tutorial with step-by-step instructions for sending notifications to Android devices by using Azure Notification Hubs and Google Firebase Cloud Messaging, see [Send push notifications to Android devices by using Notification Hubs and Google FCM](notification-hubs-android-push-notification-google-fcm-get-started.md).
41+

articles/notification-hubs/configure-notification-hub-portal-pns-settings.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ Azure Notification Hubs provides a push engine that's easy to use and that scale
2020

2121
In this quickstart, you'll use the platform notification system (PNS) settings in Notification Hubs to set up push notifications on multiple platforms. The quickstart shows you the steps to take in the Azure portal. [Google Firebase Cloud Messaging](?tabs=azure-cli#google-firebase-cloud-messaging-fcm) includes instructions for using the Azure CLI.
2222

23-
[!INCLUDE [notification-hubs-firebase-deprecation](../../includes/notification-hubs-firebase-deprecation.md)]
23+
> [!NOTE]
24+
> For information about Firebase Cloud Messaging deprecation and migration steps, see [Google Firebase Cloud Messaging migration](notification-hubs-gcm-to-fcm.md).
2425
2526
If you haven't already created a notification hub, create one now. For more information, see [Create an Azure notification hub in the Azure portal](create-notification-hub-portal.md) or [Create an Azure notification hub using the Azure CLI](create-notification-hub-azure-cli.md).
2627

@@ -168,3 +169,4 @@ To learn more about how to push notifications to various platforms, see these tu
168169
* [Send notifications to a UWP app running on a Windows device](notification-hubs-windows-store-dotnet-get-started-wns-push-notification.md)
169170
* [Send notifications to a Windows Phone 8 app by using MPNS](notification-hubs-windows-mobile-push-notifications-mpns.md)
170171
* [Send notifications by using Notification Hubs and Baidu cloud push](notification-hubs-baidu-china-android-notifications-get-started.md)
172+

articles/notification-hubs/notification-hubs-gcm-to-fcm.md

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -21,42 +21,4 @@ ms.lastreviewed: 04/10/2019
2121

2222
[!INCLUDE [notification-hubs-firebase-deprecation](../../includes/notification-hubs-firebase-deprecation.md)]
2323

24-
## Current state
2524

26-
When Google announced its migration from Google Cloud Messaging (GCM) to Firebase Cloud Messaging (FCM), push services like ours had to adjust how we sent notifications to Android devices to accommodate the change.
27-
28-
We updated our service backend, then published updates to our API and SDKs as needed. With our implementation, we made the decision to maintain compatibility with existing GCM notification schemas to minimize customer impact. This means that we currently send notifications to Android devices using FCM in FCM Legacy Mode. Ultimately, we want to add true support for FCM, including the new features and payload format. That is a longer-term change and the current migration is focused on maintaining compatibility with existing applications and SDKs. You can use either the GCM or FCM SDKs in your app (along with our SDK) and we make sure the notification is sent correctly.
29-
30-
Some customers recently received an email from Google warning about apps using a GCM endpoint for notifications. This was just a warning, and nothing is broken – your app's Android notifications are still sent to Google for processing and Google still processes them. Some customers who specified the GCM endpoint explicitly in their service configuration were still using the deprecated endpoint. We had already identified this gap and were working on fixing the issue when Google sent the email.
31-
32-
We replaced that deprecated endpoint and the fix is deployed.
33-
34-
## Going forward
35-
36-
Google's FCM FAQ says you don't have to do anything. In the [FCM FAQ](https://developers.google.com/cloud-messaging/faq), Google said "client SDKs and GCM tokens will continue to work indefinitely. However, you won't be able to target the latest version of Google Play Services in your Android app unless you migrate to FCM."
37-
38-
If your app uses the GCM library, go ahead and follow Google's instructions to upgrade to the FCM library in your app. Our SDK is compatible with either, so you won't have to update anything in your app on our side (as long as you're up to date with our SDK version).
39-
40-
## Questions and answers
41-
42-
Here's some answers to common questions we've heard from customers:
43-
44-
**Q:** What do I need to do to be compatible by the cutoff date (Google's current cutoff date is May 29th and may change)?
45-
46-
**A:** Nothing. We will maintain compatibility with existing GCM notification schema. Your GCM key will continue to work as normal as will any GCM SDKs and libraries used by your application.
47-
48-
If/when you decide to upgrade to the FCM SDKs and libraries to take advantage of new features, your GCM key will still work. You may switch to using an FCM key if you wish, but ensure you are adding Firebase to your existing GCM project when creating the new Firebase project. This will guarantee backward compatibility with your customers that are running older versions of the app that still use GCM SDKs and libraries.
49-
50-
If you are creating a new FCM project and not attaching to the existing GCM project, once you update Notification Hubs with the new FCM secret you will lose the ability to push notifications to your current app installations, since the new FCM key has no link to the old GCM project.
51-
52-
**Q:** Why am I getting this email about old GCM endpoints being used? What do I have to do?
53-
54-
**A:** Nothing. We have been migrating to the new endpoints and will be finished soon, so no change is necessary. Nothing is broken, our one missed endpoint simply caused warning messages from Google.
55-
56-
**Q:** How can I transition to the new FCM SDKs and libraries without breaking existing users?
57-
58-
A: Upgrade at any time. Google has not yet announced any deprecation of existing GCM SDKs and libraries. To ensure you don't break push notifications to your existing users, make sure when you create the new Firebase project you are associating with your existing GCM project. This will ensure new Firebase secrets will work for users running the older versions of your app with GCM SDKs and libraries, as well as new users of your app with FCM SDKs and libraries.
59-
60-
**Q:** When can I use new FCM features and schemas for my notifications?
61-
62-
**A:** Once we publish an update to our API and SDKs, stay tuned – we expect to have something for you in the coming months.

articles/notification-hubs/notification-hubs-push-notification-fixer.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ If you inadvertently upload different types of certificates to the same hub, you
6161

6262
### FCM configuration
6363

64-
[!INCLUDE [notification-hubs-firebase-deprecation](../../includes/notification-hubs-firebase-deprecation.md)]
64+
> [!NOTE]
65+
> For information about Firebase Cloud Messaging deprecation and migration steps, see [Google Firebase Cloud Messaging migration](notification-hubs-gcm-to-fcm.md).
6566
6667
1. Ensure that the *server key* you obtained from Firebase matches the server key you registered in the Azure portal.
6768

articles/notification-hubs/notification-hubs-push-notification-overview.md

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ Azure Notification Hubs provide an easy-to-use and scaled-out push engine that e
3030
- Notify users of enterprise events such as new messages and work items.
3131
- Send codes for multi-factor authentication.
3232

33-
[!INCLUDE [notification-hubs-firebase-deprecation](../../includes/notification-hubs-firebase-deprecation.md)]
33+
> [!NOTE]
34+
> For information about Firebase Cloud Messaging deprecation and migration steps, see [Google Firebase Cloud Messaging migration](notification-hubs-gcm-to-fcm.md).
3435
3536
## What are push notifications?
3637

@@ -99,10 +100,6 @@ Notification Hubs is your ready-to-use push engine with the following advantages
99100
- Scheduled push: You can schedule notifications to be sent anytime.
100101
- Direct push: You can skip registering devices with the Notification Hubs service and directly batch push to a list of device handles.
101102
- Personalized push: Device push variables help you send device-specific personalized push notifications with customized key-value pairs.
102-
- **Rich telemetry**
103-
- General push, device, error, and operation telemetry are available both in the Azure portal and programmatically.
104-
- Per-message telemetry tracks each push from your initial request call to the Notification Hubs service successfully sending the pushes.
105-
- Platform Notification System feedback communicates all feedback from PNSes to assist in debugging.
106103
- **Scalability**
107104
- Send fast messages to millions of devices without re-architecting or device sharding.
108105
- **Security**
@@ -113,20 +110,36 @@ Notification Hubs is your ready-to-use push engine with the following advantages
113110
Get started with creating and using a notification hub by following the [Tutorial: Push notifications to mobile applications](notification-hubs-android-push-notification-google-fcm-get-started.md).
114111

115112
[0]: ./media/notification-hubs-overview/registration-diagram.png
113+
116114
[1]: ./media/notification-hubs-overview/notification-hub-diagram.png
117115

118116
[How customers are using Notification Hubs]: https://azure.microsoft.com/services/notification-hubs
117+
119118
[Notification Hubs tutorials and guides]: ./index.yml
119+
120120
[iOS]: ./notification-hubs-push-notification-fixer.md
121+
121122
[Android]: ./notification-hubs-android-push-notification-google-gcm-get-started.md
123+
122124
[Windows Universal]: ./notification-hubs-windows-store-dotnet-get-started-wns-push-notification.md
125+
123126
[Windows Phone]: ./notification-hubs-windows-mobile-push-notifications-mpns.md
127+
124128
[Kindle]: ./notification-hubs-android-push-notification-google-fcm-get-started.md
129+
125130
[Xamarin.iOS]: ./xamarin-notification-hubs-ios-push-notification-apns-get-started.md
131+
126132
[Xamarin.Android]: ./xamarin-notification-hubs-push-notifications-android-gcm.md
133+
127134
[Microsoft.WindowsAzure.Messaging.NotificationHub]: /previous-versions/azure/reference/dn339221(v=azure.100)
135+
128136
[Microsoft.ServiceBus.Notifications]: /previous-versions/azure/
137+
129138
[App Service Mobile Apps]: /previous-versions/azure/app-service-mobile/app-service-mobile-value-prop
139+
130140
[templates]: notification-hubs-templates-cross-platform-push-messages.md
141+
131142
[Azure portal]: https://portal.azure.com
132-
[tags]: (https://msdn.microsoft.com/library/azure/dn530749.aspx)
143+
144+
[tags]: (https://msdn.microsoft.com/library/azure/dn530749.aspx)
145+
Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: include file
2+
title: include file
33
description: include file
44
services: notification-hubs
55
author: sethmanheim
@@ -9,5 +9,19 @@
99
ms.author: sethm
1010
ms.custom: include file
1111
---
12+
1213
> [!IMPORTANT]
13-
> Firebase Cloud Messaging (FCM) is a service that, among other things, facilitates developers sending push notifications to Google Play-supported Android devices. Azure Notification Hubs currently communicates with FCM using the legacy HTTP protocol. FCM v1 is an updated API that offers more features and capabilities. Google announced that they are deprecating FCM legacy HTTP and will stop supporting it on June 20, 2024. Therefore, developers who use Azure Notification Hubs to communicate with Google Play-supported Android devices today, will need to migrate their applications and notification payloads to the newer format. Azure Notification Hubs will continue to support FCM legacy HTTP until Google stops accepting requests. Once the new FCM integration is complete, Azure Notification Hubs will announce when you can begin migrating. A migration plan with more details will be available by July 31st, 2023.
14+
> Firebase Cloud Messaging (FCM) is a service that, among other things, facilitates developers sending push notifications to Google Play-supported Android devices. Azure Notification Hubs currently communicates with FCM using the legacy HTTP protocol. FCM v1 is an updated API that offers more features and capabilities. Google announced that they are deprecating FCM legacy HTTP and will stop supporting it on June 20, 2024. Therefore, developers who use Azure Notification Hubs to communicate with Google Play-supported Android devices today, will need to migrate their applications and notification payloads to the newer format. Azure Notification Hubs will continue to support FCM legacy HTTP until Google stops accepting requests. Once the new FCM integration is complete, Azure Notification Hubs will announce when you can begin migrating. FOr more details, see the [migration steps](#migration-steps) in the next section.
15+
16+
## Migration steps
17+
18+
Firebase Cloud Messaging (FCM) legacy API will be deprecated by July 2024. You can begin migrating from the legacy HTTP protocol to FCM v1. You can start the migration process by Feb 1, 2024, and must be migrated by June 2024. To migrate from FCM legacy to FCM v1, follow these steps:
19+
20+
1. Migrate credentials to FCM v1: enter your FCM v1 credentials to set up notifications. You can find the [instructions on how to do this here](/azure/notification-hubs/configure-notification-hub-portal-pns-settings?tabs=azure-portal#google-firebase-cloud-messaging-fcm).
21+
1. Update your client app to start registering as FCMv1 devices: once you’re ready to start supporting FCMv1 devices, update your client app so that any new devices will start registering as FCM v1 instead of the legacy. When existing FCM legacy registrations expire, they are re-registered as FCM v1. This ensures that notifications are sent to users appropriately, once the FCM legacy is deprecated.
22+
1. Delete the FCM legacy registrations: once the FCM v1 registrations have been created, delete the corresponding records from the FCM legacy. This prevents duplicate notifications from being sent to your users if you use both APIs. Duplicate notifications can occur and be sent to users if FCM legacy registrations are not deleted.
23+
1. Update the server app to send notifications to FCM v1: once you have completed the previous steps, you can start sending notifications using the new API.
24+
1. Stop sending notifications to FCM legacy: once you have removed all FCM legacy devices, stop sending notifications to FCM legacy. All notifications should be sent exclusively to FCM v1 at this point, and you should be fully migrated.
25+
26+
If you have any questions or issues, please contact our support team.
27+

0 commit comments

Comments
 (0)