Resolver problemas de opções de inicialização

Se você inicializar o app sem um conjunto válido de opções do Firebase, os novos usuários do aplicativo terão problemas graves.

As opções do Firebase são um conjunto de parâmetros exigidos pelos serviços para se comunicar com as APIs do servidor do Firebase e associar os dados do cliente ao projeto e ao aplicativo do Firebase. Os serviços do Firebase dependem das opções válidas do Firebase a partir da biblioteca comum/principal do Firebase criada durante a inicialização.

Diferentes serviços do Firebase exigem diferentes opções do Firebase para funcionar corretamente. No entanto, todos os serviços do Firebase exigem as seguintes opções:

  • Chave de API: essa não é uma chave de servidor do FCM. Consulte Chaves de servidor do FCM.
    Exemplo de valor: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
  • ID do projeto. Exemplo de valor: myapp-project-123.
  • ID do aplicativo ("AppID"): identificador exclusivo do seu app com um formato que depende da plataforma:
    • Para Android: mobilesdk_app_id Observação: esse não é um nome de pacote Android.
      Exemplo de valor: 1:1234567890:android:321abc456def7890
    • Para iOS+: GOOGLE_APP_ID Observação: este não é um ID do pacote da Apple.
      Exemplo de valor: 1:1234567890:ios:321abc456def7890

Resolver problemas de apps Android

Para melhorar a segurança, o SDK do Firebase é atualizado em 27 de fevereiro e, em seguida, substituiu o serviço de código da instância do Firebase por uma dependência na API de instalações do Firebase.

As instalações do Firebase impõem a existência e a validade da chave de API das opções obrigatórias do Firebase, do ID do projeto e do ID do aplicativo para associar os dados do cliente ao seu projeto do Firebase. Veja mais informações em FirebaseOptions.

Firebase Cloud Messaging (FCM) com o ID de instância do Firebase (IID)

Se os novos usuários do seu app estiverem tendo problemas com o FCM, é possível que você esteja inicializando o Firebase sem o conjunto necessário de opções.

Seu aplicativo pode estar usando um arquivo de configuração google-services.json incompleto ou incorreto. Ou seu app está inicializando o Firebase de maneira programática sem o conjunto completo de opções do Firebase necessárias.

Por isso, serviços do Firebase, como o Firebase Cloud Messaging, não funcionarão corretamente para os usuários finais que instalaram seu app após o lançamento com os SDKs atualizados do Firebase. Além disso, solicitações repetidas que falham no Firebase podem atrasar a experiência do usuário final do seu app.

O que preciso fazer?

Para corrigir os serviços com falha do Firebase nos seus aplicativos:

  1. Atualize o aplicativo inicializando o Firebase com uma chave de API válida do seu projeto, um ID do projeto válido e um ID do aplicativo válido (mobilesdk_app_id ou "ID do app").
  2. Lance uma nova versão do seu app na Play Store.

Resolver problemas de apps da Apple

Para melhorar a segurança, o SDK do Firebase é atualizado em 14 de janeiro e depois substituiu o serviço de ID da instância do Firebase por uma dependência na API de instalações do Firebase.

As instalações do Firebase impõem a existência e a validade da chave de API das opções obrigatórias do Firebase, do ID do projeto e do ID do aplicativo para associar os dados do cliente ao seu projeto do Firebase. Veja mais informações em FIROptions.

Firebase Cloud Messaging (FCM) com o ID de instância do Firebase (IID)

Se os novos usuários do seu app estiverem tendo problemas com o FCM, é possível que você esteja inicializando o Firebase sem o conjunto necessário de opções.

Seu aplicativo pode estar usando um arquivo de configuração GoogleService-Info.plist incompleto ou inválido. Ou seu app está inicializando o Firebase de maneira programática sem o conjunto completo de opções do Firebase.

Por isso, serviços do Firebase, como o Firebase Cloud Messaging, não funcionarão corretamente para os usuários finais que instalaram seu app após o lançamento com os SDKs atualizados do Firebase. Além disso, várias solicitações com falha para o Firebase podem atrasar a experiência do usuário final do seu app.

O que preciso fazer?

Para corrigir os serviços com falha do Firebase nos seus aplicativos:

  1. Atualize o aplicativo inicializando o Firebase com uma chave de API válida do seu projeto, um ID do projeto válido e um ID do aplicativo válido (GOOGLE_APP_ID ou "ID do app").
    1. Processo de inicialização padrão usando um arquivo de configuração do Firebase: faça o download do arquivo de configuração GoogleService-Info.plist no Console do Firebase e substitua o arquivo existente no seu app.
    2. Inicialização programática usando um objeto FIROptions: faça o download do arquivo de configuração do GoogleService-Info.plist no Console do Firebase para encontrar a chave de API, o ID do projeto e o ID do aplicativo. Atualize esses valores no objeto FIROptions no seu app.
  2. Lance uma nova versão do seu app na App Store.

Chaves do servidor FCM

Se o app usa uma chave do servidor do FCM em vez de uma chave de API do Cloud, isso pode causar uma vulnerabilidade de segurança caso você esteja usando a mesma chave do servidor do FCM para enviar notificações push via FCM. Nesse caso, é altamente recomendável que você revise como o servidor autentica as solicitações de envio ao FCM.

Observe que as chaves de servidor do FCM (que não são iguais às chaves da API do Firebase/Cloud) não podem ser incluídas em aplicativos, porque podem ser usadas para enviar notificações push no nome do seu projeto.