Primeros pasos con Cloud Storage para Unity

Con Cloud Storage para Firebase puedes subir y compartir contenido generado por los usuarios, como imágenes y videos, lo que te permite integrar contenido de rich media en tus apps. Los datos se almacenan en un depósito de Google Cloud Storage, una solución de almacenamiento de objetos a escala de exabytes con alta disponibilidad y redundancia global. Cloud Storage te permite subir de forma segura estos archivos directamente desde dispositivos móviles y navegadores web, además de administrar las redes irregulares con facilidad.

Antes de comenzar

Sigue estos pasos antes de empezar a usar Cloud Storage:

  • Registra tu proyecto de Unity y configúralo para usar Firebase.

    • Si tu proyecto de Unity ya usa Firebase, significa que ya está registrado y configurado para esa plataforma.

    • Si aún no tienes un proyecto de Unity, puedes descargar una app de muestra.

  • Agrega el SDK de Firebase Unity (en específico, FirebaseStorage.unitypackage) al proyecto de Unity.

Ten en cuenta que agregar Firebase a tu proyecto de Unity implica realizar tareas en Firebase console y en el proyecto abierto de Unity (por ejemplo, descargar archivos de configuración de Firebase desde la consola y transferirlos al proyecto de Unity).

Configura el acceso público

Cloud Storage para Firebase proporciona un lenguaje de reglas declarativas que te permite definir cómo se deben estructurar los datos, cómo se deben indexar y cuándo se pueden leer y escribir. Según la configuración predeterminada, el acceso de lectura y escritura a Storage es restringido, por lo que solo los usuarios autenticados pueden leer o escribir datos. Para comenzar sin configurar Authentication, puedes definir tus reglas de acceso público.

Esto hace que Storage esté abierto para todos, incluso la gente que no usa tu app, así que asegúrate de volver a restringir Storage cuando configures la autenticación.

Accede a la clase FirebaseStorage

Firebase.Storage.FirebaseStorage es el punto de entrada al SDK de Unity de Cloud Storage.

// Get a reference to the storage service, using the default Firebase App
FirebaseStorage storage = FirebaseStorage.DefaultInstance;

Estás listo para comenzar a usar Cloud Storage.

En primer lugar, veamos cómo crear una referencia a Cloud Storage.

Configuración avanzada

Hay algunos casos de uso que necesitan configuración adicional:

El primer caso de uso es perfecto si tienes usuarios en todo el mundo y quieres almacenar sus datos cerca de ellos. Por ejemplo, puedes crear depósitos en EE.UU., Europa y Asia para almacenar datos de usuarios de esas regiones, a fin de reducir la latencia.

El segundo caso de uso es útil si tienes datos con diferentes patrones de acceso. Por ejemplo, puedes configurar un depósito regional o multirregional que almacene fotos o cualquier tipo de contenido al que se accede con frecuencia y, por otro lado, un depósito de Nearline o Coldline que almacene copias de seguridad de usuarios y otros tipos de contenido a los que se accede con poca frecuencia.

En ambos casos de uso, te recomendamos usar varios depósitos de almacenamiento.

El tercer caso de uso es útil si estás creando una app, como Google Drive, que permite a los usuarios acceder con varias cuentas (por ejemplo, una cuenta personal y una cuenta de trabajo). Puedes usar una instancia de app de Firebase personalizada para autenticar cada cuenta adicional.

Usa varios depósitos de almacenamiento

Si deseas usar un depósito de almacenamiento distinto del que se proporcionó antes de forma predeterminada o usar varios depósitos de almacenamiento en una sola app, puedes crear una instancia de FirebaseStorage que haga referencia a tu depósito personalizado:

// Get a non-default Storage bucket
var storage = FirebaseStorage.GetInstance("gs://my-custom-bucket");

Trabaja con depósitos importados

Cuando importes un depósito de Cloud Storage a Firebase, deberás permitir que Firebase acceda a estos archivos con la herramienta gsutil que se incluye en el SDK de Google Cloud. Para ello, usa el siguiente comando:

gsutil -m acl ch -r -u firebase-storage@system.gserviceaccount.com:O gs://<your-cloud-storage-bucket>

Esto no afecta los depósitos creados recientemente, ya que el control de acceso predeterminado permite el acceso de Firebase. Esta es una medida temporal y se ejecutará de forma automática en el futuro.

Usa una app de Firebase personalizada

Si estás compilando una app más complicada con una FirebaseApp personalizada, puedes crear una instancia de FirebaseStorage inicializada con esa app. Para ello, sigue este ejemplo:

// Get the default bucket from a custom FirebaseApp
FirebaseStorage storage = FirebaseStorage.GetInstance(customApp);

// Get a non-default bucket from a custom FirebaseApp
FirebaseStorage storage = FirebaseStorage.GetInstance(customApp, "gs://my-custom-bucket");

Enviar comentarios sobre…

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