Exemple #1
0
    void OnDestroy()
    {
        // Write and save game data to .json file
        string saveText = JsonUtility.ToJson(listw);

        Debug.Log("readAler: " + saveText);

        string datetime = DateTime.Now.ToString("yyyyMMddHHmmss");


        if (!Directory.Exists(out_folder))
        {
            Directory.CreateDirectory(out_folder);
        }

        if (!Directory.Exists(out_folder + gameObject.name + "/" + "pickup/"))
        {
            Directory.CreateDirectory(out_folder + gameObject.name + "/" + "pickup/");
        }

        string filename       = "pickup_" + datetime + ".json";
        string local_filepath = out_folder + gameObject.name + "/" + "pickup/" + filename;

        File.WriteAllText(local_filepath, saveText); // TODO @Matthew: This takes 2 arguments, the filepath and the json saveText var

        // Get a reference to Firebase cloud storage service
        Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;

        // Create storage reference from our storage service bucket
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://unityoptics-eafc0.appspot.com");

        //  Create a reference to newly created .json file
        Firebase.Storage.StorageReference game_data_ref = storage_ref.Child(filename);

        // Create reference to 'gameData/filename'
        Firebase.Storage.StorageReference game_data_json_ref =
            storage_ref.Child("gameData/" + gameObject.name + "/" + "pickup/" + filename);

        // Upload Files to Cloud FireStore
        game_data_json_ref.PutFileAsync(local_filepath)
        .ContinueWith((System.Threading.Tasks.Task <StorageMetadata> task) => {
            if (task.IsFaulted || task.IsCanceled)
            {
                Debug.Log(task.Exception.ToString());
                // Error Occured
            }
            else
            {
                //Metadata contains file metadata such as size, content-type, and download URL.
                Firebase.Storage.StorageMetadata metadata = task.Result;
                // string download_url = metadata.DownloadUrl.ToString();
                Debug.Log("Finished uploading...");
                // Debug.Log("download url = " + download_url);
            }
        });
    }
Exemple #2
0
 public void DownloadURL(string fileName)
 {
     m_status = "DownloadURL";
     assetReferance.Child(fileName).GetDownloadUrlAsync().ContinueWith((System.Threading.Tasks.Task <System.Uri> task) => {
         if (!task.IsFaulted && !task.IsCanceled)
         {
             m_status = "Download URL: " + task.Result.AbsoluteUri;
             // ... now download the file via WWW or UnityWebRequest.
         }
         else
         {
             m_status = "Error" + task.ToString();
         }
     });
 }
        private StorageReference getByPath(string path)
        {
            FirebaseStorage storage = FirebaseStorage.DefaultInstance;

            Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl(bucketUrl);
            return(storage_ref.Child(path));
        }
    // mp4 movie upload...  테스트 안 해봤음.
    IEnumerator UploadProcessByteBufferMP4Format()
    {
        yield return(new WaitForEndOfFrame());

        Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;
        // Create a storage reference from our storage service
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://fir-authtest22.appspot.com");

        string local_file = "";

        if (Application.platform == RuntimePlatform.Android)
        {
            local_file = Application.persistentDataPath + "/" + fileName;
        }
        else
        {
            local_file = "C:/Users/Gana/Downloads/Test_imgs/" + fileName;
        }

        Firebase.Storage.StorageReference rivers_ref = storage_ref.Child("stuff/" + fileName);
        WWW www = new WWW("file:///" + local_file);

        while (!www.isDone)
        {
            yield return(null);
        }

        Texture2D tmpTexture = new Texture2D(www.texture.width, www.texture.height, TextureFormat.RGB24, false);

        tmpTexture.SetPixels(www.texture.GetPixels());
        tmpTexture.Apply();
        byte[] bytes = tmpTexture.EncodeToPNG();

        var TmpTask = rivers_ref.PutBytesAsync(bytes, null, new Firebase.Storage.StorageProgress <Firebase.Storage.UploadState>(state =>
        {
            Debug.Log(string.Format("Progress: {0} of {1} bytes transferred.", state.BytesTransferred, state.TotalByteCount));
            PercentView(state.BytesTransferred, state.TotalByteCount);
        }), System.Threading.CancellationToken.None, null).ContinueWith(task =>
        {
            Debug.Log(string.Format("OnClickUpload::IsCompleted:{0} IsCanceled:{1} IsFaulted:{2}", task.IsCompleted, task.IsCanceled, task.IsFaulted));

            if (task.IsFaulted || task.IsCanceled)
            {
                Debug.Log(task.Exception.ToString());
                // Uh-oh, an error occurred!
            }
            else
            {
                // Metadata contains file metadata such as size, content-type, and download URL.
                Firebase.Storage.StorageMetadata metadata = task.Result;
                Debug.Log("Finished uploading...");
                //foreach (var entry in metadata.DownloadUrls)
                //    Debug.Log("download url = " + entry);
            }
        });

        yield return(new WaitUntil(() => TmpTask.IsCompleted));

        PrintState("uploading complete..");
    }
    IEnumerator DeleteProcess()
    {
        yield return(new WaitForEndOfFrame());

        Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;
        // Create a storage reference from our storage service
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://eduplatform-97d55.appspot.com/");
        // Create a reference to the file you want to upload
        Firebase.Storage.StorageReference rivers_ref = storage_ref.Child("ccc/" + fileName);                                                                         // 삭제하려는 파일의 레퍼런스...

        // Delete the file
        Task tmpTask = rivers_ref.DeleteAsync().ContinueWith(task => {
            if (task.IsCompleted)
            {
                Debug.Log("File deleted successfully.");
            }
            else
            {
                Debug.Log("error...");
            }
        });

        yield return(new WaitUntil(() => tmpTask.IsCompleted));

        PrintState("delete file complete");
    }
    public void BuildTarget()
    {
        if (udt_FrameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_HIGH)
        {
            udt_targetBuildingBehavior.BuildNewTarget(targetCounter.ToString(), targetBehavior.GetSize().x);

            Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;

            Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://ar-demo-1f5c9.appspot.com");

            Firebase.Storage.StorageReference file_ref = storage_ref.Child("images/" + FileControl.FilePath);

            file_ref.PutFileAsync("./Assets/Resources/" + FileControl.FilePath + ".txt").ContinueWith((Task <StorageMetadata> task) =>
            {
                if (task.IsFaulted || task.IsCanceled)
                {
                    Debug.Log("STILL HERE");
                    Debug.Log(task.Exception.ToString());
                    // Uh-oh, an error occurred!
                }
                else
                {
                    // Metadata contains file metadata such as size, content-type, and download URL.
                    Firebase.Storage.StorageMetadata metadata = task.Result;
                    //string download_url = metadata.DownloadUrl.ToString();
                    //Debug.Log("Finished uploading...");
                    //Debug.Log("download url = " + download_url);
                }
            });
        }
    }
