Firebase cloud messaging windows

Firebase Cloud Messaging Firebase Cloud Messaging

Firebase Cloud Messaging (FCM) — это служба, которая упрощает обмен сообщениями между мобильными приложениями и серверных приложений. В этой статье приводятся общие сведения о том, как работает FCM, и объясняется, как настроить службы Google, чтобы приложение могла использовать FCM. Firebase Cloud Messaging (FCM) is a service that facilitates messaging between mobile apps and server applications. This article provides an overview of how FCM works, and it explains how to configure Google Services so that your app can use FCM.

В этом разделе представлен общий обзор того, как Firebase Cloud Messaging маршрутизирует сообщения между приложением Xamarin. Android и сервером приложений, а также предоставляет пошаговую процедуру для получения учетных данных, чтобы приложение могла использовать службы FCM. This topic provides a high-level overview of how Firebase Cloud Messaging routes messages between your Xamarin.Android app and an app server, and it provides a step-by-step procedure for acquiring credentials so that your app can use FCM services.

Обзор Overview

Firebase Cloud Messaging (FCM) — это кросс-платформенная служба, которая обрабатывает отправку, маршрутизацию и очередность сообщений между серверными приложениями и мобильными клиентскими приложениями. Firebase Cloud Messaging (FCM) is a cross-platform service that handles the sending, routing, and queueing of messages between server applications and mobile client apps. FCM является преемником Google Cloud Messaging (GCM) и построен на Сервисы Google Play. FCM is the successor to Google Cloud Messaging (GCM), and it is built on Google Play Services.

Как показано на следующей схеме, FCM выступает в качестве посредника между отправителями и клиентами сообщений. As illustrated in the following diagram, FCM acts as an intermediary between message senders and clients. Клиентское приложение — это приложение с поддержкой FCM, которое выполняется на устройстве. A client app is an FCM-enabled app that runs on a device. Сервер приложений (предоставленный вами или вашей организацией) — это сервер с поддержкой FCM, с которым клиентское приложение взаимодействует с помощью FCM. The app server (provided by you or your company) is the FCM-enabled server that your client app communicates with through FCM. В отличие от GCM, FCM позволяет отправлять сообщения в клиентские приложения непосредственно через графический интерфейс уведомлений консоли Firebase: Unlike GCM, FCM makes it possible for you to send messages to client apps directly via the Firebase Console Notifications GUI:

С помощью FCM серверы приложений могут передавать сообщения на одно устройство, в группу устройств или на несколько устройств, подписанных на раздел. Using FCM, app servers can send messages to a single device, to a group of devices, or to a number of devices that are subscribed to a topic. Клиентское приложение может использовать FCM для подписки на подчиненные сообщения с сервера приложений (например, для получения удаленных уведомлений). A client app can use FCM to subscribe to downstream messages from an app server (for example, to receive remote notifications). Дополнительные сведения о различных типах сообщений Firebase см. в разделе About FCM messages. For more information about the different types of Firebase messages, see About FCM Messages.

Firebase облачных сообщений в действии Firebase Cloud Messaging in action

Когда в клиентское приложение отправляется подчиненное сообщение с сервера приложений, сервер приложений отправляет сообщение на сервер подключения FCM , предоставленный Google; сервер подключения FCM, в свою очередь, перенаправляет сообщение на устройство, на котором выполняется клиентское приложение. When a downstream message is sent to a client app from an app server, the app server sends the message to an FCM connection server provided by Google; the FCM connection server, in turn, forwards the message to a device that is running the client app. Сообщения можно отправлять по протоколу HTTP или XMPP (расширенный протокол обмена сообщениями и протокола присутствия). Messages can be sent over HTTP or XMPP (Extensible Messaging and Presence Protocol). Поскольку клиентские приложения не всегда подключены или выполняются, сервер подключения FCM ставит в очередь и сохраняет сообщения, отправляя их в клиентские приложения при повторном подключении и доступности. Because client apps are not always connected or running, the FCM connection server enqueues and stores messages, sending them to client apps as they reconnect and become available. Аналогичным образом FCM помещает в очередь вышестоящее сообщение от клиентского приложения к серверу приложений, если сервер приложений недоступен. Similarly, FCM will enqueue upstream messages from the client app to the app server if the app server is unavailable. Дополнительные сведения о серверах подключения FCM см. в разделе о Firebase Cloud Messaging Server. For more about FCM connection servers, see About Firebase Cloud Messaging Server.

Читайте также:  Драйвер для acer aspire linux

FCM использует следующие учетные данные для указания сервера приложений и клиентского приложения и использует эти учетные данные для авторизации транзакций сообщений через FCM: FCM uses the following credentials to identify the app server and the client app, and it uses these credentials to authorize message transactions through FCM:

