Cómo agregar Firebase a tu proyecto de Unityplat_iosplat_androidplat_unity

Resumen

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 contenido que se puede descargar a los jugadores mediante nuestro servicio seguro.

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
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 de aplicación 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 tu app. Para ello, necesitarás un proyecto y un archivo de configuración de Firebase para la app.

  1. Crea un proyecto en Firebase console si no lo hiciste anteriormente. Si ya tienes un proyecto de Google asociado con tu app para dispositivos móviles, haz clic en Importar proyecto de Google. De lo contrario, haz clic en Crear proyecto nuevo.
  2. Haz clic en la opción para agregar Firebase a tu app para iOS y sigue los pasos de la configuración. Si estás importando un proyecto de Google existente, es posible que esto ocurra de forma automática y solo tengas que descargar el archivo de configuración.
  3. 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.
  4. Para finalizar el proceso, descargarás un archivo GoogleService-Info.plist. Puedes volver a descargarlo en cualquier momento.

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

Para agregar Firebase a tu app, necesitarás un proyecto y un archivo de configuración de Firebase para tu app.

  1. Crea un proyecto en Firebase console si no lo hiciste anteriormente. Si ya tienes un proyecto de Google asociado con tu app para dispositivos móviles, haz clic en Importar proyecto de Google. De lo contrario, haz clic en Crear proyecto nuevo.
  2. Haz clic en la opción para agregar Firebase a tu app para Android y sigue los pasos de la configuración. Si estás importando un proyecto de Google existente, es posible que esto ocurra de forma automática y solo tengas que descargar el archivo de configuración.
  3. 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.
  4. Para finalizar el proceso, descargarás un archivo google-services.json. Puedes volver a descargarlo en cualquier momento.

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 de la programación. 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
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 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 y Storage crean 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 los complementos de Realtime Database y de Storage fallen. 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…

¿Necesitas ayuda? Visita nuestra página de asistencia.