Exemple #7
0
    public void DownloadLanguageFile(string filePath, string version, Action successAction, Action errorAction, Action <float> updateAction, LoadingViewController loadingView)
    {
        languageFileSuccessCallback = successAction;
        languageFileErrorCallback   = errorAction;
        updateCallback = updateAction;

        languageFileVersion = version;
        Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;
        // Points to the root reference
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://flickpool-84778.appspot.com/");

        Firebase.Storage.StorageReference file_ref = storage_ref.Child(filePath);

        file_ref.GetDownloadUrlAsync().ContinueWith((Task <Uri> task) => {
            if (!task.IsFaulted && !task.IsCanceled)
            {
                Debug.Log("Download URL: " + task.Result);
                loadingView.StartCoroutine(DownloadFile(task.Result.ToString(), Utility.GetPathForDownloadedLanguageFile()));
            }
            else
            {
                Debug.Log("error downloading");
                LanguageFileSyncFailed();
            }
        });
    }
    private void uploadFile()
    {
        byte[] file_bytes = GetImage();

        var new_metadata = new Firebase.Storage.MetadataChange();

        new_metadata.ContentType = "image/jpg";

        // Upload the file to the path "myPic.jpg" by PutBytesAsync() method
        storage_ref.Child("myPic.jpg").PutBytesAsync(file_bytes, new_metadata).ContinueWith((Task <StorageMetadata> task) => {
            if (task.IsFaulted || task.IsCanceled)
            {
                // print error messages
                Debug.Log("uploading file doesn't complete: " + task.Exception.ToString());
            }
            else
            {
                Debug.Log("uploading file Done");

                // Fetch the download URL
                storage_ref.Child("myPic.jpg").GetDownloadUrlAsync().ContinueWith((Task <Uri> task2) => {
                    if (!task2.IsFaulted && !task2.IsCanceled)
                    {
                        Debug.Log("Download URL: " + task2.Result);
                    }
                    else
                    {
                        Debug.Log("file not found!!");
                    }
                });
            }
        });

        // Upload the file to the path "myPic.jpg" by PutFileAsync() method

        /*storage_ref.Child("myPic.jpg").PutFileAsync("FilePath/FileName.xxx").ContinueWith((Task<StorageMetadata> task) => {
         *  if (task.IsFaulted || task.IsCanceled)
         *  {
         *      // print error messages
         *      Debug.Log("uploading file doesn't complete: " + task.Exception.ToString());
         *  }
         *  else
         *  {
         *      Debug.Log("uploading file Done");
         *  }
         * });*/
    }
    IEnumerator AssetBudleDownloadLocal()                                                                               // 로컬 방식 다운로드..
    {
        bLoading = true;
        Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;
        // Create a storage reference from our storage service
        //Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://fir-authtest22.appspot.com");
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://eduplatform-97d55.appspot.com/");
        // Create a reference to the file you want to upload
        Firebase.Storage.StorageReference rivers_ref = storage_ref.Child("AssetBundleTest1/" + assetBundleName);                            // 업로드 확인해야 함...

        string local_file = "";

        if (Application.platform == RuntimePlatform.Android)
        {
            if (!Directory.Exists(Application.persistentDataPath + "/" + "AssetBundle"))                                                    //폴더가 있는지 체크하고 없으면 만든다.
            {
                Directory.CreateDirectory(Application.persistentDataPath + "/" + "AssetBundle");
            }
            if (File.Exists(Application.persistentDataPath + "/" + "AssetBundle" + "/" + assetBundleName))
            {
                StartCoroutine(AssetBundleLoadFromLocal());                                                                                                 // 에셋번들 로드...
                yield break;
            }
            local_file = Application.persistentDataPath + "/" + "AssetBundle" + "/" + assetBundleName;
        }
        else
        {
            if (File.Exists("C:/Users/Gana/Downloads/AssetBundle/AssetBundle_PC" + "/" + assetBundleName))
            {
                StartCoroutine(AssetBundleLoadFromLocal());
                yield break;
            }
            local_file = "C:/Users/Gana/Downloads/AssetBundle/AssetBundle_PC" + "/" + assetBundleName;
        }

        Task TmpTask = rivers_ref.GetFileAsync(local_file, new Firebase.Storage.StorageProgress <Firebase.Storage.DownloadState>(state =>
        {
            // 다운로드 진행률....
            Debug.Log(string.Format("Progress: {0} of {1} bytes transferred.", state.BytesTransferred, state.TotalByteCount));
            PercentView(state.BytesTransferred, state.TotalByteCount);
        })).ContinueWith(task => {
            Debug.Log(string.Format("OnClickDownload::IsCompleted:{0} IsCanceled:{1} IsFaulted:{2}", task.IsCompleted, task.IsCanceled, task.IsFaulted));
            if (task.IsFaulted || task.IsCanceled)
            {
                Debug.Log(task.Exception.ToString());
                bLoading = false;
            }
            else
            {
                Debug.Log("Finished downloading...");
            }
        });

        yield return(new WaitUntil(() => TmpTask.IsCompleted));

        PrintState("Downloading Complete");
        StartCoroutine(AssetBundleLoadFromLocal());
    }
    IEnumerator DownloadCacheImgByBuffer()                                                                      // 이미지를 로컬에 저장하지 않고, cache 메모리에 저장 후 화면에 표시..
    {
        bool bError = false;

        byte[] fileContents2 = null;

        Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;
        // Create a storage reference from our storage service
        //Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://fir-authtest22.appspot.com");
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://eduplatform-97d55.appspot.com/");
        // Create a reference to the file you want to upload
        Firebase.Storage.StorageReference rivers_ref = storage_ref.Child("ccc/" + fileName);

        // 최대 사이즈 지정할 수 있음..
        const long maxAllowedSize = 5 * 1024 * 1024;                                    // 최대사이즈 일단 5mb
        var        TmpTask        = rivers_ref.GetBytesAsync(maxAllowedSize, new Firebase.Storage.StorageProgress <Firebase.Storage.DownloadState>(state =>
        {
            // 다운로드 진행율 표시...
            Debug.Log(string.Format("Progress: {0} of {1} bytes transferred.", state.BytesTransferred, state.TotalByteCount));
            PercentView(state.BytesTransferred, state.TotalByteCount);
        })).ContinueWith((System.Threading.Tasks.Task <byte[]> task) => {
            if (task.IsFaulted || task.IsCanceled)
            {
                Debug.Log(task.Exception.ToString());
                // Uh-oh, an error occurred!
                bError = true;
            }
            else if (task.IsCompleted)
            {
                Debug.Log("Finished downloading!");
                fileContents2 = task.Result;
                bError        = false;
            }
        });

        yield return(new WaitUntil(() => TmpTask.IsCompleted));

        if (false == bError)
        {
            Texture2D tmpTexture = new Texture2D(16, 16, TextureFormat.RGB24, false);
            bool      isLoaded   = tmpTexture.LoadImage(fileContents2);
            while (!isLoaded)
            {
                yield return(null);
            }

            tmpTexture.name = "tmpTexutre";
            rawImage.gameObject.SetActive(true);
            rawImage.texture = tmpTexture;
            PrintState("image view");
        }
        else if (true == bError)
        {
            PrintState("Error...");
        }
    }
