Melhore seus jogos com os SDKs do Firebase para C++, que, além dos SDKs, oferecem uma interface em C++.
Acesse o Firebase com seu código C++, sem ter que escrever códigos nativos de plataformas. O SDK do Firebase também converte muitos idiomas específicos da linguagem usados pelo Firebase em uma interface mais familiar para os desenvolvedores de C++.
Veja mais informações sobre como turbinar seus jogos com o Firebase na nossa página do Firebase para jogos.
Já adicionou o Firebase ao seu projeto em C++? Verifique se você está usando a versão mais recente do SDK C++ do Firebase.
Pré-requisitos
- Instalar o seguinte: - Xcode 16.2 ou versões mais recentes
- CocoaPods 1.12.0 ou versões mais recentes
 
- Verifique se o projeto atende às seguintes versões da plataforma ou mais recentes: - iOS 13
- tvOS 13
 
- Configure um dispositivo físico ou use o simulador para executar o app. 
- Faça login no Firebase usando sua conta do Google. 
Etapa 2: criar um projeto do Firebase
Antes de adicionar o Firebase ao seu projeto em C++, é preciso criar um projeto do Firebase para ser conectado ao seu projeto em C++. Para mais informações, consulte Noções básicas sobre projetos do Firebase.
Etapa 3: registrar seu app com o Firebase
Para usar o Firebase no seu app da Apple, é necessário registrá-lo no projeto do Firebase. Registrar o app também quer dizer "adicionar" o app ao projeto.
- Acesse o console do Firebase, 
- No centro da página de visão geral do projeto, clique no ícone iOS+ para iniciar o fluxo de trabalho de configuração. - Se você já adicionou um app ao seu projeto do Firebase, clique em Adicionar app para exibir as opções da plataforma. 
- Insira o ID do pacote do seu app no campo ID do pacote. 
- (Opcional) Insira outras informações do aplicativo: apelido do aplicativo e ID da App Store. 
- Clique em Registrar app. 
Etapa 4: adicionar o arquivo de configuração do Firebase
- Clique em Fazer o download do GoogleService-Info.plist para solicitar o arquivo de configuração das plataformas da Apple do Firebase. 
- Abra seu projeto em C++ em um ambiente de desenvolvimento integrado e arraste seu arquivo de configuração para a raiz do projeto em C++. 
- Quando solicitado, selecione a opção de adicionar o arquivo de configuração a todos os destinos. 
Você concluiu as tarefas de configuração no Console do Firebase. Continue para Adicionar SDKs do Firebase para C++.
Etapa 5: adicionar SDKs do Firebase para C++
As etapas nesta seção são um exemplo de como adicionar produtos do Firebase com suporte ao seu projeto em C++ do Firebase.
- Faça o download do SDK do Firebase C++ e descompacte o SDK em um local prático. - O SDK C++ do Firebase não é específico da plataforma, mas contém bibliotecas específicas. 
- Adicione pods do Firebase a partir do SDK descompactado. - Crie um Podfile, se ainda não tiver um: - cd your-app-directory - pod init 
- No seu Podfile, adicione os pods do Firebase que você quer usar no app. - Analytics ativado- # Add the Firebase pod for Google Analytics pod 'FirebaseAnalytics' 
 # Add the pods for any other Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database pod 'FirebaseAuth' pod 'FirebaseDatabase'- Analytics não ativado- # Add the pods for the Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database pod 'FirebaseAuth' pod 'FirebaseDatabase' 
- Instale os pods e abra o arquivo - .xcworkspace.xcworkspace no Xcode.- pod install - open your-app.xcworkspace 
 
