Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
プロトタイプ開発とFlutter
Ryosuke Horie
July 19, 2018
Programming
3
14k
プロトタイプ開発とFlutter
Ryosuke Horie
July 19, 2018
Tweet
Share
More Decks by Ryosuke Horie
See All by Ryosuke Horie
horie1024
1
360
horie1024
0
150
horie1024
0
650
horie1024
3
3.9k
horie1024
2
3.4k
horie1024
0
710
horie1024
2
980
horie1024
2
760
horie1024
5
2.4k
Other Decks in Programming
See All in Programming
tommykw
1
330
o0h
PRO
1
1.5k
77web
0
210
cocoeyes02
0
220
loleg
0
210
ufoo68
1
170
takaram
1
1.2k
kyoheig3
0
420
canon1ky
3
350
junmikai
0
290
itosho525
0
360
trajchevska
2
340
Featured
See All Featured
bryan
30
3.3k
mza
80
4.1k
morganepeng
17
1.1k
sstephenson
144
12k
addyosmani
310
21k
samanthasiow
56
6.3k
jponch
103
5k
philnash
8
490
3n
163
22k
sugarenia
233
830k
tammielis
237
23k
jnunemaker
PRO
40
4.5k
Transcript
© Start Today Technologies Inc. ϓϩτλΠϓ։ൃͱ'MVUUFS 'MVUUFS.FFUVQ5PLZP ελʔτΡσΟςΫϊϩδʔζ৽ࣄۀ෦ງߐ྄հ
© Start Today Technologies Inc. ࣗݾհ w ງߐ྄հ w ελʔττΡσΠςΫϊϩδʔζ
w ৽ࣄۀ෦ϑϩϯτΤϯυνʔϜ w "OESPJEΤϯδχΞ w !)PSJF
© Start Today Technologies Inc. ࣗݾհ એ w 1&",4͞Μ͔ΒຊΛग़͠·͢ʂ w
"OESPJEςετશॻ w $*$%ͷষΛࣥච͍ͯ͠·͢
© Start Today Technologies Inc. w Ҏ্ͷγϣοϓɺ Ҏ্ͷϒϥϯυͷऔ Γѻ͍ʢ݄࣌ʣ wৗ࣌ສҎ্ͷΞΠςϜͱຖฏۉ
Ҏ্ͷ৽ணΛܝࡌ wଈૹαʔϏεΪϑτϥοϐϯάαʔϏεπ έ͍͓·͔ͤఆظศ ຊ࠷େڃͷϑΝογϣϯγϣοϐϯάαΠτ
© Start Today Technologies Inc. w࠾ੇ༻ϘσΟʔεʔπʮ;0;046*5ʯʹΑͬͯܭଌ ͨ͠ମܕσʔλ͔ΒɺΦʔμʔϝΠυํࣜͰ͠ ൢച͢ΔϓϥΠϕʔτϒϥϯυ wʮ;0;046*5ʯͷΦʔμʔສ݅ಥഁʢ ݄࣌ʣ
w݄ॳ०͔ΒੈքΧࠃʹͯൢചΛ։࢝༧ఆ ϓϥΠϕʔτϒϥϯυʮ;0;0ʯ
© Start Today Technologies Inc. w ສμϯϩʔυಥഁɺίʔσΟωʔτߘ૯ ສ݅Ҏ্ʢ݄࣌ʣ wશੈքʢ"QQ4UPSF(PPHMFQMBZ͕ར༻Մೳͳશ ͯͷࠃʣͰμϯϩʔυ͕Մೳ
wେͷண͜ͳ͕͠ࢧ࣋ΛूΊɺສਓҎ্ͷϑΥ ϩϫʔΛ࣋ͭ8&"3*45"Ϣʔβʔੜ ϑΝογϣϯίʔσΟωʔτΞϓϦ
© Start Today Technologies Inc. wສμϯϩʔυಥഁɺίʔσΟωʔτߘ૯ ສ݅Ҏ্ wػցֶशΛ༻͍ͨϨίϝϯυ৽ػೳʮGPS:PVʯ w"QQMF͕ࣾબͿϕετΞϓϦʹબग़ɺ(PPHMF͕ࣾબ ͿϕετΞϓϦʹ࿈ଓͰબग़
ϑΝογϣϯΞϓϦ
© Start Today Technologies Inc. ͋Δ lͪΐͬͱ76*ͰԿ͕Ͱ͖Δ͔ݕূͯ͠Έͯz
© Start Today Technologies Inc. ϓϩτλΠϓ w εϚʔτεϐʔΧʔΛ༻ͨ͠αʔϏεͷϓϩτλΠϐϯά w ՝બͼͷΈΛղܾͰ͖ͳ͍͔ʁ
໌ͳʹண͍͔ͯͬ͜ͳʜʁ ͱͬͯΉ վળ͍ͨ͠
© Start Today Technologies Inc. ʲௐࠪʳબͼʹΜͩΒͲΜͳ͜ͱΛ͢Δͷ͔ wͱΓ͋͑ͣΛணͯΈͯɺೲಘ͢Δ·Ͱ͗ண͢Δ w࢞ͳͲʹࣅ߹͍ͬͯΔ͔Ͳ͏͔Λฉ͘ wʮΧʔΩτοϓεʯͳͲ(PPHMFɾ8&"3ͳͲͰݕࡧ ˠεϚʔτεϐʔΧʔʹஔ͖͑ΒΕͳ͍͔ʁ
© Start Today Technologies Inc. ϓϩτλΠϓͷ༷ w εϚʔτεϐʔΧʔͰʮ৭ʯʮࡐ࣭ʯʮʯΛೖྗ w ண͜ͳ͠߹ΘͤΔΞΠςϜΛฦ
w ೖྗΛΫΤϦͱͯ͠8&"3ͷݕࡧ݁ՌΛΞϓϦͰදࣔ͢Δ w J04"OESPJEͰ࣮͠ɺϓογϡ௨Λड͚औΔ w ࢦఆ͞ΕͨΫΤϦͰ8&"3ͷݕࡧ݁ՌϖʔδΛ8FC7JFXͰදࣔ
© Start Today Technologies Inc. ϓϩτλΠϓͷ༷ w εϚʔτεϐʔΧʔͰʮ৭ʯʮࡐ࣭ʯʮʯΛೖྗ w ண͜ͳ͠߹ΘͤΔΞΠςϜΛฦ
w ೖྗΛΫΤϦͱͯ͠8&"3ͷݕࡧ݁ՌΛΞϓϦͰදࣔ͢Δ w J04"OESPJEͰ࣮͠ɺϓογϡ௨Λड͚औΔ w ࢦఆ͞ΕͨΫΤϦͰ8&"3ͷݕࡧ݁ՌϖʔδΛ8FC7JFXͰදࣔ
© Start Today Technologies Inc. 'MVUUFS w ϓϩτλΠϓͷΞϓϦଆΛ'MVUUFSͰ࣮
© Start Today Technologies Inc. 'MVUUFSͰ࣮ͨ͠ཧ༝ w ΫϩεϓϥοτϑΥʔϜ w ਓͰJ04"OESPJE྆ํΛ࣮͢Δඞཁ͕͋ͬͨ
w ϓογϡ௨Λड͚औΓ8FC7JFXΛදࣔ͢Δ୯७ͳΞϓϦ w ࢼ͠ʹ࣮ͯ͠ΈΔͷʹௐΑ͍ w "OESPJE4UVEJPͰ։ൃͰ͖Δ w "OESPJEΤϯδχΞͱͯ͠ັྗత
σϞ
© Start Today Technologies Inc. γεςϜߏ w όοΫΤϯυ'JSFCBTFͰ࣮ (PPHMF)PNF ϓογϡ௨
© Start Today Technologies Inc. 'MVUUFSଆͷ࣮ w ϩάΠϯॲཧະ࣮ w 66*%ͰΛࣝผɺϩʔΧϧʹอଘ
w ຊདྷͳΒ'JSFCBTF"VUIFOUJDBUJPOΛ͏ͱྑͦ͞͏ w σόΠετʔΫϯΛ'JSFCBTF$MPVE'JSFTUPSFʹอଘ w '$.Ͱϓογϡ௨Λड͚औΓ w 8FC7JFXͰදࣔ
© Start Today Technologies Inc. 'MVUUFSଆͷ࣮ w 66*%ͷੜ w IUUQTQVCEBSUMBOHPSHQBDLBHFTVVJEΛ༻
w 3'$ͷ7FSTJPO ʹ४ڌͨ͠66*%Λੜ import 'package:uuid/uuid.dart'; var uuid = Uuid().v4();
© Start Today Technologies Inc. 'MVUUFSଆͷ࣮ w 66*%ͷϩʔΧϧͷอଘ w IUUQTQVCEBSUMBOHPSHQBDLBHFTTIBSFE@QSFGFSFODFTΛ༻
_saveUUID(String uuid) async { var prefs = await SharedPreferences.getInstance(); await prefs.setString('uuid', uuid); } Future<String> _loadUUID() async { var prefs = await SharedPreferences.getInstance(); return await prefs.getString('uuid'); }
© Start Today Technologies Inc. 'MVUUFSଆͷ࣮ w $MPVE'JSFTUPSFͷอଘ w IUUQTQVCEBSUMBOHPSHQBDLBHFTDMPVE@pSFTUPSFΛ༻
import 'package:uuid/uuid.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; var uuid = Uuid().v4(); Firestore.instance .collection('tokens') .document(uuid) .setData({'token': DEVICE_TOKEN});
© Start Today Technologies Inc. 'MVUUFSଆͷ࣮ w '$.Ͱϓογϡ௨Λड͚औΓ w IUUQTQVCEBSUMBOHPSHQBDLBHFTpSFCBTF@NFTTBHJOHΛ༻
import 'package:firebase_messaging/firebase_messaging.dart'; final _firebaseMessaging = new FirebaseMessaging(); _firebaseMessaging.configure(onMessage: (Map<String, dynamic> message) { print("onMessage: $message"); }, onLaunch: (Map<String, dynamic> message) { print("onLaunch: $message"); }, onResume: (Map<String, dynamic> message) { print("onResume: $message"); });
© Start Today Technologies Inc. 'MVUUFSଆͷ࣮ w 8FC7JFXͰͷදࣔ w IUUQTQVCEBSUMBOHPSHQBDLBHFTqVUUFS@XFCWJFX@QMVHJOΛ༻
new MaterialApp(routes: { "/": (_) => new WebviewScaffold( url: "https://www.google.com", appBar: new AppBar( title: new Text("Widget webview"), ), ) }, );
© Start Today Technologies Inc. ·ͱΊ w 'MVUUFSΛϓϩτλΠϓ։ൃͰͬͯΈͨ w ϓϩτλΠϓΛ͘࡞Δͷʹྑ͔ͬͨ
w ΫϩεϓϥοτϑΥʔϜɺ)PU3FMPBEɺ"OESPJE4UVEJPͰͷ։ൃ w 'MVUUFS͔Β'JSFCBTFΛར༻͢Δͷඇৗʹ؆୯ w 'JSFCBTFศར
͋Γ͕ͱ͏͍͟͝·ͨ͠