Exemple #11
0
    public void clickUpload()
    {
        uploadPanel.SetActive(false);
        uploadStatus.SetActive(true);
        closeStatus.SetActive(false);

        status.text = "Sedang mempersiapkan file.";
        StartCoroutine(AnimateText());
        try {
            // Get a reference to the storage service, using the default Firebase App
            Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;

            // Create a storage reference from our storage service
            Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://buddhist-festival-ar-2018.appspot.com");

            // Create a child reference
            // images_ref now points to "images"
            Firebase.Storage.StorageReference images_ref = storage_ref.Child("Lomba Foto/" + PlayerPrefs.GetString("Nama", "") + "_" + PlayerPrefs.GetString("Telepon", "") + "/" + SaveLoad.imageName[activeIndex]);

            // Data in memory
            byte[] custom_bytes = SaveLoad.imageTexture[activeIndex].EncodeToPNG();

            status.text = "Sedang Meng-upload Foto";

            // Create file metadata including the content type
            //Firebase.Storage.MetadataChange new_metadata = new Firebase.Storage.MetadataChange();
            //new_metadata.ContentType = "image/png";

            // Upload the file to the path "images/rivers.jpg"
            images_ref.PutBytesAsync(custom_bytes)
            .ContinueWith((task) => {
                if (task.IsFaulted || task.IsCanceled)
                {
                    //status.text = "Gagal mengupload foto.\n Pesan error:\n"+ task.Exception.ToString();
                    status.text = "Gagal mengupload foto.";
                    isanimate   = false;
                    closeStatus.SetActive(true);
                    // Uh-oh, an error occurred!
                }
                else
                {
                    // Metadata contains file metadata such as size, content-type, and download URL.
                    //Firebase.Storage.StorageMetadata metadata = task.Result;
                    status.text = "Upload selesai. Terima kasih sudah berpartisipasi dalam lomba foto.";
                    isanimate   = false;
                    closeStatus.SetActive(true);
                }
            });
        } catch (System.Exception ex) {
            //status.text = "Gagal mengupload foto.\n Pesan error:\n"+ ex.ToString();
            status.text = "Gagal mengupload foto.";
            isanimate   = false;
            closeStatus.SetActive(true);
        }
    }
    // 파이어 베이스에서 내려받음....
    IEnumerator AssetBudleDownLoad(string _strUrl, string _strDir, string _strBundleName)
    {
        string assetBundleName = _strBundleName;

        bLoading = true;
        Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;
        // Create a storage reference from our storage service
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://sohn123-f1d8d.appspot.com/");
        // Create a reference to the file you want to upload
        //Firebase.Storage.StorageReference rivers_ref = storage_ref.Child("AssetBundle/" + assetBundleName);                            // 업로드 확인해야 함...
        Firebase.Storage.StorageReference rivers_ref = storage_ref.Child(_strUrl);                                                                              // 업로드 확인해야 함...


        string local_file = "";

        if (Application.platform == RuntimePlatform.Android)
        {
            // 아래 수정 해야 함....
            if (!Directory.Exists(Application.persistentDataPath + "/AssetBundle/ " + _strDir))                                                    //폴더가 있는지 체크하고 없으면 만든다.
            {
                Directory.CreateDirectory(Application.persistentDataPath + "/AssetBundle/ " + _strDir);
            }
            local_file = Application.persistentDataPath + "/AssetBundle/" + _strDir + "/" + _strBundleName;
        }
        else
        {
            local_file = "C:/Users/Gana/Downloads/AssetBundle/" + _strDir + "/" + _strBundleName;                                                // PC ....
        }

        Task TmpTask = rivers_ref.GetFileAsync(local_file, new Firebase.Storage.StorageProgress <Firebase.Storage.DownloadState>(state =>
        {
            // 다운로드 진행률....
            //Debug.Log(string.Format("Progress: {0} of {1} bytes transferred.", state.BytesTransferred, state.TotalByteCount));
            PercentView(state.BytesTransferred, state.TotalByteCount);
        })).ContinueWith(task => {
            //Debug.Log(string.Format("OnClickDownload::IsCompleted:{0} IsCanceled:{1} IsFaulted:{2}", task.IsCompleted, task.IsCanceled, task.IsFaulted));
            if (task.IsFaulted || task.IsCanceled)
            {
                Debug.Log(task.Exception.ToString());
                bLoading = false;
            }
            else
            {
                //Debug.Log("Finished downloading...");
            }
        });

        yield return(new WaitUntil(() => TmpTask.IsCompleted));

        //PrintState("Downloading Complete");
        //StartCoroutine(AssetBundleLoadFromLocal());
        Debug.Log("Finished");
    }
