概要
using System.Collections.Generic; using Firebase.Firestore; using UnityEngine; public class Example : MonoBehaviour { private async void Start() { var firestore = FirebaseFirestore.DefaultInstance; var documentReference = firestore .Collection( "users" ) .Document( "players" ) ; var documentData = new Dictionary<string, object> { { "name", "ピカチュウ" }, }; Debug.Log( "開始" ); await documentReference.SetAsync( documentData ); Debug.Log( "完了" ); // オフラインの場合はここに来ない } }
Firestore の DocumentReference.SetAsync
は
オフラインの場合 Task が完了しないため、await
していると処理が進まなくなる
Firestore はオフラインの場合は端末にデータを保持し、
オンラインになった時にサーバーと同期を行う仕組みになっているため
using System.Collections.Generic; using Firebase.Firestore; using UnityEngine; public class Example : MonoBehaviour { private void Start() { var firestore = FirebaseFirestore.DefaultInstance; var documentReference = firestore .Collection( "users" ) .Document( "players" ) ; var documentData = new Dictionary<string, object> { { "name", "ピカチュウ" }, }; Debug.Log( "開始" ); documentReference.SetAsync( documentData ); Debug.Log( "完了" ); } }
プロジェクトによっては await しなくても問題ない