Идентификатор – отправителя Идентификатор отправителя — это уникальное числовое значение, которое назначается при создании проекта Firebase. Sender ID – The Sender ID is a unique numerical value that is assigned when you create your Firebase project. Идентификатор отправителя используется для идентификации каждого сервера приложений, который может передавать сообщения в клиентское приложение. The sender ID is used to identify each app server that can send messages to the client app. Идентификатор отправителя также является номером вашего проекта; При регистрации проекта вы получаете идентификатор отправителя из консоли Firebase. The sender ID is also your project number; you obtain the sender ID from the Firebase Console when you register your project. Примером идентификатора отправителя является 496915549731 . An example of a Sender ID is 496915549731 .

Ключ APIКлюч API предоставляет серверу приложений доступ к службам Firebase Services; FCM использует этот ключ для проверки подлинности сервера приложений. API Key – The API key gives the app server access to Firebase services; FCM uses this key to authenticate the app server. Эти учетные данные также называются ключом сервера или ключом веб-API. This credential is also referred to as the Server Key or the Web API Key. Примером ключа API является AJzbSyCTcpfRT1YRqbz-jIwp1h06YdauvewGDzk . An example of an API Key is AJzbSyCTcpfRT1YRqbz-jIwp1h06YdauvewGDzk .

Идентификатор приложения – Удостоверение клиентского приложения (независимо от любого конкретного устройства), которое регистрируется для получения сообщений от FCM. App ID – The identity of your client app (independent of any given device) that registers to receive messages from FCM. Пример идентификатора приложения: 1:415712510732:android:0e1eb7a661af2460 . An example of an App ID is 1:415712510732:android:0e1eb7a661af2460 .

Токен регистрацииМаркер регистрации (также НАЗЫВАЕМый идентификатором экземпляра) является FCM удостоверением клиентского приложения на заданном устройстве. Registration Token – The Registration Token (also referred to as the Instance ID) is the FCM identity of your client app on a given device. Маркер регистрации создается во время выполнения, – когда приложение получает маркер регистрации при первой регистрации в FCM при выполнении на устройстве. The registration token is generated at run time – your app receives a registration token when it first registers with FCM while running on a device. Маркер регистрации авторизует экземпляр клиентского приложения (выполняющегося на этом конкретном устройстве) для получения сообщений от FCM. The registration token authorizes an instance of your client app (running on that particular device) to receive messages from FCM. Примером маркера регистрации является fkBQTHxKKhs:AP91bHuEedxM4xFAUn0z . JKZS (очень длинная строка). An example of a registration token is fkBQTHxKKhs:AP91bHuEedxM4xFAUn0z . JKZS (a very long string).

Настройка Firebase Cloud Messaging (далее в этом пошаговом окне) содержит подробные инструкции по созданию проекта и созданию этих учетных данных. Setting Up Firebase Cloud Messaging (later in this guide) provides detailed instructions for creating a project and generating these credentials. При создании нового проекта в консоли Firebaseсоздается файл учетных данных под названием Google-Services. JSON. – добавьте этот файл в проект Xamarin. Android, как описано в разделах Удаленные уведомления с FCM. When you create a new project in the Firebase Console, a credentials file called google-services.json is created – add this file to your Xamarin.Android project as explained in Remote Notifications with FCM.

В следующих разделах объясняется, как эти учетные данные используются при взаимодействии клиентских приложений с серверами приложений через FCM. The following sections explain how these credentials are used when client apps communicate with app servers through FCM.

Регистрация с помощью FCM Registration with FCM

Клиентское приложение должно сначала зарегистрироваться в FCM до того, как система обмена сообщениями может быть выполнена. A client app must first register with FCM before messaging can take place. Клиентское приложение должно выполнить действия по регистрации, показанные на следующей схеме: The client app must complete the registration steps shown in the following diagram:

Клиентское приложение обращается к FCM, чтобы получить маркер регистрации, передав идентификатор отправителя, ключ API и идентификатор приложения в FCM. The client app contacts FCM to obtain a registration token, passing the sender ID, API Key, and App ID to FCM.

FCM возвращает маркер регистрации клиентскому приложению. FCM returns a registration token to the client app.

Клиентское приложение (необязательно) перенаправляет маркер регистрации на сервер приложений. The client app (optionally) forwards the registration token to the app server.