- Adicione as bibliotecas do Firebase a partir do SDK descompactado. - O jeito mais fácil de adicionar esses frameworks geralmente é arrastá-los de uma janela - Finderdiretamente para o painel Project Navigator do Xcode (à esquerda, por padrão, ou clique no ícone no canto superior esquerdo do Xcode).- Adicione a biblioteca - firebase.frameworkdo Firebase para C++, que é obrigatória para usar qualquer produto do Firebase.
- Adicione a biblioteca de cada produto do Firebase que você quiser usar. Por exemplo, para usar Firebase Authentication, adicione - firebase_auth.framework.
 
- De volta ao fluxo de trabalho de configuração no Console do Firebase, clique em Avançar. 
- Se você adicionou o Analytics, execute seu app para enviar ao Firebase a confirmação de que você integrou o Firebase com sucesso. Caso contrário, pule esta etapa de verificação. - Os registros do dispositivo exibirão a verificação do Firebase de que a inicialização foi concluída. Se você executou seu app em um emulador com acesso à rede, o Console do Firebase notifica que a conexão do seu aplicativo está completa. 
Tudo pronto! Seu app em C++ está registrado e configurado para usar os produtos do Firebase.
Bibliotecas disponíveis
Saiba mais sobre as bibliotecas do Firebase para C++ na documentação de referência e na nossa versão do SDK de código aberto no GitHub (em inglês).
Bibliotecas disponíveis para plataformas da Apple
Observe que as bibliotecas C++ para Android estão listadas na página de configuração da versão Android.
Cada produto do Firebase tem dependências diferentes. Certifique-se de adicionar todas as dependências listadas para o produto do Firebase desejado ao Podfile e ao seu projeto em C++.
Cada produto do Firebase oferece suporte apenas a algumas plataformas com SO da Apple (iOS, tvOS etc.). Verifique quais plataformas recebem suporte de cada biblioteca no link Saiba mais sobre C++ e o Firebase.
| Produto do Firebase | Bibliotecas e pods | 
|---|---|
| AdMob | (obrigatório) firebase.frameworkfirebase_admob.framework(obrigatório) firebase_analytics.frameworkpod 'FirebaseAdMob', '12.4.0'(obrigatório) pod 'FirebaseAnalytics', '12.4.0' | 
| Analytics | (obrigatório) firebase.frameworkfirebase_analytics.frameworkpod 'FirebaseAnalytics', '12.4.0' | 
| App Check | (obrigatório) firebase.frameworkfirebase_app_check.frameworkpod 'FirebaseAppCheck', '12.4.0' | 
| Authentication | (obrigatório) firebase.frameworkfirebase_auth.frameworkpod 'FirebaseAuth', '12.4.0' | 
| Cloud Firestore | (obrigatório) firebase.frameworkfirebase_firestore.frameworkfirebase_auth.frameworkpod 'FirebaseFirestore', '12.4.0'pod 'FirebaseAuth', '12.4.0' | 
| Cloud Functions | (obrigatório) firebase.frameworkfirebase_functions.frameworkpod 'FirebaseFunctions', '12.4.0' | 
| Cloud Messaging | (obrigatório) firebase.frameworkfirebase_messaging.framework(recomendado) firebase_analytics.frameworkpod 'FirebaseMessaging', '12.4.0'(recomendado) pod 'FirebaseAnalytics', '12.4.0' | 
| Cloud Storage | (obrigatório) firebase.frameworkfirebase_storage.frameworkpod 'FirebaseStorage', '12.4.0' | 
| Dynamic Links | (obrigatório) firebase.frameworkfirebase_dynamic_links.framework(recomendado) firebase_analytics.frameworkpod 'FirebaseDynamicLinks', '12.4.0'(recomendado) pod 'FirebaseAnalytics', '12.4.0' | 
| Realtime Database | (obrigatório) firebase.frameworkfirebase_database.frameworkpod 'FirebaseDatabase', '12.4.0' | 
| Remote Config | (obrigatório) firebase.frameworkfirebase_remote_config.framework(recomendado) firebase_analytics.frameworkpod 'FirebaseRemoteConfig', '12.4.0'(recomendado) pod 'FirebaseAnalytics', '12.4.0' | 
Informações adicionais para configuração em dispositivos móveis
Swizzling de métodos
No iOS, eventos de aplicativo, como abertura de URLs e recebimento de notificações, exigem que o representante do seu app implemente métodos
específicos. Por exemplo, receber uma notificação pode exigir que o representante
do app implemente application:didReceiveRemoteNotification:. Já que
cada aplicativo para iOS tem seu próprio representante, o Firebase usa
swizzling de métodos, que permite a substituição de um método por outro,
para conectar os próprios gerenciadores dele além de outros que você pode ter implementado.
As bibliotecas Dynamic Links e Cloud Messaging precisam
anexar gerenciadores ao representante do aplicativo usando o swizzling de método. Se
você estiver usando qualquer um desses produtos do Firebase, no tempo de carregamento, o Firebase vai identificar
a classe AppDelegate e fará o swizzling dos métodos necessários para dentro dela,
direcionando uma callback à implementação do método.
Configurar um fluxo de trabalho para computadores (Beta)
Ao criar um jogo, geralmente é mais fácil fazer os testes nas plataformas para computadores primeiro e implantar e testar em dispositivos móveis em uma etapa posterior do desenvolvimento. Para oferecer suporte a esse fluxo de trabalho, fornecemos um subconjunto de SDKs do Firebase C++ que pode ser executado no Windows, macOS, Linux e no editor do C++:
- Para fluxos de trabalho em computadores, faça o seguinte: - Configure seu projeto em C++ para CMake.
- Criar um projeto do Firebase
- Registre seu app (iOS ou Android) com o Firebase.
- Adicione um arquivo de configuração do Firebase para plataformas de dispositivos móveis.
 
