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
960
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
Vibe Codingをせずに Clineを使っている
watany
17
6.3k
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
240
AHC045_解説
shun_pi
0
560
RuboCop: Modularity and AST Insights
koic
2
1.6k
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
k0kubun
0
1.3k
AIコーディングワークフローの試行 〜AIエージェント×ワークフローでの自動化を目指して〜
rkaga
3
3.8k
Unlock the Potential of Swift Code Generation
rockname
0
270
AI Coding Agent Enablement - エージェントを自走させよう
yukukotani
14
6.2k
The Implementations of Advanced LR Parser Algorithm
junk0612
1
530
AIコーディングエージェントを 「使いこなす」ための実践知と現在地 in ログラス / How to Use AI Coding Agent in Loglass
rkaga
4
740
「影響が少ない」を自分の目でみてみる
o0h
PRO
2
1.2k
エンジニア向けCursor勉強会 @ SmartHR
yukisnow1823
0
890
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Practical Orchestrator
shlominoach
186
11k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
Done Done
chrislema
183
16k
4 Signs Your Business is Dying
shpigford
183
22k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
GitHub's CSS Performance
jonrohan
1030
460k
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