Сервер приложений кэширует маркер регистрации для последующего взаимодействия с клиентским приложением. The app server caches the registration token for subsequent communications with the client app. Сервер приложений может отправить подтверждение обратно в клиентское приложение, чтобы указать, что получен маркер регистрации. The app server can send an acknowledgement back to the client app to indicate that the registration token was received. После выполнения этого подтверждения клиентское приложение может получать сообщения от сервера приложений (или отправлять сообщения на него). After this handshake takes place, the client app can receive messages from (or send messages to) the app server. Клиентское приложение может получить новый маркер регистрации, если старый маркер скомпрометирован (см. раздел Удаленные уведомления с помощью FCM в качестве примера того, как приложение получает обновления маркера регистрации). The client app may receive a new registration token if the old token is compromised (see Remote Notifications with FCM for an example of how an app receives registration token updates).

Читайте также:  Linux изменить пароль админа

Когда клиентскому приложению больше не требуется получать сообщения с сервера приложений, оно может отправить запрос на сервер приложений для удаления маркера регистрации. When the client app no longer wants to receive messages from the app server, it can send a request to the app server to delete the registration token. Если клиентское приложение удалено с устройства, FCM обнаруживает это и автоматически уведомляет сервер приложений об удалении маркера регистрации. If the client app is uninstalled from a device, FCM detects this and automatically notifies the app server to delete the registration token.

Подчиненный обмен сообщениями Downstream messaging

На следующей схеме показано, как Firebase облачные службы обмена сообщениями сохраняют и пересылает нисходящие сообщения: The following diagram illustrates how Firebase Cloud Messaging stores and forwards downstream messages:

Когда сервер приложений отправляет в клиентское приложение подчиненное сообщение, он выполняет следующие действия, как перечислено на приведенной выше схеме. When the app server sends a downstream message to the client app, it uses the following steps as enumerated in the above diagram:

Сервер приложений отправляет сообщение в FCM. The app server sends the message to FCM.

Если клиентское устройство недоступно, сервер FCM сохраняет сообщение в очереди для последующей передачи. If the client device is not available, the FCM server stores the message in a queue for later transmission. Сообщения хранятся в хранилище FCM не более 4 недель (Дополнительные сведения см. в разделе Установка срока существования сообщения). Messages are retained in FCM storage for a maximum of 4 weeks (for more information, see Setting the lifespan of a message).

Когда клиентское устройство доступно, FCM перенаправляет сообщение клиентскому приложению на этом устройстве. When the client device is available, FCM forwards the message to the client app on that device.

Клиентское приложение получает сообщение от FCM, обрабатывает его и отображает для пользователя. The client app receives the message from FCM, processes it, and displays it to the user. Например, если сообщение представляет собой удаленное уведомление, оно будет представлено пользователю в области уведомлений. For example, if the message is a remote notification, it is presented to the user in the notification area.

В этом сценарии обмена сообщениями (где сервер приложений отправляет сообщение в одно клиентское приложение) размер сообщений может доставлять до 4 КБ. In this messaging scenario (where the app server sends a message to a single client app), messages can be up to 4kB in length.

Подробные сведения о получении подчиненных сообщений FCM в Android см. в разделе Удаленные уведомления с помощью FCM. For detailed information about receiving downstream FCM messages on Android, see Remote Notifications with FCM.

Обмен сообщениями с темой Topic messaging

Обмен сообщениями с разделами позволяет серверу приложений отправить сообщение на несколько устройств, участвующих в определенном разделе. Topic Messaging makes it possible for an app server to send a message to multiple devices that have opted in to a particular topic. Вы также можете создавать и отправлять сообщения раздела с помощью графического интерфейса уведомлений консоли Firebase. You can also compose and send topic messages via the Firebase Console Notifications GUI. FCM обрабатывает маршрутизацию и доставку сообщений раздела клиентам, подписавшимся на них. FCM handles the routing and delivery of topic messages to subscribed clients. Эта функция может использоваться для таких сообщений, как оповещения о погоде, котировки котировок и заголовки новостей. This feature can be used for messages such as weather alerts, stock quotes, and headline news.

Следующие шаги используются в разделе Обмен сообщениями (после того, как клиентское приложение получит маркер регистрации, как описано выше): The following steps are used in topic messaging (after the client app obtains a registration token as explained earlier):

Клиентское приложение подписывается на раздел, отправляя сообщение подписки в FCM. The client app subscribes to a topic by sending a subscribe message to FCM.

Сервер приложений отправляет сообщения раздела в FCM для распространения. The app server sends topic messages to FCM for distribution.

FCM пересылает сообщения раздела клиентам, которые подписались на этот раздел. FCM forwards topic messages to clients that have subscribed to that topic.

Читайте также:  Create folder console windows

