Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Flutter_meetup_6.pdf
Search
shogo.yamada
December 06, 2018
760
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Flutter_meetup_6.pdf
shogo.yamada
December 06, 2018
More Decks by shogo.yamada
See All by shogo.yamada
Jetpack ComposeへのリファクタリングのTIPS: CustomViewの便利な使い方 / Refactoring TIPS to Jetpack Compose: Useful usage of CustomView
yshogo
0
1.1k
Android StudioのLiveTemplateの便利な使い方 / Android LiveTemplate Method
yshogo
0
1.6k
ZOZOの新規サービス 「FAANS」の開発 Android編/FAAN App Create on Android
yshogo
0
1.7k
PORT_Firebase___Algolia.pdf
yshogo
0
250
Flutter_meetup_tokyo__10.pdf
yshogo
0
6.1k
PORT Firebase x Flutter
yshogo
0
470
ZOZOTech meetup Frontend #10
yshogo
2
1.8k
flutter-meetup.pdf
yshogo
0
98
Potetochips #61
yshogo
1
570
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
360
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Deep Space Network (abreviated)
tonyrice
0
170
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
What's in a price? How to price your products and services
michaelherold
247
13k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
Un-Boring Meetings
codingconduct
0
310
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
350
Site-Speed That Sticks
csswizardry
13
1.2k
Transcript
Copyright © ZOZO Technologies, Inc. All Rights Reserved. גࣜձࣾ;0;0ςΫϊϩδʔζ ։ൃ෦
ࢁాঘޗ 'MVUUFSͰνϟοτػೳΛ࡞Δ ্Ͱߟ͑ͨ͜ͱ
ϓϩϑΟʔϧ 5XJUUFS ;0;0ςΫϊϩδʔζ ։ൃ෦ ࢁాঘޗ Copyright © ZOZO Technologies, Inc.
All Rights Reserved. !ZTIPHP (JUIVC !ZTIPHP 'MVUUFSใൃ৴ϒϩάʮދࢹᚳʑͱʯ IUUQTXXXTIPHPHFFLDPN
Copyright © ZOZO Technologies, Inc. All Rights Reserved. ˓ຊ࠷େڃͷϑΝογϣϯγϣοϐϯάαΠτΞϓϦ ˓
Ҏ্ͷγϣοϓɺ Ҏ্ͷϒϥϯυͷऔΓѻ͍ʢ ݄࣌ʣ ˓ৗ࣌ສҎ্ͷΞΠςϜͱຖฏۉ Ҏ্ͷ৽ண Λܝࡌ ˓ଈૹαʔϏεΪϑτϥοϐϯάαʔϏεπέ͍ͳͲ IUUQ[P[PKQ
Copyright © ZOZO Technologies, Inc. All Rights Reserved. ˓ຊ࠷େڃͷϑΝογϣϯίʔσΟωʔτΞϓϦ ˓
ສμϯϩʔυಥഁɺίʔσΟωʔτߘ૯ສ݅Ҏ ্ʢͱʹ݄࣌ʣ ˓શੈքʢ"QQ4UPSF(PPHMFQMBZ͕ར༻ՄೳͳશͯͷࠃʣͰμ ϯϩʔυ͕Մೳ ˓ສਓҎ্ͷϑΥϩϫʔΛ࣋ͭϢʔβʔʢ8&"3*45"ʣੜ IUUQTXFBSKQ
Copyright © ZOZO Technologies, Inc. All Rights Reserved. ˓͕ࣾಠࣗʹ։ൃͨ͠࠾ੇ༻ϘσΟʔεʔπ ˓શମʹࢪ͞ΕͨυοτϚʔΧʔΛεϚʔτϑΥϯΧϝϥͰࡱ
Ө͢Δ͜ͱͰɺମܕσʔλΛܭଌ ˓ܭଌͨ͠ମܕσʔλɺॠ࣌ʹ%ϞσϧԽ͞Εɺ;0;0508/Ξ ϓϦʹอଘɻ%Ϟσϧ͋ΒΏΔ֯ʹಈ͔͢͜ͱ͕Ͱ͖ɺମܕΛ νΣοΫ͢Δ͜ͱ͕Մೳ IUUQ[P[PKQ[P[PTVJU
Copyright © ZOZO Technologies, Inc. All Rights Reserved. ˓ʮ;0;046*5ʯͰܭଌͨ͠ମܕσʔλΛͱʹɺҰਓͻͱΓͷମ ܕʹ߹ͬͨʮ͋ͳͨαΠζʯͷΞΠςϜ
˓ʮڀۃͷϑΟοτײʯΛ࣮ݱͨ͠ϕʔγοΫΞΠςϜΛఏڙ άϩʔόϧαΠτʮ;0;0DPNʯͰւ֎ల։ ˓ΞΠςϜ̩γϟπɺσχϜύϯπɺγϟπɺϏδωεεʔπɺ ωΫλΠɺϘʔμʔ̩γϟπɺକΫϧʔωοΫ̩γϟπͳͲ IUUQ[P[PKQQC
Copyright © ZOZO Technologies, Inc. All Rights Reserved. 'MVUUFSࣸਅڞ༗ΞϓϦ ʮ(SPVQ"MCVNʯ
ݱࡏ$IBUػೳΛ࣮͍ͯ͠·͢ʂ
͢͜ͱ Copyright © ZOZO Technologies, Inc. All Rights Reserved. ɾ࡞ͬͨͷ
ɾͳͥνϟοτػೳʁ ɾνϟοτػೳཁ݅ ɾ'MVUUFSͰͷ࣮ํ๏ ɾࠓͬͯΔ͜ͱ
࡞ͬͨͷ Copyright © ZOZO Technologies, Inc. All Rights Reserved.
ͳͥνϟοτػೳʁ Copyright © ZOZO Technologies, Inc. All Rights Reserved. ɾ'MVUUFSʹ͍ͭͯٞͰ͖ΔϓϥοτϑΥʔϜΛࣗͰ࡞Γ
͍ͨ ɾ'MVUUFSͱ'JSFCBTFͰͲ͜·Ͱӡ༻Ͱ͖Δͷ͔ࢼͯ͠Έ͍ͨ ɾ'MVUUFSͷੌ͞Λମײ͍ͨ͠
νϟοτػೳཁ݅ Copyright © ZOZO Technologies, Inc. All Rights Reserved. ɾϝοηʔδϦΞϧλΠϜͰը໘ʹө͢Δ
ɾϝοηʔδ͕དྷͨΒ1VTI௨Λଧͭ ɾϢʔβʔཧΛ͢Δ ɾະಡͪΌΜͱදࣔ͢Δ ɾJ04ͱ"OESPJEʹରԠ͍ͯ͠Δ ɾFUD
Copyright © ZOZO Technologies, Inc. All Rights Reserved. ʮνϟοτػೳʯ Δ͜ͱͨ͘͞Μ͋Δ
Copyright © ZOZO Technologies, Inc. All Rights Reserved. ͦ͜Ͱ'JSFCBTF
νϟοτػೳཁ݅ Copyright © ZOZO Technologies, Inc. All Rights Reserved. ɾϝοηʔδϦΞϧλΠϜͰը໘ʹө͢Δ
ɾϝοηʔδ͕དྷͨΒ1VTI௨Λଧͭ ɾϢʔβʔཧΛ͢Δ ɾະಡͪΌΜͱදࣔ͢Δ ɾJ04ͱ"OESPJEʹରԠ͍ͯ͠Δ
νϟοτػೳཁ݅ Copyright © ZOZO Technologies, Inc. All Rights Reserved. ɾϝοηʔδϦΞϧλΠϜͰը໘ʹө͢Δˠ$MPVE'JSFTUPSF
ɾϝοηʔδ͕དྷͨΒ1VTI௨Λଧͭˠ$MPVE'VODUJPOT 'JSFCBTF .FTTBHJOH ɾϢʔβʔཧΛ͢Δˠ'JSFCBTF"VUIFOUJDBUF ɾະಡͪΌΜͱදࣔ͢Δˠ࣮த͚ͩͲɺͨͿΜ$MPVE'JSFTUPSFͰ͍͚Δ ɾJ04ͱ"OESPJEʹରԠ͍ͯ͠Δˠ'MVUUFS͔ͩΒ༨༟
νϟοτػೳཁ݅ Copyright © ZOZO Technologies, Inc. All Rights Reserved. ɾϝοηʔδϦΞϧλΠϜͰը໘ʹө͢Δˠ$MPVE'JSFTUPSF
ɾϝοηʔδ͕དྷͨΒ1VTI௨Λଧͭˠ$MPVE'VODUJPOT 'JSFCBTF .FTTBHJOH ɾϢʔβʔཧΛ͢Δˠ'JSFCBTF"VUIFOUJDBUF ɾະಡͪΌΜͱදࣔ͢Δˠ࣮த͚ͩͲɺͨͿΜ$MPVE'JSFTUPSFͰ͍͚Δ ɾJ04ͱ"OESPJEʹରԠ͍ͯ͠Δˠ'MVUUFS͔ͩΒ༨༟ ࠓճ͜ͷೋͭʹ͍ͭͯઆ໌
$MPVE'JSFTUPSF Copyright © ZOZO Technologies, Inc. All Rights Reserved. child:
StreamBuilder( stream: chatHelper .getMessages(widget.groupId) .asBroadcastStream(), builder: (context, snapshot) { if (snapshot == null || snapshot.data == null) return Container(); return new ListView.builder( padding: new EdgeInsets.all(8.0), reverse: true, itemBuilder: (_, int index) { // ͜͜ͰϝοηʔδΛදࣔ͢Δ }, itemCount: snapshot.data.documents.length, ); })
$MPVE'JSFTUPSF Copyright © ZOZO Technologies, Inc. All Rights Reserved. child:
StreamBuilder( stream: chatHelper .getMessages(widget.groupId) .asBroadcastStream(), builder: (context, snapshot) { if (snapshot == null || snapshot.data == null) return Container(); return new ListView.builder( padding: new EdgeInsets.all(8.0), reverse: true, itemBuilder: (_, int index) { // ͜͜ͰϝοηʔδΛදࣔ͢Δ }, itemCount: snapshot.data.documents.length, ); })
$MPVE'JSFTUPSF Copyright © ZOZO Technologies, Inc. All Rights Reserved. Stream<QuerySnapshot>
getMessages(String groupId) { return Firestore.instance .collection("group") .document(groupId) .collection("message") .orderBy("created_at", descending: true) .snapshots(); }
ϦΞϧλΠϜʹมߋΛࢹͰ͖Δ Copyright © ZOZO Technologies, Inc. All Rights Reserved.
1VTI௨ Copyright © ZOZO Technologies, Inc. All Rights Reserved. https://pub.dartlang.org/packages/firebase_messaging
1VTI௨ Copyright © ZOZO Technologies, Inc. All Rights Reserved. requestPermission()
{ _firebaseMessaging.requestNotificationPermissions( const IosNotificationSettings(sound: true, badge: true, alert: true)); } ɾJ04ͱ"OESPJEͷΖΖͷઃఆΛ͢Δ J04ূ໌ॻͱ͔ ɾJ04ͷ߹ύʔϛογϣϯΛͱΔ
1VTI௨ Copyright © ZOZO Technologies, Inc. All Rights Reserved. 1VTI௨Λड͚औͬͯ։͍ͨͱ͖ͷڍಈΛࢹ͢Δ
_initSettingNotification (BuildContext context) { _firebaseMessaging.configure( onMessage: (Map<String, dynamic> message) async { print("onMessage: $message"); }, onLaunch: (Map<String, dynamic> message) async { print("onLaunch: $message"); }, onResume: (Map<String, dynamic> message) async { print("onResume: $message"); }, ); }
1VTI௨Λड͚औͬͨΒόοδΛ͚ͭΔ Copyright © ZOZO Technologies, Inc. All Rights Reserved. https://pub.dartlang.org/packages/flutter_app_badger
όοδΛ͚ͭΔ Copyright © ZOZO Technologies, Inc. All Rights Reserved. ΞΠίϯόοδΛ͚͍ͭͨλΠϛϯάͰ࣮ߦ͢Δ
void _addBadge() { FlutterAppBadger.updateBadgeCount(1); } void _removeBadge() { FlutterAppBadger.removeBadge(); }
ࠓͬͯΔ͜ͱ Copyright © ZOZO Technologies, Inc. All Rights Reserved. ɾະಡΛϦετʹදࣔ͢Δ
ɾϦετΛϝοηʔδ৽ணॱʹ͢Δ ɾͦͷଞࡉ͔͍ෆ۩߹मਖ਼
࠙ձͰͥͻ͓͠͠·͠ΐ͏ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ Copyright © ZOZO Technologies, Inc. All Rights Reserved.