Cómo agregar Firebase a tu proyecto de Unityplat_iosplat_androidplat_unity

Descripción general

Mejora tus juegos de Unity con nuestros SDK de Firebase Unity.

  • Con Analytics, conoce cómo los jugadores experimentan tu juego, cuánto tiempo le dedican, cuánto demoran en completar cada nivel, cuánto contenido compran en la aplicación y mucho más.
  • Dynamic Links te permite compartir contenido, como niveles personalizados, elementos del juego y también invitaciones entre los usuarios.

  • Con Cloud Messaging puedes publicar contenido nuevo y enviar notificaciones push a los jugadores que hayan completado el contenido disponible.

  • Remote Config te permite ajustar en forma instantánea la configuración del juego para modificar la densidad de enemigos, la frecuencia de los poderes especiales o cualquier otro aspecto que desees controlar.

  • Realtime Database almacena contenido generado por el usuario, como mapas personalizados, de forma segura en la nube.

  • Cloud Storage ofrece a los jugadores contenido descargable mediante nuestro servicio seguro.

  • Cloud Functions te permite ejecutar el código de backend en respuesta a eventos activados por las funciones de Firebase y las solicitudes de clientes.

Descarga el SDK


Descubre cómo puedes mejorar tus juegos en nuestra página de juegos de Firebase.

Funciones

Las siguientes funciones son compatibles con el SDK de Firebase Unity en iOS y Android:

Función Paquete de Unity
AdMob Se distribuye por separado en el Complemento AdMob Unity
Analytics FirebaseAnalytics.unitypackage
Authentication FirebaseAuth.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Dynamic Links FirebaseDynamicLinks.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Invites FirebaseInvites.unitypackage
Cloud Messaging FirebaseMessaging.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage
Cloud Storage FirebaseStorage.unitypackage

El SDK de Firebase Unity incluye compatibilidad con flujos de trabajo de escritorio para un subconjunto de características, lo que permite usar ciertas partes de Firebase en el editor de Unity y en versiones independientes para computadoras de escritorio en Windows, OS X y Linux. (Beta)

Juego de muestra: MechaHamster

Para demostrarte lo fácil que es integrar Firebase a tu proyecto de Unity, creamos "MechaHamster", un juego de muestra que puedes descargar desde GitHub, App Store y Google Play Store (consulta los vínculos siguientes)

MechaHamster en GitHub MechaHamster en App Store MechaHamster en Play Store

Configurar para iOS

Requisitos previos

  • Unity 5.3 o una versión más reciente
  • Xcode 8.0 o una versión más reciente
  • Para Cloud Messaging:
    • Dispositivo iOS
    • Un certificado APNS con notificaciones push habilitadas
  • CocoaPods 1.2.0 o una versión más reciente
  • Un identificador de paquete del proyecto Unity

Si aún no tienes un proyecto Unity, puedes descargar uno de nuestros ejemplos de inicio rápido si solo quieres probar una de las funciones de Firebase. Si usas un inicio rápido, recuerda obtener el identificador de paquete en la configuración del proyecto, ya que lo necesitarás en el próximo paso.

Agrega Firebase a tu app

Es hora de agregar Firebase a la app. Primero, necesitarás un proyecto y un archivo de configuración de Firebase para la app.

Para crear un proyecto de Firebase:

  1. Crea un proyecto en Firebase console si no lo hiciste anteriormente. Haz clic en Agregar proyecto. Si ya tienes un proyecto de Google asociado con la app para dispositivos móviles, selecciónalo en el menú desplegable Nombre del proyecto. De lo contrario, escribe un nombre para crear un proyecto nuevo.
  2. Opcional: Edita el ID del proyecto. Cada proyecto recibe de forma automática un ID único que se usa en funciones de Firebase visibles públicamente, como las URL de bases de datos y tu subdominio de Firebase Hosting. Puedes cambiarlo en este momento si deseas usar un subdominio específico.
  3. Sigue los pasos de configuración restantes y haz clic en Crear proyecto (o Agregar Firebase si usas un proyecto existente) a fin de aprovisionar recursos para el proyecto. Este proceso suele tardar algunos minutos. Cuando finalice, verás la descripción general del proyecto.

Ahora que tienes un proyecto, puedes agregar la app para iOS:

  1. Haz clic en Agrega Firebase a tu app para iOS y sigue los pasos de configuración. Si importas un proyecto de Google existente, es posible que esto ocurra de forma automática y solo tengas que descargar el archivo de configuración.
  2. Ingresa el ID de paquete de la app cuando se te solicite. Es importante que ingreses el ID de paquete que está usando la app. Esto solo se puede configurar cuando agregas una app al proyecto de Firebase.
  3. Durante el proceso, descargarás un archivo GoogleService-Info.plist. Puedes volver a descargarlo en cualquier momento.
  4. Después de agregar el código de inicialización, ejecuta la app para verificar con Firebase console que instalaste Firebase correctamente.

