<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
		<id>https://wiki.nonip.net/index.php?action=history&amp;feed=atom&amp;title=Unity%2FFirebase%2FRealtimedatabase%2F%E3%83%AA%E3%82%B9%E3%83%88</id>
		<title>Unity/Firebase/Realtimedatabase/リスト - 変更履歴</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.nonip.net/index.php?action=history&amp;feed=atom&amp;title=Unity%2FFirebase%2FRealtimedatabase%2F%E3%83%AA%E3%82%B9%E3%83%88"/>
		<link rel="alternate" type="text/html" href="https://wiki.nonip.net/index.php?title=Unity/Firebase/Realtimedatabase/%E3%83%AA%E3%82%B9%E3%83%88&amp;action=history"/>
		<updated>2026-04-21T10:25:51Z</updated>
		<subtitle>このウィキのこのページに関する変更履歴</subtitle>
		<generator>MediaWiki 1.24.2</generator>

	<entry>
		<id>https://wiki.nonip.net/index.php?title=Unity/Firebase/Realtimedatabase/%E3%83%AA%E3%82%B9%E3%83%88&amp;diff=14019&amp;oldid=prev</id>
		<title>Admin: ページの作成:「 ==リスト== 追加、更新、削除を検知 &lt;pre&gt; using UnityEngine; using UnityEngine.UI; using Firebase.Database; using System.Collections.Generic; using System;...」</title>
		<link rel="alternate" type="text/html" href="https://wiki.nonip.net/index.php?title=Unity/Firebase/Realtimedatabase/%E3%83%AA%E3%82%B9%E3%83%88&amp;diff=14019&amp;oldid=prev"/>
				<updated>2021-09-19T01:52:22Z</updated>
		
		<summary type="html">&lt;p&gt;ページの作成:「 ==リスト== 追加、更新、削除を検知 &amp;lt;pre&amp;gt; using UnityEngine; using UnityEngine.UI; using Firebase.Database; using System.Collections.Generic; using System;...」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
==リスト==&lt;br /&gt;
追加、更新、削除を検知&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
using UnityEngine;&lt;br /&gt;
using UnityEngine.UI;&lt;br /&gt;
using Firebase.Database;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
public class SampleScene : MonoBehaviour&lt;br /&gt;
{&lt;br /&gt;
    void Start()&lt;br /&gt;
    {&lt;br /&gt;
        DatabaseReference userReference = FirebaseDatabase.DefaultInstance.GetReference(&amp;quot;user&amp;quot;);&lt;br /&gt;
        userReference.ChildAdded += HandleChildAdded;&lt;br /&gt;
        userReference.ChildChanged += HandleChildChanged;&lt;br /&gt;
        userReference.ChildRemoved += HandleChildRemoved;&lt;br /&gt;
&lt;br /&gt;
        InputField input = GameObject.Find(&amp;quot;/Canvas/InputField&amp;quot;).GetComponent&amp;lt;InputField&amp;gt;();&lt;br /&gt;
        GameObject.Find(&amp;quot;AddButton&amp;quot;).GetComponent&amp;lt;Button&amp;gt;().onClick.AddListener(delegate {&lt;br /&gt;
            AddUser(input.text);&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
    // 受信 追加された時&lt;br /&gt;
    void HandleChildAdded(object sender, ChildChangedEventArgs args)&lt;br /&gt;
    {&lt;br /&gt;
        if (args.DatabaseError != null)&lt;br /&gt;
        {&lt;br /&gt;
            Debug.LogError(args.DatabaseError.Message);&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
        string json = args.Snapshot.GetRawJsonValue();&lt;br /&gt;
        Debug.Log(&amp;quot;HandleChildAdded=&amp;quot; + json); // {&amp;quot;email&amp;quot;:&amp;quot;ttt@example&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;ttt&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
        User user = JsonUtility.FromJson&amp;lt;User&amp;gt;(json);&lt;br /&gt;
        Debug.Log(&amp;quot;HandleChildAdded username=&amp;quot; + user.username);&lt;br /&gt;
    }&lt;br /&gt;
    // 受信 更新された時&lt;br /&gt;
    void HandleChildChanged(object sender, ChildChangedEventArgs args)&lt;br /&gt;
    {&lt;br /&gt;
        if (args.DatabaseError != null)&lt;br /&gt;
        {&lt;br /&gt;
            Debug.LogError(args.DatabaseError.Message);&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
        string json = args.Snapshot.GetRawJsonValue();&lt;br /&gt;
        Debug.Log(&amp;quot;HandleChildChanged=&amp;quot; + json); // {&amp;quot;email&amp;quot;:&amp;quot;ttt@example&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;ttt&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
        User user = JsonUtility.FromJson&amp;lt;User&amp;gt;(json);&lt;br /&gt;
        Debug.Log(&amp;quot;HandleChildChanged username=&amp;quot; + user.username);&lt;br /&gt;
    }&lt;br /&gt;
    // 受信 削除された時&lt;br /&gt;
    void HandleChildRemoved(object sender, ChildChangedEventArgs args)&lt;br /&gt;
    {&lt;br /&gt;
        if (args.DatabaseError != null)&lt;br /&gt;
        {&lt;br /&gt;
            Debug.LogError(args.DatabaseError.Message);&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
        string json = args.Snapshot.GetRawJsonValue();&lt;br /&gt;
        Debug.Log(&amp;quot;HandleChildRemoved=&amp;quot; + json); // {&amp;quot;email&amp;quot;:&amp;quot;ttt@example&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;ttt&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
        User user = JsonUtility.FromJson&amp;lt;User&amp;gt;(json);&lt;br /&gt;
        Debug.Log(&amp;quot;HandleChildRemoved username=&amp;quot; + user.username);&lt;br /&gt;
    }&lt;br /&gt;
    void AddUser(string name)&lt;br /&gt;
    {&lt;br /&gt;
        User user = new User(name, name + &amp;quot;@example&amp;quot;);&lt;br /&gt;
        string json = JsonUtility.ToJson(user); // {&amp;quot;email&amp;quot;:&amp;quot;ttt@example&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;ttt&amp;quot;}&lt;br /&gt;
        // userに存在しないキーを生成&lt;br /&gt;
        // FirebaseDatabase.DefaultInstance.GetReference(&amp;quot;user&amp;quot;).Push().Key;&lt;br /&gt;
#if Unity_EDITOR&lt;br /&gt;
        string userId = &amp;quot;pc&amp;quot;;&lt;br /&gt;
#elif UNITY_ANDROID&lt;br /&gt;
        string userId = &amp;quot;android&amp;quot;;&lt;br /&gt;
#elif UNITY_IPHONE&lt;br /&gt;
        string userId = &amp;quot;iphone&amp;quot;;&lt;br /&gt;
#endif&lt;br /&gt;
        FirebaseDatabase.DefaultInstance.GetReference(&amp;quot;user&amp;quot;).Child(userId)&lt;br /&gt;
            .SetRawJsonValueAsync(json);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>