Exemple #13
0
    public void NextOnClick()
    {
        byte[] image = texture.EncodeToPNG();

        website  = websiteField.GetComponent <Text>().text;
        facebook = facebookField.GetComponent <Text>().text;
        linkedIn = linkedInField.GetComponent <Text>().text;
        phone    = phoneField.GetComponent <Text>().text;

        string card_id = PlayerPrefs.GetString("card_id");

        if (!string.IsNullOrEmpty(card_id))
        {
            if (!string.IsNullOrEmpty(website) && !string.IsNullOrEmpty(facebook) && !string.IsNullOrEmpty(linkedIn) && !string.IsNullOrEmpty(phone))
            {
                storage          = Firebase.Storage.FirebaseStorage.DefaultInstance;
                storageReference = storage.GetReferenceFromUrl("gs://card-677f1.appspot.com/augment_images/");
                Firebase.Storage.StorageReference targetReference = storageReference.Child(authUser.UserId + card_id);
                databaseReference = FirebaseDatabase.DefaultInstance.RootReference;

                targetReference.PutBytesAsync(image)
                .ContinueWith((Task <StorageMetadata> task) => {
                    if (task.IsFaulted || task.IsCanceled)
                    {
                        Debug.Log(task.Exception.ToString());
                        // Uh-oh, an error occurred!
                    }
                    else
                    {
                        targetReference.GetDownloadUrlAsync().ContinueWith((Task <Uri> uriTask) =>
                        {
                            string download_url = uriTask.Result.ToString();
                            Debug.Log("Finished uploading...");
                            Debug.Log("download url = " + download_url);
                            DatabaseReference childReference = databaseReference.Child("cards").Child(card_id);
                            childReference.Child("website").SetValueAsync(website);
                            childReference.Child("facebook").SetValueAsync(facebook);
                            childReference.Child("linkedIn").SetValueAsync(linkedIn);
                            childReference.Child("phone").SetValueAsync(phone);
                            childReference.Child("photo").SetValueAsync(download_url);
                        });
                    }
                });

                SceneManager.LoadScene("HomeScene");
            }

            else
            {
                print("ERROR IN FIELDS");
            }
        }
    }
    IEnumerator DownloadByBufferTxt()                                                                                  // 텍스트를 로컬에 저장하지 않고, cache 메모리에 저장 후 화면에 표시.. 한글은 UTF-8 만 가능.
    {
        bool bError = false;

        byte[] fileContents = null;

        Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;
        // Create a storage reference from our storage service
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://eduplatform-97d55.appspot.com/");
        // Create a reference to the file you want to upload
        Firebase.Storage.StorageReference rivers_ref = storage_ref.Child("ccc/text_1.txt");

        // 최대 사이즈....
        const long maxAllowedSize = 2 * 1024 * 1024;    // 2mb
        var        TmpTask        = rivers_ref.GetBytesAsync(maxAllowedSize, new Firebase.Storage.StorageProgress <Firebase.Storage.DownloadState>(state =>
        {
            // 다운로드 진행율 표시...
            Debug.Log(string.Format("Progress: {0} of {1} bytes transferred.", state.BytesTransferred, state.TotalByteCount));
            PercentView(state.BytesTransferred, state.TotalByteCount);
        })).ContinueWith((System.Threading.Tasks.Task <byte[]> task) => {
            if (task.IsFaulted || task.IsCanceled)
            {
                Debug.Log(task.Exception.ToString());
                // Uh-oh, an error occurred!
                bError = true;
            }
            else if (task.IsCompleted)
            {
                Debug.Log("Finished downloading!");
                fileContents = task.Result;
                bError       = false;
            }
        });

        yield return(new WaitUntil(() => TmpTask.IsCompleted));

        if (false == bError)
        {
            string testText = System.Text.Encoding.UTF8.GetString(fileContents);                                       // UTF8로 인코딩하여서 변환...
            PrintState("lyrics: " + testText);
        }
        else if (true == bError)
        {
            PrintState("Error...");
        }
    }
    IEnumerator LocalDownloadXmlQuiz(string _fileName)
    {
        // test....
        fileName = _fileName;
        Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;
        // Create a storage reference from our storage service
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://eduplatform-97d55.appspot.com/");                                         // 파이어베이스 계정에 할당된 주소...
        // Create a reference to the file you want to upload
        Firebase.Storage.StorageReference rivers_ref = storage_ref.Child("XmlFile_Chuncheon/" + fileName);                                                          // 하위 폴더...

        string local_file = "";

        // 경로 지정....
        if (Application.platform == RuntimePlatform.Android)
        {
            local_file = Application.persistentDataPath + "/" + fileName;                                           // android 의 접근 가능한 주소,, 폴더 추가 가능..
        }
        else
        {
            local_file = Application.streamingAssetsPath + "/" + fileName;
        }

        Task TmpTask = rivers_ref.GetFileAsync(local_file, new Firebase.Storage.StorageProgress <Firebase.Storage.DownloadState>(state =>
        {
            // 다운로드 진행율 표시...
            Debug.Log(string.Format("Progress: {0} of {1} bytes transferred.", state.BytesTransferred, state.TotalByteCount));
            //PercentView(state.BytesTransferred, state.TotalByteCount);
        })).ContinueWith(task => {
            Debug.Log(string.Format("OnClickDownload::IsCompleted:{0} IsCanceled:{1} IsFaulted:{2}", task.IsCompleted, task.IsCanceled, task.IsFaulted));
            if (task.IsFaulted || task.IsCanceled)
            {
                Debug.Log(task.Exception.ToString());
                // Uh-oh, an error occurred!
                Debug.Log("Oops,, Error..");
            }
            else
            {
                Debug.Log("Finished downloading...");
            }
        });

        yield return(new WaitUntil(() => TmpTask.IsCompleted));

        bXmlFileQuiz = true;
    }