Agrega el SDK a tu app

  1. Si aún no tienes un proyecto Unity, crea uno. También puedes usar uno de los ejemplos de inicio rápido para probar una función de Firebase.
  2. Descarga el SDK de Firebase Unity y descomprímelo en el lugar que prefieras.
  3. Abre tu proyecto Unity en el editor de Unity.

    • Selecciona el elemento de menú File > Open Project.
    • Haz clic en Open.
    • Navega al directorio de la app y haz clic en Open.
  4. Importa el complemento de función de Firebase, como Firebase Analytics.

    • Selecciona el elemento de menú Assets > Import Package > Custom Package.
    • Importa FirebaseAnalytics.unitypackage desde el SDK de Firebase Unity que descargaste anteriormente.
    • Haz clic en Import cuando aparezca la ventana Import Unity Package.
  5. Agrega el archivo GoogleService-Info.plist al proyecto.

    • Navega hasta la carpeta Assets en la ventana Project.
    • Arrastra el archivo GoogleService-Info.plist que se descargó de Firebase console a la carpeta.
      • NOTA: El archivo GoogleService-Info.plist se puede ubicar en cualquier lugar bajo la carpeta Assets.
  6. Compila para iOS

    • Selecciona la opción de menú File > Build Settings.
    • Selecciona iOS en la lista Platform.
    • Haz clic en Switch Platform para elegir iOS como plataforma seleccionada.
    • Espera a que el ícono de compilación ubicado en la esquina inferior derecha de la barra de estado de Unity deje de girar.
    • Haz clic en Build and Run.

Configuración para Android

  • Unity 5.3 o una versión más reciente
  • Un dispositivo con Android 4.0 (Ice Cream Sandwich) o una versión más reciente
  • Un identificador de paquete del proyecto Unity

Si aún no tienes un proyecto Unity, puedes descargar uno de nuestros ejemplos de inicio rápido si solo quieres probar una de las funciones de Firebase. Si usas un inicio rápido, recuerda obtener el identificador de paquete en la configuración del proyecto, ya que lo necesitarás en el próximo paso.

Agrega Firebase a tu app

Es hora de agregar Firebase a tu app. Primero, necesitarás un proyecto y un archivo de configuración de Firebase para la app.

Para crear un proyecto de Firebase:

  1. Crea un proyecto en Firebase console si no lo hiciste anteriormente. Haz clic en Agregar proyecto. Si ya tienes un proyecto de Google asociado con la app para dispositivos móviles, selecciónalo en el menú desplegable Nombre del proyecto. De lo contrario, escribe un nombre para crear un proyecto nuevo.
  2. Opcional: Edita el ID del proyecto. Cada proyecto recibe de forma automática un ID único que se usa en funciones de Firebase visibles públicamente, como las URL de bases de datos y tu subdominio de Firebase Hosting. Puedes cambiarlo en este momento si deseas usar un subdominio específico.
  3. Sigue los pasos de configuración restantes y haz clic en Crear proyecto (o Agregar Firebase si usas un proyecto existente) a fin de aprovisionar recursos para el proyecto. Este proceso suele tardar algunos minutos. Cuando finalice, verás la descripción general del proyecto.

Ahora que tienes un proyecto, puedes agregar tu app para Android:

  1. Haz clic en Agrega Firebase a tu app para Android y sigue los pasos de la configuración. Si importas un proyecto de Google existente, es posible que esto ocurra de forma automática y solo tengas que descargar el archivo de configuración.
  2. Ingresa el nombre del paquete de la app cuando se te solicite. Es importante que ingreses el nombre de paquete que está usando la app. Esto solo se puede configurar cuando agregas una app al proyecto de Firebase.
  3. Durante el proceso, descargarás un archivo google-services.json. Puedes volver a descargarlo en cualquier momento.
  4. Después de agregar el código de inicialización, ejecuta tu app para verificar con Firebase console que instalaste Firebase correctamente.

Agrega el SDK a tu app

  1. Si aún no tienes un proyecto Unity, crea uno. También puedes usar uno de los ejemplos de inicio rápido para probar una función de Firebase.
  2. Descarga el SDK de Firebase Unity y descomprímelo en el lugar que prefieras.
  3. Abre tu proyecto Unity en el editor de Unity.

    • Selecciona el elemento de menú File > Open Project.
    • Haz clic en Open.
    • Navega al directorio de la app y haz clic en Open.
  4. Importa el complemento de función de Firebase, como Firebase Analytics.

    • Selecciona el elemento de menú Assets > Import Package > Custom Package.
    • Importa FirebaseAnalytics.unitypackage desde el SDK de Firebase Unity que descargaste anteriormente.
    • Haz clic en Import cuando aparezca la ventana Import Unity Package.
  5. Agrega el archivo google-services.json al proyecto.

    • Navega hasta la carpeta Assets en la ventana Project.
    • Arrastra el archivo google-services.json que se descargó de Firebase console a la carpeta.
      • NOTA: El archivo google-services.json se puede ubicar en cualquier lugar bajo la carpeta Assets.
  6. Compila para Android

    • Selecciona la opción de menú File > Build Settings.
    • Selecciona Android en la lista Platform.
    • Haz clic en Switch Platform para elegir Android como plataforma seleccionada.
    • Espera a que el ícono de compilación ubicado en la esquina inferior derecha de la barra de estado de Unity deje de girar.
    • Haz clic en Build and Run.

