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

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

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

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

yamacraft

June 23, 2017
Tweet

More Decks by yamacraft

Other Decks in Programming

Transcript

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

    View Slide

  2. profile
    • @yamacraft (Wataru Yamada)
    • Mobile Application Engineer
    • LeadingMark, inc
    • team Y.G.E.(private)

    View Slide

  3. View Slide

  4. دߘͯ͠·͢ʂ
    • ൃചதʂʂ
    • Android 7.0/7.1
    • Firebase (Android/iOS)
    • Analytics
    • Notifications

    View Slide

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

    View Slide

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

    View Slide

  7. ຊ୊

    View Slide

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

    View Slide

  9. ݱࡏͷ໰୊఺

    View Slide

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

    View Slide

  11. ΞϓϦͷ֓ཁਤ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  15. Card৘ใ෦෼Ϋϥε

    View Slide

  16. Database Client

    View Slide

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

    View Slide

  18. ੔ܗ෦෼ʢViewModelʣ

    View Slide

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

    View Slide

  20. RealtimeDatabaseͰ͍͍ͳͱ
    ࢥͬͨͱ͜Ζ
    • ؅ཧଆͰDBΛมߋʢ௥Ճʗ࡟আʗߋ৽ʣͤ͞Δͱར༻୺
    ຤ͷDB͕ଈ࠲ʹߋ৽͞ΕΔ
    • ϙʔϦϯάΈ͍ͨͳॲཧ͕ෆཁʂศརʂ
    • REST API͕༻ҙ͞Ε͍ͯΔ
    • ޷͖ͳݴޠͰσʔλ੍ޚ΋Ͱ͖Δ
    • ೝূ੍ޚ͕བྷΉͱͪΐͬͱ΍͔͍͔ͬ΋͠Εͳ͍

    View Slide

  21. Firebase Admin Python SDK
    ͸ɺͪΐͬͱղઆॻ͖·ͨ͠

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  26. View Slide

  27. ΍Εͦ͏ͳ͜ͱ
    • Realtime Database / AuthenticationΛ؂ࢹͯ͠…
    • ຊ൪σʔλͱςετσʔλͷಉظॲཧ
    • αΠϯΠϯΛslackʹ௨஌ ʼ ෆཁͳαΠϯΠϯͷ࣮ߦ؂ࢹ
    • HTTPτϦΨʔΛ࢖ͬͯ…
    • chat botܦ༝ͰFCM ʼ ϩοΫղআͷ੍ޚ
    • ఆظ࣮ߦ ʼ ར༻͞Ε͍ͯͳ͍ΧʔυͷνΣοΫ

    View Slide

  28. ஫ҙ
    • ແྉ࿮Ͱ͸GoogleҎ֎͔Βͷݺͼग़͕͠Ͱ͖
    ͳ͍ͷͰ஫ҙɻ

    View Slide

  29. firebase/functions-samples

    View Slide

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

    View Slide