Unity SDKのTipsです。ユーザ(NCMBUser)はNCMBObjectを継承しているのですが、使い方がいまいち分かりづらいかも知れません。そこで、今回はユーザにメタデータを追加する方法について紹介します。
結論
- 取得時にはフィールドの存在を事前にチェックしましょう
- 設定時はICollectionとして処理すれば大丈夫です
データの取得
NCMBUserやNCMBObjectのフィールドはICollectionで定義されています。そのため、データを取得する際には []
で行えます。
NCMBUser currentUser = NCMBUser.CurrentUser;
UnityEngine.Debug.Log(currentUser["displayName"]);
ただし、該当フィールドが存在しないとエラーになってしまいます。取得時には必ず ContainsKey
で存在しているか確認しましょう。
if (currentUser.ContainsKey("displayName")) { UnityEngine.Debug.Log ("displayName がありました" + currentUser["displayName"]); } else { UnityEngine.Debug.Log ("displayName はありません"); }
データの設定
データの取得は []
でアクセスします。これはフィールドの存在は関係なく使えます。
currentUser["displayName"] = "Atsushi";
まとめ
データの取得時に毎回ContainsKeyを実行するのは面倒なので、関数を使ってデフォルト値を返すようにしてもよさそうです。未チェックでアクセスするのはエラーにつながる恐れがあるので止めておきましょう。