Exemple #16
0
    void InitializeFirebase()
    {
        FirebaseApp app = FirebaseApp.DefaultInstance;

        app.SetEditorDatabaseUrl("https://vr-one-4e3bb.firebaseio.com/");

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

        // Create a storage reference from our storage service
        storage_ref = storage.GetReferenceFromUrl("gs://vr-one-4e3bb.appspot.com/");
        //Firebase.Storage.StorageReference images_ref = storage_ref.Child ("map");
        screenshot_ref = storage_ref.Child("map/Screenshot.png");



        //items = new ArrayList();
    }
    // 로컬 다운로드...
    IEnumerator LocalDownloadStart()
    {
        // 로컬 방식....
        Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;
        // Create a storage reference from our storage service
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://fir-authtest22.appspot.com");
        // Create a reference to the file you want to upload
        Firebase.Storage.StorageReference rivers_ref = storage_ref.Child("AssetBundleTest1/" + fileName);

        string local_file = "";

        if (Application.platform == RuntimePlatform.Android)
        {
            local_file = Application.persistentDataPath + "/" + fileName;                           // android 의 접근 가능한 주소,, 폴더 추가 가능..
        }
        else
        {
            local_file = "C:/Users/Gana/Downloads/AsssetBundle/" + fileName;
        }

        //var TmpTask = rivers_ref.GetFileAsync(local_file).ContinueWith(task => {
        var TmpTask = rivers_ref.GetFileAsync(local_file, new Firebase.Storage.StorageProgress <Firebase.Storage.DownloadState>(state =>
        {
            Debug.Log(string.Format("Progress: {0} of {1} bytes transferred.", state.BytesTransferred, state.TotalByteCount));
            PercentView(state.BytesTransferred, state.TotalByteCount);
        })).ContinueWith(task => {
            Debug.Log(string.Format("OnClickDownload::IsCompleted:{0} IsCanceled:{1} IsFaulted:{2}", task.IsCompleted, task.IsCanceled, task.IsFaulted));
            if (task.IsFaulted || task.IsCanceled)
            {
                Debug.Log(task.Exception.ToString());
                // Uh-oh, an error occurred!
                //authUI.ShowNotice("Error....");
                Debug.Log("Oops,, Error..");
            }
            else
            {
                Debug.Log("Finished downloading...");
            }
        });

        yield return(new WaitUntil(() => TmpTask.IsCompleted));

        PrintState("Finished downloading...");
    }