Дополнительные сведения о сообщениях в разделе Firebase см. в разделе Обмен сообщениями Google в Android. For more information about Firebase topic messaging, see Google’s Topic Messaging on Android.

Настройка Firebase Cloud Messaging Setting up Firebase Cloud Messaging

Прежде чем можно будет использовать службы FCM в приложении, необходимо создать новый проект (или импортировать существующий проект) через консоль Firebase. Before you can use FCM services in your app, you must create a new project (or import an existing project) via the Firebase Console. Чтобы создать Firebase облачный проект обмена сообщениями для приложения, выполните следующие действия. Use the following steps to create a Firebase Cloud Messaging project for your app:

Войдите в консоль Firebase , используя учетную запись Google (т. е. адрес Gmail), и щелкните создать новый проект: Sign into the Firebase Console with your Google account (i.e., your Gmail address) and click CREATE NEW PROJECT:

Если у вас уже есть проект, щелкните Импорт проекта Google. If you have an existing project, click import a Google project.

В диалоговом окне Создание проекта введите имя проекта и нажмите кнопку создать проект. In the Create a project dialog, enter the name of your project and click CREATE PROJECT. В следующем примере создается новый проект с именем ксамаринфкм : In the following example, a new project called XamarinFCM is created:

В разделе Обзорконсоли Firebase щелкните Добавить Firebase в приложение Android: In the Firebase Console Overview, click Add Firebase to your Android app:

На следующем экране введите имя пакета приложения. In the next screen, enter the package name of your app. В этом примере имя пакета — com. Xamarin. фкмексампле. In this example, the package name is com.xamarin.fcmexample. Это значение должно совпадать с именем пакета приложения Android. This value must match the package name of your Android app. Псевдоним приложения также можно указать в поле псевдонима приложения : An app nickname can also be entered in the App nickname field:

Если приложение использует динамические ссылки, приглашения или Google AUTH, необходимо также ввести сертификат для подписи отладки. If your app uses Dynamic links, Invites, or Google Auth, you must also enter your debug signing certificate. Дополнительные сведения о поиске сертификата для подписи см. в разделе Поиск подписи MD5 или SHA1. For more information about locating your signing certificate, see Finding your Keystore’s MD5 or SHA1 Signature. В этом примере сертификат подписи остается пустым. In this example, the signing certificate is left blank.

Щелкните Добавить приложение: Click ADD APP:

Для приложения автоматически создаются ключ API сервера и идентификатор клиента. A Server API key and a Client ID are automatically generated for the app. Эти сведения упаковываются в файл Google-Services. JSON , который автоматически загружается при нажатии кнопки Добавить приложение. This information is packaged in a google-services.json file that is automatically downloaded when you click ADD APP. Не забудьте сохранить этот файл в надежном месте. Be sure to save this file in a safe place.

Подробный пример добавления Google-Services. JSON в проект приложения для получения сообщений push-уведомлений FCM на устройстве Android см. в статье Удаленные уведомления с помощью FCM. For a detailed example of how to add google-services.json to an app project to receive FCM push notification messages on Android, see Remote Notifications with FCM.

Дополнительные материалы For further reading

Облачная система обмена сообщениями Google Firebase предоставляет общие сведения о ключевых возможностях Firebase облачных сообщений, описание его работы и инструкции по установке. Google’s Firebase Cloud Messaging provides an overview of Firebase Cloud Messaging’s key capabilities, an explanation of how it works, and setup instructions.

Запросы на отправку приложений Google Build Server посвящены отправке сообщений с сервера приложений. Google’s Build App Server Send Requests explains how to send messages with your app server.

Rfc 6120 и RFC 6121 объясняют и определяют расширяемый протокол обмена сообщениями и присутствия (XMPP). RFC 6120 and RFC 6121 explain and define the Extensible Messaging and Presence Protocol (XMPP).

О сообщениях FCM описывает различные типы сообщений, которые можно отправить с помощью Firebase Cloud Messaging. About FCM Messages describes the different types of messages that can be sent with Firebase Cloud Messaging.

Сводка Summary

В этой статье представлен обзор Firebase Cloud Messaging (FCM). This article provided an overview of Firebase Cloud Messaging (FCM). В нем объясняются различные учетные данные, используемые для обнаружения и авторизации обмена сообщениями между серверами приложений и клиентскими приложениями. It explained the various credentials that are used to identify and authorize messaging between app servers and client apps. В нем проиллюстрированы сценарии регистрации и подчиненных сообщений, а также подробно описаны действия по регистрации приложения в FCM для использования служб FCM. It illustrated the registration and downstream messaging scenarios, and it detailed the steps for registering your app with FCM to use FCM services.

Оцените статью