Compatibilidade com RN 0.86 e RNF 27.

v4.2.0

O que mudou?

A versão 4.2.0 passa a suportar React Native Firebase das versões 21 até 27 e React Native 0.76 ou superior.

A versão anterior (4.1.2) não compilava com React Native Firebase 26 ou 27, porque essas versões removeram tipos que a SDK utilizava.

Não houve mudança na API pública da SDK. Nenhuma alteração é necessária no código que chama:

  • Inngage.subscribe
  • Inngage.sendEvent
  • Inngage.addUserData
  • Inngage.notificationListener
  • useInAppHandler
  • messagingHeadlessTask

Instalação

npm install @inngageregistry/[email protected]

Dependências que precisam estar no package.json do app, nas faixas aceitas pela SDK:

PacoteFaixa aceitaObservação
@react-native-firebase/app21.0.0 a 27.xapp e messaging devem ter a mesma versão exata
@react-native-firebase/messaging21.0.0 a 27.x
@notifee/react-native7.x a 9.xusada para exibir notificações em foreground
@react-native-async-storage/async-storage2.1.0 a 3.x
react-native-device-info10.x a 15.x
react-native-permissions5.x
react-native-localize3.x
react-native-inappbrowser-reborn3.x

iOS com React Native Firebase 27

O React Native Firebase 27 integra o Firebase via Swift Package Manager e não suporta mais o Firebase via CocoaPods. No ios/Podfile:

  1. Troque use_frameworks! :linkage => :static por use_frameworks! :linkage => :dynamic. A combinação de SPM com linkage estático faz o pod install falhar.
  2. Remova linhas pod 'Firebase...', pod 'FirebaseCore', pod 'GoogleUtilities' e similares, inclusive em targets de Notification Service Extension. O Firebase passa a vir pelo SPM.
  3. Mantenha FirebaseApp.configure() no AppDelegate.swift e o GoogleService-Info.plist no projeto.
  4. Rode cd ios && pod install.

Target mínimo do iOS: 15.0.

# ios/Podfile
use_frameworks! :linkage => :dynamic

target 'SeuApp' do
  config = use_native_modules!

  use_react_native!(
    :path => config[:reactNativePath],
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )

  # Não declare pods do Firebase aqui.
end
// ios/SeuApp/AppDelegate.swift
import FirebaseCore

// dentro de application(_:didFinishLaunchingWithOptions:)
FirebaseApp.configure()

Android

Nenhuma mudança além dos requisitos do próprio React Native Firebase 27:

  • minSdkVersion 24
  • plugin com.google.gms.google-services aplicado no android/app/build.gradle
  • google-services.json em android/app/

Com React Native 0.86 são necessários Node 22.11 ou superior e Kotlin 2.0 ou superior.

Atenção: não ative o Installation ID messaging

O React Native Firebase 25 ou superior oferece uma opção de registro por Installation ID:

  • Android: firebase_messaging_installation_id_enabled no AndroidManifest.xml
  • iOS: FirebaseMessagingInstallationIdEnabled no Info.plist

Essa opção desliga as APIs de token FCM que a SDK Inngage usa para registrar o dispositivo. Deixe essa flag desativada, que é o padrão.

Checklist de validação após atualizar

  1. O app abre e o log mostra [INNGAGE] FCM token obtained (com Inngage.setDebugMode(true)).
  2. O dispositivo aparece como inscrito no painel Inngage.
  3. Um push de teste enviado pelo painel chega com o app em foreground, em background e fechado.
  4. O toque na notificação abre o app e dispara o callback do notificationListener.
  5. sendEvent registra o evento no painel.

Observação sobre o Notifee

A biblioteca @notifee/react-native foi arquivada pela Invertase em abril de 2026 e não recebe atualizações desde dezembro de 2024. Ela continua funcionando no React Native 0.86 pela camada de compatibilidade, e foi validada pela Inngage no Android com essa combinação. Caso apresente problemas, o pacote react-native-notify-kit é um substituto com a mesma API.

Matriz de compatibilidade validada

React NativeReact Native FirebaseStatus
0.76.921.0.0compila
0.82.023.4.1compila e executa (Android)
0.86.327.0.0compila e executa (Android)
0.88.027.0.0compila

Did this page help you?