- Crie uma versão para computador do arquivo de configuração do Firebase: - Se você adicionou o arquivo - google-services.jsondo Android: ao executar o app, o Firebase localiza esse arquivo de dispositivo móvel e gera automaticamente um arquivo de configuração do Firebase para computador (- google-services-desktop.json)
- Se você adicionou o arquivo - GoogleService-Info.plist: Antes de executar o app, você precisa converter esse arquivo de configuração do Firebase de dispositivo móvel para um de computador. Para converter o arquivo, execute o seguinte comando no mesmo diretório que seu arquivo- GoogleService-Info.plist:- generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist 
 - Esse arquivo de configuração para computadores contém o ID do projeto em C++ que você inseriu no fluxo de trabalho de configuração do Console do Firebase. Para mais informações, consulte Noções básicas sobre projetos do Firebase. 
- Adicione os SDKs do Firebase ao seu projeto em C++. - As etapas abaixo servem como exemplo de como adicionar qualquer produto do Firebase compatível ao seu projeto em C++. Neste exemplo, mostraremos como adicionar Firebase Authentication e Firebase Realtime Database. - Defina a variável de ambiente - FIREBASE_CPP_SDK_DIRcomo o local do SDK Firebase C++ descompactado.
- Adicione o seguinte conteúdo ao arquivo - CMakeLists.txtdo seu projeto, incluindo as bibliotecas dos produtos do Firebase que você quer usar. Por exemplo, para usar Firebase Authentication, Firebase Realtime Database e:- # Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. # Add the Firebase SDKs for the products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database set(firebase_libs firebase_auth firebase_database firebase_app) target_link_libraries(${target_name} "${firebase_libs}") 
 