Exemple #18
0
    public void UploadImagesToFirebase(List <string> Paths)
    {
        FilePath = Paths;
        //Creating a different session everytime the user wants create a scene
        Debug.Log("Module Started");
        string sessionReference = CreateUserSession();

        Firebase.Storage.StorageReference session_ref = user_ref.Child(sessionReference);
        MetadataChange type = new MetadataChange {
            ContentType = "image/jpeg"
        };
        int Counter = 0;

        foreach (string ImagePath in Paths)
        {
            string imageName = "Image_" + Counter.ToString() + ".JPG";
            Counter++;
            StorageReference folder_ref = session_ref.Child(imageName);
            folder_ref.PutFileAsync(ImagePath, type)
            .ContinueWith((Task <StorageMetadata> task) =>
            {
                if (task.IsFaulted || task.IsCanceled)
                {
                    Debug.Log(task.Exception.ToString());
                }
                else
                {
                    StorageMetadata metadata = task.Result;
                    string download_url      = metadata.DownloadUrl.ToString() + "\n";
                    UTF8Encoding uniEncoding = new UTF8Encoding(true);
                    File.WriteAllText(fileName, download_url);
                    images.Add(download_url);
                    Debug.Log(download_url);
                    uploadCount++;
                    CheckIfComplete();
                }
            }
                          );
        }
    }
Exemple #19
0
 public void OnButtonPress()
 {
     foreach (string file_name in System.IO.Directory.GetFiles("Assets/AssetBundles"))
     {
         var file_ref = storage_ref.Child(file_name);
         file_ref.PutFileAsync(file_name).ContinueWith((Task <StorageMetadata> task) =>
         {
             if (task.IsFaulted || task.IsCanceled)
             {
                 Debug.Log(task.Exception.ToString());
             }
             else
             {
                 // Metadata contains file metadata such as size, content-type, and download URL.
                 Firebase.Storage.StorageMetadata metadata = task.Result;
                 var download_result = storage_ref.GetDownloadUrlAsync();
                 Debug.Log("Finished uploading...");
                 Debug.Log("download url = " + download_result.Result);
             }
         });
     }
 }
Exemple #20
0
    /*
     * Debug function to ensure firebase storage is working correctly
     *
     */
    public async void writeMap(byte[] data)
    {
        string path = app_folder + "/" + curUser.UserId + "/" + file_name;

        // Create a reference to 'app_height_maps/{userID}/"mobile_height_map.raw"
        Firebase.Storage.StorageReference abs_path =
            storage_ref.Child(path);

        await abs_path.PutBytesAsync(data).ContinueWith((Task <Firebase.Storage.StorageMetadata> task) =>
        {
            if (task.IsFaulted || task.IsCanceled)
            {
                Debug.Log(task.Exception.ToString());
                // Uh-oh, an error occurred!
            }
            else
            {
                // Metadata contains file metadata such as size, content-type, and download URL.
                Firebase.Storage.StorageMetadata metadata = task.Result;
                Debug.Log("Finished uploading...");
            }
        });
    }