Implementaciones de flujos de trabajo de escritorio (característica en versión Beta)

Cuando creas una app, suele ser más fácil probarla en el editor de Unity y en plataformas de escritorio antes de implementarla y probarla en dispositivos móviles en una etapa posterior del desarrollo. Para admitir este flujo de trabajo, proporcionamos un subconjunto del SDK de Firebase Unity que se puede ejecutar en Windows, OS X, Linux y desde dentro del editor de Unity:

Característica para escritorio Biblioteca
Authentication FirebaseAuth.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage
Cloud Storage FirebaseStorage.unitypackage

Las bibliotecas de escritorio restantes son implementaciones auxiliares (no funcionales), que se proporcionan a fin de realizar compilaciones para Windows, OS X y Linux sin tener que compilar código de manera condicional para una versión de escritorio.

Configuración del proyecto de escritorio

Para usar la compatibilidad con los flujos de trabajo en computadoras de escritorio, debes tener un proyecto de Android o iOS configurado en Firebase console.

Sigue las instrucciones de Configuración para Android o Configuración para iOS y configura el SDK de Firebase Unity en tu app.

Firebase usará el archivo GoogleService-Info.plist o google-services.json automáticamente en tu proyecto a fin de configurar tu app cuando la ejecutes en el editor de Unity o en la versión para computadoras de escritorio.

Ejecución en el modo de edición

El SDK de Firebase Unity también se puede ejecutar en el modo de edición de Unity, lo que te permite usarlo en complementos del editor. Cuando crees una FirebaseApp a fin de que la use el editor, no uses la instancia predeterminada. En su lugar, proporciona un nombre único para la llamada a FirebaseApp.Create(). Esto es importante para evitar conflictos en las opciones entre la instancia que usa el editor de Unity y la instancia que usa tu aplicación.

Nota sobre la compatibilidad de escritorio del SDK de Firebase Unity

La compatibilidad de escritorio con el SDK de Firebase Unity es una característica Beta y está diseñada para su uso con flujos de trabajo solo durante la programación de tu aplicación, no para el envío público de códigos.

Problemas conocidos

Cómo instalar complementos en proyectos de Unity 2017.x .NET 4.x

La compatibilidad con .NET 4.x está disponible como una opción de compilación experimental en Unity 2017 y en las versiones posteriores. Los complementos de Firebase usan componentes del SDK de Parse para proporcionar algunas clases de .NET 4.x en versiones anteriores de .NET. Por lo tanto, cuando importes Firebase en un proyecto con .NET 4.x habilitado, verás errores de compilación de algunos tipos en el marco de trabajo de .NET 4.X que implementa el SDK de Parse.

Para resolver el error de compilación, haz lo siguiente:

  1. Quita o inhabilita los siguientes DLL para todas las plataformas:
    • Parse/Plugins/Unity.Compat.dll
    • Parse/Plugins/Unity.Tasks.dll
  2. Habilita los siguientes DLL para todas las plataformas:
    • Parse/Plugins/dotNet45/Unity.Compat.dll
    • Parse/Plugins/dotNet45/Unity.Tasks.dll

Si importas otro complemento de Firebase, haz lo siguiente:

  • Selecciona el elemento de menú Assets > Play Services Resolver > Version Handler > Update para volver a habilitar los DLL de .NET 4.x y también inhabilitar los DLL de .NET 3.x.

Compilación Unity 2017.1 IL2CPP en proyectos .NET 4.x

La compatibilidad con .NET 4.x está disponible como una opción de compilación experimental en Unity 2017 y en las versiones posteriores. Los complementos de Firebase usan componentes del SDK de Parse para proporcionar algunas clases de .NET 4.x en versiones anteriores de .NET. Se proporcionan DLL de desvío que desvían los tipos Parse (p. ej., implementación Parse de System.Threading.Tasks.Task) a .NET framework. Lamentablemente, el IL2CPP (transpilador que convierte C# a C++) que se envió con Unity 2017.1.x no procesa correctamente los DLL de desvío, lo que genera errores de compilación como el siguiente:

Fatal error in Unity CIL Linker Mono.Cecil.ResolutionException: Failed to resolve System.Threading.Tasks.TaskCompletionSource1`

Todavía no hay una solución alternativa para los errores de compilación de .NET 4.x IL2CPP en Unity 2017.1. Los usuarios deben actualizar su versión a la 2017.2 o posterior para usar .NET 4.x en proyectos compilados con IL2CPP.

Herramientas de redes de Unity 2017.2

Realtime Database crea conexiones de red TLS con la pila de herramientas de redes de .NET. La función TLS presenta errores en Unity 2017.2 cuando se usa .NET 4.6, lo que causa que el complemento de Realtime Database falle en el editor y en computadoras de escritorio. No hay una solución para este problema, por lo que debes usar una versión diferente de Unity, como 2017.1 o 2017.3.

Asistencia

Asistencia de Firebase

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.