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
Otemachi Firebase #1 発表スライド
Search
Yoshiaki Nakanishi
July 13, 2016
Programming
3
940
Otemachi Firebase #1 発表スライド
App Indexing、Dynamic LinksとInvitesを15分でざっと紹介するための資料です。
Yoshiaki Nakanishi
July 13, 2016
Tweet
Share
More Decks by Yoshiaki Nakanishi
See All by Yoshiaki Nakanishi
すくすく!子育てエンジニアMeetup Vol.1資料
ynakanishi
1
2.1k
DroidKaigi 2016 Androidの省電力を考える
ynakanishi
5
11k
Other Decks in Programming
See All in Programming
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
360
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
130
命名をリントする
chiroruxx
1
390
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1k
今からはじめるAndroidアプリ開発 2024 / DevFest 2024
star_zero
0
1k
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
170
return文におけるstd::moveについて
onihusube
1
940
Refactor your code - refactor yourself
xosofox
1
260
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
270
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
760
モバイルアプリにおける自動テストの導入戦略
ostk0069
0
110
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
130
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Navigating Team Friction
lara
183
15k
How to train your dragon (web standard)
notwaldorf
88
5.7k
A designer walks into a library…
pauljervisheath
204
24k
What's in a price? How to price your products and services
michaelherold
243
12k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Music & Morning Musume
bryan
46
6.2k
Transcript
'JSFCBTF(SPXΑΓ "QQ*OEFYJOHɺ%ZOBNJD-JOLTͱ গ͠*OWJUFT ϒϥΠςΫϊגࣜձࣾ දऔకதྑ໌!DIVO@SZP
%JTDMBJNFS w ݱ࣌Ͱචऀ͕ௐͨใΛݩʹͨ͠ͷͰ͢ɻ ޡΓͳͲ͕͋Δ͔͠Ε·ͤΜͷͰ͝ҙͩ͘ ͍͞ʢ͝ࢦఠ͓͓ͪͯ͠Γ·͢ʣɻ w ςΩετɾը૾ͳͲ'JSFCBTFެࣜαΠτͷ$$ ͷͷɺஶ࡞ݖ๏্ͷҾ༻ͷ݅Λຬͨ͢ ൣғͰ༻͓ͯ͠Γ·͢ɻ IUUQTpSFCBTFHPPHMFDPNUFSNT
'JSFCBTF(SPXͱ w "DRVJSFBOEFOHBHFUIFSJHIUVTFSTBUUIFSJHIUUJNF 5BLFUIFHVFTTXPSLPVUPGHSPXUI
'JSFCBTF(SPXͱ w దͳ࣌ʹదʹϢʔβΛ֫ಘ͢ΔɺަྲྀΛਂΊΔ צʹཔ͔ͬͨΒͷग़
'JSFCBTF(SPXͱ w దͳ࣌ʹదʹϢʔβΛ֫ಘ͢ΔɺަྲྀΛਂΊΔ צʹཔ͔ͬͨΒͷग़ IUUQTpSFCBTFHPPHMFDPN
"QQ*OEFYJOH w (PPHMF*0Ͱൃද͞Εͨػೳͷ'JSFCBTF൛ w (PPHMFͷݕࡧ݁Ռ͔ΒɺΞϓϦΛىಈ͢Δ IUUQTpSFCBTFHPPHMFCMPHDPNJOUSPEVDJOHpSFCBTFBQQJOEFYJOHIUNM
"QQ*OEFYJOHͷར w "QQ*OEFYJOH4%,Λ༻͍Δͱʜʜ w ݕࡧॱҐ্͕͢Δ w (PPHMFݕࡧೖྗ࣌ͷΦʔτίϯϓϦʔτͰΞϓϦΛαδΣ ετͯ͘͠ΕΔ "OESPJEͷΈ
IUUQTpSFCBTFHPPHMFCMPHDPNJOUSPEVDJOHpSFCBTFBQQJOEFYJOHIUNM
"QQ*OEFYJOHͷར w ΞϓϦ͕Πϯετʔϧ͞Ε͍ͯͳ͍Ϣʔβʹɺ ݕࡧ݁ՌͷதͰΠϯετʔϧʹ༠ಋͯ͘͠ΕΔ IUUQTpSFCBTFHPPHMFCMPHDPNJOUSPEVDJOHpSFCBTFBQQJOEFYJOHIUNM
"QQ*OEFYJOHͷجຊ w ΞϓϦ͕)55163-Ͱ։͔ΕΔΑ͏ʹ͢Δ w 4%,ͷ"1*Λݺͼग़͢ w ΞϓϦىಈ࣌ʹొ"1*Λݺͼग़͢ J04 w
։͍ͨ63-ͷใΛݕࡧΠϯσοΫεʹొ͢Δ ʢ"OESPJEʣ
"QQ*OEFYJOHGPSJ04 w J04Ҏ߱ͷ6OJWFSTBM-JOLTػೳΛར༻͢Δ w ΞϓϦʹ6OJWFSTBM-JOLT͕దʹઃఆ͞Ε͍ͯΕɺࢦఆυϝ ΠϯͷIUUQIUUQTͷϦϯΫ͔ΒΞϓϦ͕ىಈ͞ΕΔ w IUUQTpSFCBTFHPPHMFDPNEPDTBQQJOEFYJOHJPTBQQ w
IUUQTEFWFMPQFSBQQMFDPNMJCSBSZJPTEPDVNFOUBUJPO(FOFSBM$PODFQUVBM "QQ4FBSDI6OJWFSTBM-JOLTIUNM \BQQMJOLT\BQQT<> EFUBJMT< \BQQ*%+"22-/2DPNBQQMFXXED QBUIT<XXEDOFXT lWJEFPTXXED >^ > ^ ^ w BQQMFBQQTJUFBTTPDJBUJPO ϑΝΠϧΛ8FCαΠτʹ ஔ͢Δ w ΞϓϦʹBTTPDJBUFEEPNBJOTͷ FOUJUMFNFOUΛઃఆ͢Δ
"QQ*OEFYJOHGPSJ04 $PDPB1PETͰ4%,ΛΠϯετʔϧ͢Δ "QQ%FMFHBUFʹొॲཧΛՃ͢Δ func application(application: UIApplication, didFinishLaunchingWithOptions
launchOptions: [NSObject: AnyObject]?) -> Bool { // …… FIRAppIndexing.sharedInstance().registerApp(12345678) // iTunes ConnectͰ֬ೝͰ͖ΔΞϓϦͷApple IDΛࢦఆ͢Δ } IUUQTpSFCBTFHPPHMFDPNEPDTBQQJOEFYJOHJPTBDUJWJUZ
"QQ*OEFYJOHGPS"OESPJE w 8FCαʔόͱΞϓϦͷϚχϑΣετΛରԠ͚ͯઃఆ͢Δ w 8FCαʔόͱΞϓϦಉ͡63-Ͱಉ͡ίϯςϯπΛࢀরͰ͖ΔΑ͏ʹ͢Δ w 8FCαʔό্ʹBTTFUMJOLTKTPOΛஔ͢Δ͔ɺ(PPHMFͷ4FBSDI$POTPMF ͰΞϓϦΛՃ͢Δ w
IUUQTpSFCBTFHPPHMFDPNEPDTBQQJOEFYJOHBOESPJEBQQ w IUUQTEFWFMPQFSBOESPJEDPNUSBJOJOHBQQMJOLTJOEFYIUNM <\ SFMBUJPO<EFMFHBUF@QFSNJTTJPODPNNPOIBOEMF@BMM@VSMT> UBSHFU\OBNFTQBDFBOESPJE@BQQ QBDLBHF@OBNFDPNBQQJOEFYJOHTBNQMFBQQ TIB@DFSU@pOHFSQSJOUT<IBTI@PG@BQQ@DFSUJpDBUF>^ ^>
"QQ*OEFYJOHGPS"OESPJE CVJMEHSBEMFʹґଘΛՃ͢Δ ։͍ͨ63-ͱλΠτϧɺઆ໌Λͻ͚ͯొ ͢Δʢ(PPHMFݕࡧʹڭ͑Δʣ
EFQFOEFODJFT\ DPNQJMFDPNHPPHMFBOESPJEHNTQMBZTFSWJDFTBQQJOEFYJOH ^
"QQ*OEFYJOHGPS"OESPJE QVCMJDDMBTT.BJO"DUJWJUZFYUFOET"DUJWJUZ\ ʜ !0WFSSJEF QSPUFDUFEWPJEPO$SFBUF #VOEMFTBWFE*OTUBODF4UBUF \ N$MJFOUOFX(PPHMF"QJ$MJFOU#VJMEFS UIJT
BEE"QJ "QQ*OEFY"1* CVJME N6SMIUUQFYBNQMFQFUTUPSFDPNEPHTTUBOEBSEQPPEMF N5JUMF4UBOEBSE1PPEMF N%FTDSJQUJPO5IF4UBOEBSE1PPEMFTUBOETBUMFBTUJODIFTBUUIFXJUIFST ^ QVCMJD"DUJPOHFU"DUJPO \ 5IJOHPCKFDUOFX5IJOH#VJMEFS TFU/BNF N5JUMF TFU%FTDSJQUJPO N%FTDSJQUJPO TFU6SM N6SM CVJME SFUVSOOFX"DUJPO#VJMEFS "DUJPO5:1&@7*&8 TFU0CKFDU PCKFDU TFU"DUJPO4UBUVT "DUJPO45"564@5:1&@$0.1-&5&% CVJME ^
"QQ*OEFYJOHGPS"OESPJE !0WFSSJEF QVCMJDWPJEPO4UBSU \ TVQFSPO4UBSU N$MJFOUDPOOFDU "QQ*OEFY"QQ*OEFY"QJTUBSU
N$MJFOU HFU"DUJPO ^ !0WFSSJEF QVCMJDWPJEPO4UPQ \ "QQ*OEFY"QQ*OEFY"QJFOE N$MJFOU HFU"DUJPO N$MJFOUEJTDPOOFDU TVQFSPO4UPQ ^ PO4UBSU ʙPO4UPQ ·Ͱɺ ࡏ࣌ؒΛܭଌͨ͠ ݕࡧΠϯσοΫεͷొ
%ZOBNJD-JOLT w ୯ҰͷϦϯΫͰϢʔβΛΞϓϦʹભҠͤ͞Δ w ΠϯετʔϧࡁΈͷ"OESPJE·ͨJ04ΞϓϦʹભҠ͞ ͤΔ w ະΠϯετʔϧ࣌ɺ(PPHMF1MBZ"QQ4UPSFʹϢʔ βΛ༠ಋ͢Δɻ·ͨɺΞϓϦͷॳճىಈ࣌ʹ͖͔͚ͬ ͱͳͬͨσΟʔϓϦϯΫ63-ͷใΛ༩͑Δ
%ZOBNJD-JOLTͷར σΟʔϓϦϯΫ͔ΒϢʔβʹΞϓϦΛΠϯετʔϧͤ͞ɺ తͷը໘Λ։͔ͤΔखॱ͕γϯϓϧʹͳΔ ˠɹϢʔβ֫ಘͷϋʔυϧ͕ܶతʹԼ͕Δ IUUQTXXXZPVUVCFDPNXBUDI W1NB6L57ZX%
%ZOBNJD-JOLTͷίϯιʔϧ ΞϓϦʹൃߦ͞ΕΔυϝΠϯ
μΠφϛοΫϦϯΫͷੜ
μΠφϛοΫϦϯΫͷੜ IUUQTpSFCBTFHPPHMFDPNEPDTEZOBNJDMJOLT ֤छͷใΛͬͨॖ63-Λ࡞Ͱ͖Δ
μΠφϛοΫϦϯΫΛ ϓϩάϥϜͰੜ͢Δ w ίϯιʔϧͰੜ͢Δ63-ɺύϥϝʔλʹ͍Ζ͍Ζͳ ใΛՃͨ͠ͷΛॖͨ͠ͷ w J04ΞϓϦ͚ͷ%ZOBNJD-JOLϑΥʔϚοτ w IUUQTEPNBJO MJOLZPVS@MJOLJCJCVOEMF@JEJVTVSM@TDIFNF<BE>
<JqGBMMCBDL@MJOL><BUB⒏MJBUF@UPLFO><DUDBNQBJHO@UFYU> w "OESPJEΞϓϦ͚ͷ%ZOBNJD-JOLϑΥʔϚοτ w IUUQTEPNBJO MJOLZPVS@EFFQ@MJOLBQOQBDLBHF@OBNF<BNWNJOJNVN@WFSTJPO> <BE><BMBOESPJE@MJOL><BqGBMMCBDL@MJOL> w J04͚ͱ"OESPJE͚ΛΈ߹ΘͤΔ͜ͱՄೳ
%ZOBNJD-JOLTࢀߟใ w %ZOBNJD-JOLTͷύϥϝʔλΛೖΕͯϦϯΫΛ ΈཱͯΔΣϒΞϓϦ w IUUQGEMMJOLTBQQTQPUDPN
μΠφϛοΫϦϯΫ͔Βͷ ใऔಘ J04 w ΞϓϦΧελϜ63-εΩʔϜɺ6OJWFSTBM-JOLTʹͳͲରԠͯ͠ ͓͘ w %ZOBNJD-JOLTͰఏڙ͞ΕΔυϝΠϯ6OJWFSTBM-JOLTΛ։͚ ΔΑ͏ʹ͓ͯ͘͠ w
ΞϓϦ͕ड͚औͬͨ63-͔ΒɺΞϓϦ͕ຊདྷظ͢Δ63- σΟʔ ϓϦϯΫ Λऔಘ͢Δ w σΟʔϓϦϯΫʹैͬͯɺదͳॲཧΛߦ͏ʢͨͱ͑ɺࢦఆͷϨ ετϥϯΛදࣔ͢Δʣ IUUQTpSFCBTFHPPHMFDPNEPDTEZOBNJDMJOLTJPT
μΠφϛοΫϦϯΫ͔Βͷ ใऔಘ "OESPJE w ΞϓϦॴͷσΟʔϓϦϯΫΛड͚औΕΔΑ͏ʹ *OUFOU'JMUFSΛઃఆ͓ͯ͘͠ w *OUFOU͔ΒσΟʔϓϦϯΫΛऔಘ͢Δ w σΟʔϓϦϯΫʹैͬͯɺదͳॲཧΛߦ͏ʢͨͱ͑
ɺࢦఆͷϨετϥϯΛදࣔ͢Δʣ IUUQTpSFCBTFHPPHMFDPNEPDTEZOBNJDMJOLTBOESPJE
%ZOBNJD-JOLTڥΛ Ͳ͏ผ͍ͯ͠Δͷ͔ ఆ൛ w 6TFS"HFOU͔Β04ͱόʔδϣϯΛऔಘ w ΞϓϦͷΠϯετʔϧঢ়گ w "OESPJEͷΈ Πϯετʔϧ͞Ε͍ͯΔΞϓϦͷWFSTJPO$PEF
ະΠϯετʔϧ ΠϯετʔϧࡁΈ 1$ ઃఆͨ͠63-ʹϦμΠϨΫτ "OESPJE ݹ͍ΞϓϦ /" ϑΥʔϧόοΫ63-ʹϦμΠϨΫτ "OESPJE /" ઃఆͨ͠63-ʹϦμΠϨΫτ͢Δ J04Ҏલ ΞϓϦͷىಈɾΠϯετʔϧͳͲʹ༠ಋ͢Δ+BWB4DSJQUΛؚΜͩΣϒϖ ʔδΛฦ͢ J04Ҏ߱ ϑΥʔϧόοΫ63-ʹϦμΠϨΫτ 6OJWFSTBM-JOLTͰΞϓϦ͕ىಈ
*OWJUFT w 'JSFCBTF%ZOBNJD-JOLTΛ༻͍ͨΞϓϦใͷϢʔβͷڞ༗ ট Λ؆୯ʹ͢Δػೳ w ΞϓϦʹট6*Λ؆୯ʹΈࠐΊΔ w ͨͩ͠ɺ&NBJMͱ4.4ʹΑΔটͷ؆୯ΈࠐΈͳͷͰɺͦ
ΕҎ֎Ͱͷটػೳ࣮ʹద͞ͳ͍ IUUQTpSFCBTFHPPHMFDPNEPDTJOWJUFT
*OWJUFTͷΈࠐΈํ w ؆୯ͳͷͰެࣜαΠτʹैͬͯਐΊΕ0, w "OESPJEIUUQTpSFCBTFHPPHMFDPNEPDTJOWJUFTBOESPJE w J04IUUQTpSFCBTFHPPHMFDPNEPDTJOWJUFTJPT