Exemple #21
0
    //static FirebaseStorage DefaultInstance;
    private void Awake()
    {
        PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
                                              .RequestServerAuthCode(false /* Don't force refresh */)
                                              .Build();



        PlayGamesPlatform.InitializeInstance(config);
        PlayGamesPlatform.Activate();

        Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
            var dependencyStatus = task.Result;
            if (dependencyStatus == Firebase.DependencyStatus.Available)
            {
                // Create and hold a reference to your FirebaseApp,
                // where app is a Firebase.FirebaseApp property of your application class.
                //   app = Firebase.FirebaseApp.DefaultInstance;

                // Set a flag here to indicate whether Firebase is ready to use by your app.
            }
            else
            {
                UnityEngine.Debug.LogError(System.String.Format(
                                               "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
                // Firebase Unity SDK is not safe to use here.
            }
        });

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

        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://chasy-legend.appspot.com");
        // Create a child reference
        // images_ref now points to "unlockedCars"
        Firebase.Storage.StorageReference unlockedCars_ref = storage_ref.Child("unlockedCars");
    }
    //================================================= METADATA  ==================================================//
    // Storage 상의 메타데이터 추가 및 교체..
    public void MetadataChange()
    {
        Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;
        // Create a storage reference from our storage service
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://fir-authtest22.appspot.com");
        // Create a reference to the file you want to upload
        Firebase.Storage.StorageReference rivers_ref = storage_ref.Child("Test1/test_arrow.png");

        var new_metadata = new Firebase.Storage.MetadataChange();

        //new_metadata.CacheControl = "public,max-age=300";
        new_metadata.ContentType = "image/png";
        // 아래처럼 Dictionary 활용하여서 추가할 수 있음..
        // Issue 사항은 추가되면 수정은 가능하지만 삭제가 불가능한 것 같음..

        /*
         * var new_metadata = new Firebase.Storage.MetadataChange
         * {
         *  CustomMetadata = new Dictionary<string, string>
         *  {
         *      {"story", "story for test" },
         *      {"tag", "hmm...." },
         *  }
         * };
         */
        // Update metadata properties
        Task tmpTask = rivers_ref.UpdateMetadataAsync(new_metadata).ContinueWith(task => {
            if (!task.IsFaulted && !task.IsCanceled)
            {
                // access the updated meta data
                Firebase.Storage.StorageMetadata meta = task.Result;
                Debug.Log("change..");
            }
        });
        //yield return new WaitUntil(() => tmpTask.IsCompleted);
        // do someting...
    }
Exemple #23
0
    void DownloadImage()
    {
        Firebase.Storage.StorageReference storageReference =
            Firebase.Storage.FirebaseStorage.DefaultInstance.GetReferenceFromUrl("gs://stargaze-embedded.appspot.com/");

        storageReference.Child("image.jpg").GetBytesAsync(1024 * 1024).
        ContinueWith((System.Threading.Tasks.Task <byte[]> task) =>
        {
            if (task.IsFaulted || task.IsCanceled)
            {
                Debug.Log(task.Exception.ToString());
            }
            else
            {
                byte[] fileContents = task.Result;
                Texture2D texture   = new Texture2D(1, 1);
                texture.LoadImage(fileContents);
                //if you need sprite for SpriteRenderer or Image
                Sprite sprite = Sprite.Create(texture, new Rect(0.0f, 0.0f, texture.width,
                                                                texture.height), new Vector2(0.5f, 0.5f), 100.0f);
                Debug.Log("Finished downloading!");
            }
        });
    }
    void UploadImage()
    {
        Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;

        // Create a root reference
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl(firebaseStorageBucket);

        // File located on disk
        string local_file = localFilePath;

        // Create a reference to the file you want to upload
        Firebase.Storage.StorageReference image_ref = storage_ref.Child(remoteFilePath);

        // Upload the file to the path "images/rivers.jpg"
        image_ref.PutFileAsync(local_file)
        .ContinueWith((Task <StorageMetadata> task) => {
            if (task.IsFaulted || task.IsCanceled)
            {
                Debug.Log(task.Exception.ToString());
                // Uh-oh, an error occurred!
            }
            else
            {
                // Metadata contains file metadata such as size, content-type, and download URL.
                Firebase.Storage.StorageMetadata metadata = task.Result;
                string download_url = metadata.DownloadUrl.ToString();

                //fix the encoding problem
                string tempStr = remoteFilePath;
                downloadURL    = download_url.Replace(tempStr, remoteFilePath.Replace("/", "%2F"));

                Debug.Log("Finished uploading");
                //Debug.Log("download url = " + download_url);
            }
        });
    }
