RageAgainstThePixel / com.rest.firebase.storage

A non-official Firebase RESTful Storage Client for Unity (UPM)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Firebase.Storage

Discord openupm

A non-official Firebase RESTful Storage Client for the Unity Game Engine.

Based on FirebaseStorage.net

All copyrights, trademarks, logos, and assets are the property of their respective owners.

Installing

Via Unity Package Manager and OpenUPM

  • Open your Unity project settings
  • Add the OpenUPM package registry:
    • Name: OpenUPM
    • URL: https://package.openupm.com
    • Scope(s):
      • com.rest.firebase
      • com.utilities

scoped-registries

  • Open the Unity Package Manager window
  • Change the Registry from Unity to My Registries
  • Add the Firebase.Storage package

Via Unity Package Manager and Git url

  • Open your Unity Package Manager
  • Add package from git url: https://github.com/RageAgainstThePixel/com.rest.firebase.storage.git#upm

    Note: this repo has dependencies on other repositories! You are responsible for adding these on your own.


Documentation

// Create a firebase authentication client
var firebaseClient = new FirebaseAuthenticationClient();

// Create a firebase storage client
var firebaseStorageClient = new FirebaseStorageClient(firebaseClient);

// Sign the user in
await firebaseClient.SignInWithEmailAndPasswordAsync(email, password);

// Get a reference to the resource using a path.
var resource = firebaseStorageClient.Resource("root/test.json");

var json = "{\"value\":\"42\"}";

string downloadUrl;

using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(json)))
{
    // Upload content to storage
    downloadUrl = await resource.UploadAsync(stream, new Progress<FirebaseStorageProgress>(progress => Debug.Log(progress.Percentage)));
}

// Get content public download url (doesn't require authentication)
var knownUrl = await resource.GetDownloadUrlAsync();

Assert.IsTrue(downloadUrl == knownUrl);

// Download content
var httpClient = new HttpClient();
var response = await httpClient.GetAsync(knownUrl);
var responseData = await response.Content.ReadAsStringAsync();
Assert.IsTrue(responseData == json);

// Delete storage content
await resource.DeleteAsync();

Additional Packages

About

A non-official Firebase RESTful Storage Client for Unity (UPM)

License:MIT License


Languages

Language:C# 99.7%Language:Smalltalk 0.3%