- Execute seu app em C++. 
Bibliotecas disponíveis (computador)
O SDK do Firebase C++ inclui suporte a fluxo de trabalho em computadores para um subconjunto de recursos. Isso permite que determinadas partes do Firebase sejam usadas em versões independentes para computadores no Windows, macOS e Linux.
| Produto do Firebase | Referências da biblioteca (usando o CMake) | 
|---|---|
| App Check | firebase_app_check(obrigatório) firebase_app | 
| Authentication | firebase_auth(obrigatório) firebase_app | 
| Cloud Firestore | firebase_firestorefirebase_authfirebase_app | 
| Cloud Functions | firebase_functions(obrigatório) firebase_app | 
| Cloud Storage | firebase_storage(obrigatório) firebase_app | 
| Realtime Database | firebase_database(obrigatório) firebase_app | 
| Remote Config | firebase_remote_config(obrigatório) firebase_app | 
O Firebase fornece as bibliotecas para computador restantes como implementações stub (não funcionais) para sua comodidade durante a criação de projetos para Windows, macOS e Linux. Elas eliminam a necessidade de compilar códigos de modo condicional na segmentação para computadores.
Desktop Realtime Database
O SDK do Realtime Database para computadores usa REST para acessar seu banco de dados. Portanto, você precisa
declarar os índices que
usa com Query::OrderByChild() no computador para evitar falha nos listeners.
Informações adicionais para a configuração em computadores
Bibliotecas do Windows
Para o Windows, as versões da biblioteca são fornecidas com base no seguinte:
- Plataforma da versão: modo de 32 bits (x86) x modo de 64 bits (x64)
- Ambiente de execução do Windows: Multithreaded/MT x Multithreaded DLL/MD
- Destino: lançamento x depuração
Observe que as seguintes bibliotecas foram testadas usando o Visual Studio 2015 e 2017.
Ao criar aplicativos de computador em C++ no Windows, vincule as seguintes bibliotecas do SDK do Windows ao seu projeto. Consulte a documentação do seu compilador para mais informações.
| Biblioteca do Firebase para C++ | Dependências da biblioteca do SDK do Windows | 
|---|---|
| App Check | advapi32, ws2_32, crypt32 | 
| Authentication | advapi32, ws2_32, crypt32 | 
| Cloud Firestore | advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32 | 
| Cloud Functions | advapi32, ws2_32, crypt32, rpcrt4, ole32 | 
| Cloud Storage | advapi32, ws2_32, crypt32 | 
| Realtime Database | advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv | 
| Remote Config | advapi32, ws2_32, crypt32, rpcrt4, ole32 | 
Bibliotecas do macOS
No macOS (Darwin), as versões da biblioteca são fornecidas para a plataforma de 64 bits (x86_64). Frameworks também são fornecidos para sua conveniência.
Observe que as bibliotecas do macOS foram testadas usando o Xcode 16.2.
Ao criar apps para computador em C++ no macOS, vincule o seguinte ao seu projeto:
- Biblioteca do sistema pthread
- Framework CoreFoundationdo sistema macOS
- Framework Foundationdo sistema macOS
- Framework Securitydo sistema macOS
- Framework GSSdo sistema macOS
- Framework Kerberosdo sistema macOS
- Framework SystemConfigurationdo sistema macOS
Consulte a documentação do seu compilador para mais informações.
Bibliotecas do Linux
No Linux, as versões da biblioteca são fornecidas para plataformas de 32 bits (i386) e 64 bits (x86_64).
Observe que as bibliotecas do Linux foram testadas usando o GCC 4.8.0, o GCC 7.2.0 e o Clang 5.0 no Ubuntu.
Ao criar aplicativos de computador em C++ no Linux, vincule a biblioteca de sistema pthread ao
seu projeto. Consulte a documentação do seu compilador para mais informações. Se
você estiver criando com o GCC 5 ou versões mais recentes, defina -D_GLIBCXX_USE_CXX11_ABI=0.
Próximas etapas
- Conheça os aplicativos de amostra do Firebase. 
- Conheça o SDK de código aberto no GitHub (em inglês). 
- Prepare-se para lançar seu aplicativo: - Configure os alertas de orçamento para seu projeto no console Google Cloud.
- Monitore o painel Uso e faturamento no console do Firebase para ter uma visão geral do uso do projeto em vários serviços do Firebase.
- Consulte a checklist de lançamento do Firebase.