Exemple #25
0
    public void saveRemember(Remember remember)
    {
        //Save Data Remember
        Dictionary <string, System.Object> entry = remember.ToDictionary();

        string rememberCode = dataReference.Push().Key;

        remember.SetCode(rememberCode);
        dataReference.Child(rememberCode).SetValueAsync(entry).ContinueWith((task) =>
        {
            if (task.IsCompleted)
            {
                Debug.Log("Data saved successfully!");
            }
            else
            {
            };
        });;


        //Save Media Data Remember
        GameObject mainCameraUI  = GameObject.Find(Util.ARCamera);
        GameObject buttonLoading = mainCameraUI.GetComponent <UIController>().buttonLoading;


        mainCameraUI.GetComponent <UIController>().buttonCancelMedia.SetActive(false);
        mainCameraUI.GetComponent <UIController>().buttonSaveMedia.SetActive(false);

        buttonLoading.SetActive(true);
        // Create a reference to the file you want to upload
        Firebase.Storage.FirebaseStorage  storage     = Firebase.Storage.FirebaseStorage.DefaultInstance;
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl(FirebaseUtil.ROOTNODE_STORAGE);
        Firebase.Storage.StorageReference rivers_ref  = storage_ref.Child(remember.GetCode() + ".jpeg");
        rivers_ref.PutBytesAsync(remember.GetMedia(), null, new Firebase.Storage.StorageProgress <Firebase.Storage.UploadState>(state =>
        {
            Debug.Log(string.Format("Progress: {0} of {1} bytes transferred.", state.BytesTransferred, state.TotalByteCount));
            decimal bytesTrasferred   = System.Convert.ToDecimal(state.BytesTransferred);
            decimal totalByteCount    = System.Convert.ToDecimal(state.TotalByteCount);
            decimal progress          = ((bytesTrasferred / totalByteCount) * 100);
            decimal progressLoadingUI = (progress / 100);

            buttonLoading.GetComponent <LoadingController>().progressFillImage(progressLoadingUI);
        }), System.Threading.CancellationToken.None, null).ContinueWith(task =>
        {
            Debug.Log(string.Format("OnClickUpload::IsCompleted:{0} IsCanceled:{1} IsFaulted:{2}", task.IsCompleted, task.IsCanceled, task.IsFaulted));
            if (task.IsFaulted || task.IsCanceled)
            {
                Debug.Log(task.Exception.ToString());
                // Uh-oh, an error occurred!
            }

            else
            {
                // Metadata contains file metadata such as size, content-type, and download URL.
                Firebase.Storage.StorageMetadata metadata = task.Result;
                GameObject buttonTimer = mainCameraUI.GetComponent <UIController>().buttonTimer;
                buttonTimer.gameObject.SetActive(true);


                if (remember.GetTypeMedia().Equals("Image"))
                {
                    GameObject rememberGO = Instantiate(Resources.Load <GameObject>("Prefabs/Remember/RememberPhoto"));
                    rememberGO.GetComponent <RememberPhotoController>().AddRemember(remember);
                    rememberGO.GetComponent <RememberPhotoController>().UpdateTexture();
                }
                else
                {
                    GameObject rememberGO = Instantiate(Resources.Load <GameObject>("Prefabs/Remember/RememberVideo"));
                    rememberGO.GetComponent <RememberVideoController>().AddRemember(remember);
                    rememberGO.GetComponent <RememberVideoController>().UpdateTexture();
                }
                Debug.Log("Finished uploading...");

                Destroy(this.gameObject);
            }
        });
    }
    // 로컬 방식 업로드 부분... 로컬 방식이기 때문에 모든 포멧이든 다 된다.
    IEnumerator UploadProcessLocal()
    {
        bool   bError = false;
        string bMsg   = "";

        PrintState("upload begin...");

        // Get a reference to the storage service, using the default Firebase App
        Firebase.Storage.FirebaseStorage storage = Firebase.Storage.FirebaseStorage.DefaultInstance;
        // Create a storage reference from our storage service
        Firebase.Storage.StorageReference storage_ref = storage.GetReferenceFromUrl("gs://eduplatform-97d55.appspot.com/");                          // FireaBase 계정의 address 적는 곳.
        // Create a reference to 'images/mountains.jpg'
        // While the file names are the same, the references point to different files
        //mountains_ref.Name == mountain_images_ref.Name; // true
        //mountains_ref.Path == mountain_images_ref.Path; // false

        string local_file = "";

        if (Application.platform == RuntimePlatform.Android)
        {
            local_file = "file:// " + Application.persistentDataPath + "/" + fileName;                        // android 휴대폰의 접근 가능한 로컬 주소
        }
        else
        {
            local_file = "C:/Users/Gana/Downloads/project_stuff/" + fileName;                               // pc 의 로컬 주소..
        }
        Firebase.Storage.StorageReference rivers_ref = storage_ref.Child("stuff/" + fileName);              // 스토리지에 레퍼런스 먼저 만들기..
        // metadata.. 추가할 것 이 있으면 추가,,, 필요 없을 시에 null 로..
        //var new_metadata = new Firebase.Storage.MetadataChange();
        //new_metadata.ContentType = "lyrics/text";
        // 메타데이터 추가시에....
        // Task TmpTask = rivers_ref.PutFileAsync(local_file, null, new Firebase.Storage.StorageProgress<Firebase.Storage.UploadState>(state =>

        Task TmpTask = rivers_ref.PutFileAsync(local_file, null, new Firebase.Storage.StorageProgress <Firebase.Storage.UploadState>(state =>
        {
            // Process 의 진행율을 보여주는 부분..
            Debug.Log(string.Format("Progress: {0} of {1} bytes transferred.", state.BytesTransferred, state.TotalByteCount));
            PercentView(state.BytesTransferred, state.TotalByteCount);
        }), System.Threading.CancellationToken.None, null).ContinueWith(task =>
        {
            Debug.Log(string.Format("OnClickUpload::IsCompleted:{0} IsCanceled:{1} IsFaulted:{2}", task.IsCompleted, task.IsCanceled, task.IsFaulted));
            if (task.IsFaulted || task.IsCanceled)
            {
                Debug.Log(task.Exception.ToString());
                // Uh-oh, an error occurred!
                bError = true;
                bMsg   = "error: " + task.Exception.ToString();
            }
            else if (task.IsCompleted)
            {
                // Metadata contains file metadata such as size, content-type, and download URL.
                Firebase.Storage.StorageMetadata metadata = task.Result;
                Debug.Log("Finished uploading...");
                bError = false;
            }
        });

        yield return(new WaitUntil(() => TmpTask.IsCompleted));              // 업로드가 완전히 완료된 후에 나머지를 처리한다.

        if (false == bError)
        {
            PrintState("upload complete...");
        }
        else if (true == bError)
        {
            PrintState(bMsg);
        }
    }