社内用アプリでFirebaseを使っている話

 社内用アプリでFirebaseを使っている話

2017年6月23日に開催されたOtemachiFirebase#2で発表した資料です

Ad37f739bffa0e38c8461e452cb3a489?s=128

yamacraft

June 23, 2017
Tweet

Transcript

  1. ࣾ಺ΞϓϦͰ FirebaseΛ࢖͍ͬͯΔ࿩ @yamacraft

  2. profile • @yamacraft (Wataru Yamada) • Mobile Application Engineer •

    LeadingMark, inc • team Y.G.E.(private)
  3. None
  4. دߘͯ͠·͢ʂ • ൃചதʂʂ • Android 7.0/7.1 • Firebase (Android/iOS) •

    Analytics • Notifications
  5. ࢀߟࢿྉʢίʔυ෦෼ʣ • https://gist.github.com/yamacraft/ c232359e28db4fcbca9ef2bd2420fe87 • Shortener > https://goo.gl/gJsbHo

  6. ࠓճͷൃද಺༰͸ ʮ͍·΍ͬͯΔ͜ͱʯ ʮ·ͩ΍ͬͯͳ͍͜ͱʯ ʮ͍͔ͭ΍Γ͍ͨ͜ͱʯ Ͱ͓ૹΓ͠·͢

  7. ຊ୊

  8. εϚʔτϩοΫʹΑΔղৣ

  9. ݱࡏͷ໰୊఺

  10. ೖ੍ࣨޚΞϓϦͰղܾʢ༧ఆʣ

  11. ΞϓϦͷ֓ཁਤ

  12. ࠓճ͸͜͜ͷ࿩Λ͠·͢

  13. ࠓճར༻͍ͯ͠Δػೳ • Realtime Database • ϢʔβʔʢʴΧʔυʣͷొ࿥ͱಡΈࠐΈ • Authentication • GoogleೝূʴDBͷॻ͖ࠐΈ੍ݶ

    • ʢAnalyticsɺCrash Reportingʣ
  14. Realtime Databaseͷߏ੒ • ෳࡶʹ͢ΔϝϦοτ΋ ͳ͍ͷͰγϯϓϧʹ • ϓϩδΣΫτΛෳ਺؅ ཧ͢Δͷ͕໘౗ͦ͏ͳ ͷͰɺ͍ͬͨΜಉ͡ϓ ϩδΣΫτͰςετͱ

    ຊ൪σʔλΛ؅ཧʢΑ Ζ͘͠ͳ͍ʣ
  15. Card৘ใ෦෼Ϋϥε

  16. Database Client

  17. Database Clientॲཧ • items/ҎԼͷσʔλมߋΛ؂ࢹʢValueEventListenerʣ • มԽ͕͋Ε͹ίʔϧόοΫΛ࢖ͬͯར༻ݩΫϥεʹ DataSnapshotΛૹΔ • ར༻ݩΫϥεʢࠓճ͸ViewModelଆʣͰσʔλͷ੔ ܗͱরձΧʔυϦετ৘ใΛߋ৽͢Δ

    • ੔ܗ·Ͱ͸͜͜Ͱ΍ͬͨํ͕͍͍ͷ͔ͳ…Θ͔ΒΜʂ
  18. ੔ܗ෦෼ʢViewModelʣ

  19. ॻ͖ࠐΈ͸ͱͯ΋୯७ • ͨͩ͠ɺʢࠓճͷΞϓϦ͸ʣಛఆͷGoogleΞ Χ΢ϯτͰೝূ͍ͯ͠Δඞཁ͕͋Γ·͢

  20. RealtimeDatabaseͰ͍͍ͳͱ ࢥͬͨͱ͜Ζ • ؅ཧଆͰDBΛมߋʢ௥Ճʗ࡟আʗߋ৽ʣͤ͞Δͱར༻୺ ຤ͷDB͕ଈ࠲ʹߋ৽͞ΕΔ • ϙʔϦϯάΈ͍ͨͳॲཧ͕ෆཁʂศརʂ • REST API͕༻ҙ͞Ε͍ͯΔ

    • ޷͖ͳݴޠͰσʔλ੍ޚ΋Ͱ͖Δ • ೝূ੍ޚ͕བྷΉͱͪΐͬͱ΍͔͍͔ͬ΋͠Εͳ͍
  21. Firebase Admin Python SDK ͸ɺͪΐͬͱղઆॻ͖·ͨ͠

  22. AuthenticationʹΑΔ੍ݶ • ಡΈࠐΈ͸੍ݶͳ͠ʢಛʹൿಗ͢΂͖৘ใ΋ͳ͍ͨΊʣ • ॻ͖ࠐΈ͸ಛఆϢʔβʔʢGoogleΞΧ΢ϯτʣͷΈͱ ͢Δ

  23. AuthenticationʢUIDऔಘʣ ʹ͍ͭͯ • firebase/quickstartͷαϯϓϧͦͷ··ͳͷ Ͱɺ͋·ΓޠΕΔͱ͜Ζ͸ͳ͍Ͱ͢… • UID͸ೝূޙͰͳ͍ͱ֬ೝͰ͖ͳ͍ͷͰ஫ҙ

  24. Authenticationͷิ଍ • ͪͳΈʹGoogleೝূͷ৔߹ɺΞΧ΢ϯτͷ ϝʔϧΞυϨε͕औಘͰ͖·͢

  25. ݱ࣌఺Ͱߟ͑͏Δݒ೦఺ • ॳճͷಡΈࠐΈ͕ͪΐͬͱ͔͔࣌ؒΔҹ৅͕͋Δ • ͱ͸͍͑جຊৗ࣌ىಈͳͷͰ໰୊͸গͳ͍͸ ͣ…ʁ • Ϣʔβʔʢۈ຿ऀʣ͕૿͑ͨͱ͖ͷ؅ཧ΍ӡ༻࣌ͷ ؂ࢹ͕ΞϓϦ͚ͩͰ͸ͪΐͬͱΊΜͲͦ͘͞͏… •

    Cloud FunctionͰͳΜͱ͔ͳΓͦ͏ͳؾ͕͢Δ…
  26. None
  27. ΍Εͦ͏ͳ͜ͱ • Realtime Database / AuthenticationΛ؂ࢹͯ͠… • ຊ൪σʔλͱςετσʔλͷಉظॲཧ • αΠϯΠϯΛslackʹ௨஌

    ʼ ෆཁͳαΠϯΠϯͷ࣮ߦ؂ࢹ • HTTPτϦΨʔΛ࢖ͬͯ… • chat botܦ༝ͰFCM ʼ ϩοΫղআͷ੍ޚ • ఆظ࣮ߦ ʼ ར༻͞Ε͍ͯͳ͍ΧʔυͷνΣοΫ
  28. ஫ҙ • ແྉ࿮Ͱ͸GoogleҎ֎͔Βͷݺͼग़͕͠Ͱ͖ ͳ͍ͷͰ஫ҙɻ

  29. firebase/functions-samples

  30. ͓͠·͍ ʢ࣍ճ͕͋Ε͹ʣͦͷޙͷ࿩ͩͬͨΓɺFirebase Λ࢖ͬͨWebαʔϏεఏڙͷ࿩Λ͠·͢ʂ