Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve os principais recursos para integrar os Hubs de Notificação do Azure com o Firebase Cloud Messaging (FCM) v1. Como lembrete, o Google parou de dar suporte ao HTTP herdado da FCM em 20 de junho de 2024, portanto, você deve migrar seus aplicativos e cargas de notificação para o novo formato.
Importante
A partir de junho de 2024, as APIs legadas do FCM não são mais suportadas e são desativadas. Para evitar qualquer interrupção no serviço de notificação por push, você deve migrar para o protocolo FCM v1.
Conceitos do FCM v1
- Um novo tipo de plataforma chamado FCM v1 tem suporte.
- Novas APIs, credenciais, instalações e registros são usados para o FCM v1.
Observação
A plataforma FCM existente é conhecida como FCM herdado neste artigo.
Etapas da migração
A API herdada do Firebase Cloud Messaging (FCM) foi preterida em julho de 2024. Você pode começar a migrar do protocolo HTTP herdado para a FCM v1. Esta seção descreve as etapas para migrar do FCM herdado para o FCM v1 usando a API REST dos Hubs de Notificação.
API REST
A seção a seguir descreve como executar a migração usando a API REST.
Etapa 1: adicionar credenciais da FCM v1 ao hub
A primeira etapa é adicionar credenciais pelo portal do Azure, por uma operação de hub de plano de gerenciamento ou pelo hub de plano de dados.
Criar arquivo JSON da conta de serviço do Google
No Console do Firebase, selecione seu projeto e Acesse Configurações do Projeto.
Selecione a guia Contas de serviço, crie uma conta de serviço e gere uma chave privada da sua conta de serviço do Google.
Selecione Gerar nova chave privada para gerar um arquivo JSON. Baixe e abra o arquivo. Substitua os valores de
project_id
,private_key
eclient_email
, pois eles são necessários para atualizar as credenciais do hub dos Hubs de Notificação do Azure.OU
Se você quiser criar uma conta de serviço com permissão de acesso personalizada, poderá criar uma conta de serviço pela página Contas de serviço do > IAM e Administrador. Acesse a página diretamente clicando em Gerenciar as permissões da conta de serviço. Você pode criar uma conta de serviço que tenha uma das seguintes funções:
- Administrador do Firebase (roles/firebase.admin)
- Administrador do Firebase Grow (roles/firebase.growthAdmin)
- Agente de Serviço de Administrador do SDK do Administrador do Firebase (roles/firebase.sdkAdminServiceAgent)
- Agente do Serviço de Provisionamento do SDK do Firebase (roles/firebase.sdkProvisioningServiceAgent)
Opção 1: atualizar credenciais fcmV1 por meio do portal do Azure
Acesse o hub de notificação no portal do Azure e selecione Configurações > Google (FCM v1). Obtenha os valores Chave Privada, ID do Projeto e Email do Cliente do arquivo JSON da conta de serviço adquirido da seção anterior e salve-os para usar posteriormente.
Opção 2: atualizar credenciais fcmV1 por meio da operação do hub do plano de gerenciamento
Veja a descrição de uma FcmV1Credential do NotificationHub.
Usar a versão da API: 2023-10-01-preview
FcmV1CredentialProperties:
Nome Tipo clientEmail
corda privateKey
corda projectId
corda
Opção 3: atualizar credenciais fcmV1 por meio da operação do hub do plano de dados
Consulte Criar um hub de notificação e Atualizar um hub de notificação.
- Usar a versão da API 2015-01
- Certifique-se de colocar FcmV1Credential depois de GcmCredential, pois a ordem é importante.
Por exemplo, o corpo da solicitação é o seguinte:
<NotificationHubDescription xmlns:i='http://www.w3.org/2001/XMLSchema-instance'
xmlns='http://schemas.microsoft.com/netservices/2010/10/servicebus/connect'>
<ApnsCredential>
<Properties>
<Property>
<Name>Endpoint</Name>
<Value>{_apnsCredential.Endpoint}</Value>
</Property>
<Property>
<Name>AppId</Name>
<Value>{_apnsCredential.AppId}</Value>
</Property>
<Property>
<Name>AppName</Name>
<Value>{_apnsCredential.AppName}</Value>
</Property>
<Property>
<Name>KeyId</Name>
<Value>{_apnsCredential.KeyId}</Value>
</Property>
<Property>
<Name>Token</Name>
<Value>{_apnsCredential.Token}</Value>
</Property>
</Properties>
</ApnsCredential>
<WnsCredential>
<Properties>
<Property>
<Name>PackageSid</Name>
<Value>{_wnsCredential.PackageSid}</Value>
</Property>
<Property>
<Name>SecretKey</Name>
<Value>{_wnsCredential.SecretKey}</Value>
</Property>
</Properties>
</WnsCredential>
<GcmCredential>
<Properties>
<Property>
<Name>GoogleApiKey</Name>
<Value>{_gcmCredential.GoogleApiKey}</Value>
</Property>
</Properties>
</GcmCredential>
<FcmV1Credential>
<Properties>
<Property>
<Name>ProjectId</Name>
<Value>{_fcmV1Credential.ProjectId}</Value>
</Property>
<Property>
<Name>PrivateKey</Name>
<Value>{_fcmV1Credential.PrivateKey}</Value>
</Property>
<Property>
<Name>ClientEmail</Name>
<Value>{_fcmV1Credential.ClientEmail}</Value>
</Property>
</Properties>
</FcmV1Credential>
</NotificationHubDescription>
Etapa 2: gerenciar o registro e a instalação
Quanto aos cenários de envio direto, prossiga diretamente para a Etapa 3. Se você estiver usando um dos SDKs do Azure, consulte o Artigo dos SDKs.
Opção 1: criar registro da FCM v1 ou atualizar o registro do GCM para FCM v1
Se você tiver um registro GCM existente, atualize o registro para FcmV1Registration. Consulte Criar ou atualizar um registro. Se você não tiver um GcmRegistration existente, crie um novo registro como FcmV1Registration. Consulte Criar um registro. O corpo da solicitação de registro deve aparecer como no exemplo a seguir:
// FcmV1Registration
<?xml version="1.0" encoding="utf-8"?>
<entry xmlns="http://www.w3.org/2005/Atom">
<content type="application/xml">
<FcmV1RegistrationDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect">
<Tags>myTag, myOtherTag</Tags>
<FcmV1RegistrationId>{deviceToken}</FcmV1RegistrationId>
</FcmV1RegistrationDescription>
</content>
</entry>
// FcmV1TemplateRegistration
<?xml version="1.0" encoding="utf-8"?>
<entry xmlns="http://www.w3.org/2005/Atom">
<content type="application/xml">
<FcmV1TemplateRegistrationDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect">
<Tags>myTag, myOtherTag</Tags>
<FcmV1RegistrationId>{deviceToken}</FcmV1RegistrationId>
<BodyTemplate><![CDATA[ {BodyTemplate}]]></BodyTemplate>
</FcmV1TemplateRegistrationDescription>
</content>
</entry>
Opção 2: criar instalação da FCM V1 ou atualizar a instalação do GCM para FCM v1
Consulte Criar ou substituir uma instalação e definir platform
como FCMV1
.
Etapa 3: enviar uma notificação por push
Opção 1: depurar envio
Use este procedimento para testar as notificações antes das Opções 2, 3 ou 4. Consulte Hubs de Notificação – Enviar Depuração.
Observação
Use a versão da API: 2023-10-01-preview.
No cabeçalho:
Cabeçalho da solicitação | Valor |
---|---|
Content-Type |
application/json;charset=utf-8 |
ServiceBusNotification-Format |
Definir como fcmV1 ou template |
Servicebusnotification-Tags |
Seu identificador de marca única |
Teste um conteúdo com a estrutura a seguir pelo envio de depuração. Observe que o FcmV1 apresenta uma alteração significativa na estruturação do conteúdo da mensagem JSON:
- Toda a carga movida sob um objeto de mensagem.
- Opções específicas do Android movidas para o objeto do Android e
time_to_live
já estáttl
com um valor de cadeia de caracteres. - O campo
data
já permite apenas um mapeamento de cadeia de caracteres simples para a cadeia de caracteres. - Para obter mais informações, consulte Referência do FCM.
Como alternativa, você pode executar um envio de teste (envio de depuração) pelo portal do Azure:
Opção 2: envio direto
Executar um envio direto. No cabeçalho da solicitação, defina ServiceBusNotification-Format
como fcmV1
.
Opção 3: notificação nativa do FcmV1 (envio de público)
Execute um envio de notificação nativa do FcmV1. Consulte Enviar uma notificação nativa do Google Cloud Messaging (GCM). No cabeçalho da solicitação, defina ServiceBusNotification-Format
como fcmV1
. Por exemplo, no corpo da solicitação:
{
"message": {
"notification": {
"title": "Breaking News",
"body": "FcmV1 is ready."
},
"android": {
"data": {
"name": "wrench",
"mass": "1.3kg",
"count": "3"
}
}
}
}
Opção 4: notificação de modelo
Você pode testar os envios de modelo com um novo corpo de solicitação após a nova estrutura de conteúdo JSON. Não é necessário fazer outras alterações. Consulte Enviar uma notificação de modelo.
Próximas etapas
Migração do Firebase Cloud Messaging usando os SDKs do Azure