$30 off During Our Annual Pro Sale. View Details »

使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings

使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings

2019/05/18 (Sat) に開催された「Unity の集い in 大阪」にて登壇した資料になります。

Appendix の各 URL は以下の通りです。

* RemoteSettings Manual

* English: https://docs.unity3d.com/Manual/UnityAnalyticsRemoteSettings.html
* Japanese: https://docs.unity3d.com/ja/current/Manual/UnityAnalyticsRemoteSettings.html
* Unity Services: https://developer.cloud.unity3d.com
* Unity Learning Materials: https://learning.unity3d.jp
* デモプロジェクト: https://github.com/monry/RemoteSettingsSample
* キッズスター学習帳: https://kidsstar-tbf.booth.pm/

Tetsuya Mori
PRO

May 18, 2019
Tweet

More Decks by Tetsuya Mori

Other Decks in Programming

Transcript

  1. גࣜձࣾΩοζελʔ$50
    ৿ɹ఩࠸
    ࢖ͬͯΈΑ͏ʂ
    6OJUZ3FNPUF4FUUJOHT
    4BU
    6OJUZͷू͍JOେࡕ

    View Slide

  2. ͜Μ͹Μ͸ʂ


    View Slide

  3. w-5֓ཁ
    w3FNPUF4FUUJOHTͱ͸ʁ
    w3FNPUF4FUUJOHTͷ࢖͍ํ
    w·ͱΊ


    ΞδΣϯμ

    View Slide

  4. w-5֓ཁ
    w3FNPUF4FUUJOHTͱ͸ʁ
    w3FNPUF4FUUJOHTͷ࢖͍ํ
    w·ͱΊ


    ΞδΣϯμ
    ΠϚίί

    View Slide

  5. -5֓ཁ


    View Slide



  6. ࠓ೔ͷߨԋʹ͍ͭͯ
    -5֓ཁ
    εϥΠυ ಈը
    6OJUZ-FBSOJOH.BUFSJBMT

    ʹͯެ։༧ఆ

    View Slide

  7. w6OJUZ3FNPUF4FUUJOHTΛ

    ஌Βc৮ͬͨ͜ͱ͕
    ͳ͍ํ
    wϦϦʔεࡁͷΞϓϦͷڍಈΛ

    ΞϓϦΛߋ৽ͤͣʹมߋ͍ͨ͠ํ
    w8FC"1*ͷ࣮૷φγͰ

    Ϛελσʔλߋ৽Λ͍ͨ͠ํ


    ࠓ೔ͷର৅ऀ
    -5֓ཁ

    View Slide

  8. w6OJUZ3FNPUF4FUUJOHTͷ

    ֓ཁͱ؆୯ͳ࢖͍ํ
    w࣮ࡍʹ3FNPUF4FUUJOHTΛ

    ࢖ͬͨσϞ࣮ԋ


    ࠓ೔࿩͢ίτ
    -5֓ཁ

    View Slide

  9. wϚωλΠζͱབྷΊͨ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    wҟৗܥͷϋϯυϦϯάΛؚΊͨ

    ৄࡉͳ࣮૷ɾӡ༻ํ๏


    ࠓ೔࿩͞ͳ͍ίτ
    -5֓ཁ

    View Slide

  10. ηΫγϣϯλΠτϧ
    w࢓ࣄגࣜձࣾΩοζελʔ$50
    wग़਎࡛ۄݝ
    wډॅਆಸ઒ݝ
    wՈ଒࠺ɾ່ʢࡀϲ݄ʣ
    w6OJUZྺ೥໨
    w!NPOSZ
    wBLB΋ΜΓ͌ઌੜ
    10
    ࣗݾ঺հ
    -5֓ཁ

    View Slide



  11. ࣗݾ঺հ"XBSE
    -5֓ཁ
    w.JDSPTPGU.71

    GPS%FWFMPQFS5FDIOPMPHJFT
    w6OJUZ"NCBTTBEPS

    View Slide



  12. ࣗݾ঺հ+PC
    -5֓ཁ
    ະबֶࣇʙখֶߍ௿ֶ೥޲͚ͷ
    ৬ۀମݧΞϓϦʮͬ͜͝ϥϯυʯΛ
    ೥Ҏ্ʹΘͨΓ։ൃɾӡӦ

    View Slide

  13. ηΫγϣϯλΠτϧ
    wΩοζελʔֶशா

    1JYJW#005)ʹͯ

    ޷ධൢചதʂ
    w"TTFU#VOEMF
    w։ൃൿ࿩
    wւ֎ۈ຿ͷ͓࿩͠
    wษڧձ։࠵
    w"OESPJEࣗಈςετ
    w7FDUPS(SBQIJDT
    13
    ࣗݾ঺հ13
    IUUQTLJETTUBSUCGCPPUIQN
    -5֓ཁ

    View Slide



  14. ࣗݾ঺հ13
    -5֓ཁ
    #΋ͷϥδ ύʔιφϦςΟ΍ͬͯ·͢ʂ
    ήετืूதʂ

    View Slide

  15. w-5֓ཁ
    w3FNPUF4FUUJOHTͱ͸ʁ
    w3FNPUF4FUUJOHTͷ࢖͍ํ
    w·ͱΊ


    ΞδΣϯμ
    ΠϚίί

    View Slide

  16. 3FNPUF4FUUJOHTͱ͸ʁ


    View Slide



  17. ֓ཁ
    3FNPUF4FUUJOHTͱ͸ʁ

    View Slide



  18. ֓ཁ
    3FNPUF4FUUJOHTͱ͸ʁ
    6OJUZ"OBMZUJDTαʔϏεͷ

    3FNPUF4FUUJOHTػೳΛ࢖༻͢Δͱɺ

    "OBMZUJDTμογϡϘʔυ͔Β௚઀ɺ

    ήʔϜ΍ΞϓϦέʔγϣϯͷม਺ΛมߋͰ͖·͢ɻ
    ग़ల6OJUZ.BOVBM

    View Slide



  19. ֓ཁ
    3FNPUF4FUUJOHTͱ͸ʁ
    ʮϦϦʔε࣌఺ͰͷΞΠςϜ

    ഉग़཰͸Ͱߦͧ͘ʔʯ
    J04
    W
    J04
    W
    J04
    W
    "OESPJE
    W
    "OESPJE
    W

    View Slide



  20. ֓ཁ
    3FNPUF4FUUJOHTͱ͸ʁ
    J04
    W
    J04
    W
    J04
    W
    "OESPJE
    W
    "OESPJE
    W

    ʮ޿ࠂଧͬͨ͠ɺഉग़཰্͛ͯ

    Ϣʔβఆணͤ͞Αɻʯ

    View Slide



  21. ֓ཁ
    3FNPUF4FUUJOHTͱ͸ʁ
    ʮ࠷৽൛ʹ্͛ͯཉ͍͔͠Β

    ࠷৽൛Ϣʔβͷഉग़཰্͛Αɻʯ
    J04
    W
    J04
    W
    J04
    W
    "OESPJE
    W
    "OESPJE
    W

    View Slide



  22. ֓ཁ
    3FNPUF4FUUJOHTͱ͸ʁ
    ʮफڭ্ͷཧ༝ʹΑΓ࠷৽൛ͷ

    J04ݶఆͰഉग़཰্͛Αɻʯ
    J04
    W
    J04
    W
    J04
    W
    "OESPJE
    W
    "OESPJE
    W

    View Slide



  23. ֓ཁ
    3FNPUF4FUUJOHTͱ͸ʁ
    w6OJUZ"OBMZUJDTͷ෦෼ػೳ
    wαʔό͔Β୺຤ʹઃఆ஋Λ౉ͤΔ
    wϢʔβηάϝϯτຖʹ஋ΛมߋՄೳ
    wΫϥΠΞϯταΠυ͸࣮૷ඞਢ
    w'JSFCBTF3FNPUF$POpHͱಉ͡

    View Slide



  24. σϞ
    3FNPUF4FUUJOHTͱ͸ʁ
    wཁ݅
    wʮقઅʯͷઃఆ஋Λड͚औΔ
    w஋ʹԠͯ͡ςΩετ΍എܠ͕มΘΔ
    wඵʹճϙʔϦϯάͯ͠஋ߋ৽
    w6OJUZGͰಈ࡞֬ೝ

    View Slide

  25. w-5֓ཁ
    w3FNPUF4FUUJOHTͱ͸ʁ
    w3FNPUF4FUUJOHTͷ࢖͍ํ
    w·ͱΊ


    ΞδΣϯμ
    ΠϚίί

    View Slide

  26. 3FNPUF4FUUJOHTͷ࢖͍ํ


    View Slide



  27. 6OJUZଆ
    3FNPUF4FUUJOHTͷ࢖͍ํ

    View Slide



  28. 6OJUZ&EJUPSଆ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    ·ͩ6OJUZ4FSWJDFTʹϓϩδΣΫτ͕ͳ͍৔߹

    View Slide



  29. 6OJUZ&EJUPSଆ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    طʹ6OJUZ4FSWJDFTʹϓϩδΣΫτ͕͋Δ৔߹

    View Slide



  30. 6OJUZ&EJUPSଆ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    "OBMZUJDT͕0Oʹͳ͍ͬͯΕ͹0,ʂ

    View Slide



  31. 6OJUZ3FNPUF4FUUJOHTଆ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    6OJUZ4FSWJDFTʹϩάΠϯͯ͠0QFSBUFλϒબ୒

    View Slide



  32. 6OJUZ3FNPUF4FUUJOHTଆ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    1SPKFDUTର৅ϓϩδΣΫτΛબ୒

    View Slide



  33. 6OJUZ3FNPUF4FUUJOHTଆ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    0QUJNJ[BUJPO3FNPUF4FUUJOHTΛબ୒

    View Slide



  34. 6OJUZ3FNPUF4FUUJOHTଆ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    ࠨ্ͷ؀ڥΛԡԼͯ͠։ൃ؀ڥ޲͚ʹ੾Γସ͑Δ

    View Slide



  35. 6OJUZ3FNPUF4FUUJOHTଆ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    "%%/&8,&:7"-6&ΛԡԼ

    View Slide



  36. 6OJUZ3FNPUF4FUUJOHTଆ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    Ωʔɺܕɺ஋Λೖྗͯ͠ʮอଘʯΛԡԼ

    View Slide



  37. 6OJUZ3FNPUF4FUUJOHTଆ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    4:/$ϘλϯΛԡԼ

    View Slide



  38. 6OJUZ3FNPUF4FUUJOHTଆ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    ߋ৽ࣄ༝ͳͲΛॻ͍ͯʮ4:/$ʯΛԡԼ

    View Slide



  39. ࣮૷ίʔυྫ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    using UnityEngine;
    using UnityEngine.UI;
    [RequireComponent(typeof(Text))]
    public class EmissionRatio : MonoBehaviour
    {
    private void Start()
    {
    GetComponent().text = RemoteSettings
    .GetFloat("EmissionRatio")
    .ToString();
    }
    }
    3FNPUF4FUUJOHTઃఆ஋औಘ
    GetBool() GetInt() GetFloat() GetString()

    ͳͲ͕ར༻Մ˞GetLong()͸࢖͑ͳ͍ͬΆ͍

    View Slide



  40. ࣮૷ίʔυྫ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    using UnityEngine;
    public class GameController : MonoBehaviour
    {
    private void Start()
    {
    RemoteSettings.Completed +=
    (wasUpdatedFromServer, settingsChanged, serverResponse) =>
    {
    Debug.Log("更新されたよ!");
    };
    // UniRx.Observable.Interval() とかでポーリングしても良いかも?
    RemoteSettings.ForceUpdate();
    }
    }
    3FNPUF4FUUJOHTઃఆ஋ߋ৽

    View Slide



  41. 1SPT
    3FNPUF4FUUJOHTͱ͸ʁ
    w&EJUPS্Ͱϙνϙνͯ͠ಋೖ׬ྃ
    w8FC"1*࣮૷ෆཁ
    w1MBZFSىಈ࣌ʹࣗಈͰߋ৽͞ΕΔ
    wແྉʂ

    View Slide



  42. $POT
    3FNPUF4FUUJOHTͱ͸ʁ
    w4FHNFOUT΁ͷ൓өʹʙ࣌ؒ
    wσʔλͷߋ৽͸1VMMܕ
    w1MBZFSىಈதͷߋ৽͸

    λΠτϧը໘΁ͷભҠͳͲΛ

    τϦΨʔʹForceUpdate()͕ඞཁ
    wRemoteSettings.GetLong()͸ະ࣮૷ʁ

    View Slide



  43. ׆༻ྫ
    3FNPUF4FUUJOHTͷ࢖͍ํ
    wΩϟϯϖʔϯ΍ΠϕϯτͳͲͷ

    ϑϥά؅ཧ
    w+40/ͳͲʹΑΔϚελσʔλ؅ཧ
    w"TTFU#VOEMFͷ
    4JOHMF.BOJGFTUόʔδϣϯ؅ཧ

    View Slide

  44. w-5֓ཁ
    w3FNPUF4FUUJOHTͱ͸ʁ
    w3FNPUF4FUUJOHTͷ࢖͍ํ
    w·ͱΊ


    ΞδΣϯμ
    ΠϚίί

    View Slide

  45. ·ͱΊ


    View Slide



  46. ·ͱΊ
    ·ͱΊ
    w3FNPUF4FUUJOHT͸ແྉʂ
    wαʔόαΠυ͸࣮૷ෆཁʂ
    wΫϥΠΞϯταΠυͷ࣮૷΋؆୯ʂ

    View Slide



  47. "QQFOEJY
    ·ͱΊ
    w3FNPUF4FUUJOHT.BOVBM

    &OHMJTI+BQBOFTF
    w6OJUZ4FSWJDFT
    w6OJUZ-FBSOJOH.BUFSJBMT
    wσϞϓϩδΣΫτ
    wΩοζελʔֶशா

    View Slide

  48. 0OFNPSFUIJOHʜ


    View Slide



  49. 13
    0OFNPSFUIJOHʜ
    w೔ຊ"OESPJEͷձ6OJUZ෦

    Ͱ͸ٕज़ಉਓࢽ6/*#00,ͷ

    ڞಉࣥචऀΛઈࢍืूதͰ͢ʂ
    w6OJUZʹཱིͬͨ಺༰Ͱ͋Ε͹ԿͰ΋
    0,ͳͷͰɺؾܰʹ͝ࢀՃ͍ͩ͘͞ʂ

    View Slide

  50. 5IBOLZPVGPSZPVS
    BUUFOUJPO


    View Slide