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
広告実装の苦しみ
Search
ryokosuge
October 23, 2018
Programming
0
400
広告実装の苦しみ
ryokosuge
October 23, 2018
Tweet
Share
More Decks by ryokosuge
See All by ryokosuge
広告実装、こうすると幸せだよ
ryokosuge
6
1.4k
6年ほど育ったiOSプロジェクトを刷新した話 / Renewed iOS project that grew up for about 6 years
ryokosuge
2
750
アプリ開発とSDK開発の違い
ryokosuge
1
630
アプリを十数個作った僕が初めて書いたテストの話
ryokosuge
2
2.3k
広告SDKを駆使して 売り上げを5倍にした
ryokosuge
2
4.1k
早期発見プロジェクト
ryokosuge
0
56
Other Decks in Programming
See All in Programming
JSAI2025 RecSysChallenge2024 優勝報告
unonao
1
440
2度もゼロから書き直して、やっとブラウザでぬるぬる動くAIに辿り着いた話
tomoino
0
150
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
960
カクヨムAndroidアプリのリブート
numeroanddev
0
390
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
900
XSLTで作るBrainfuck処理系
makki_d
0
180
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
280
Your Architecture as a Crime Scene:Forensic Analysis
manfredsteyer
PRO
0
100
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
200
GoのWebAssembly活用パターン紹介
syumai
3
9.6k
Effect の双対、Coeffect
yukikurage
4
1.3k
FormFlow - Build Stunning Multistep Forms
yceruto
1
150
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
4 Signs Your Business is Dying
shpigford
183
22k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
Writing Fast Ruby
sferik
628
61k
Documentation Writing (for coders)
carmenintech
71
4.9k
Faster Mobile Websites
deanohume
307
31k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Making Projects Easy
brettharned
116
6.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Transcript
ࠂ࣮ͷۤ͠Έ 2017/08/18 খੁ ྒ
ࣗݾհ • גࣜձࣾ Nagisa iOS ΤϯδχΞ • 19902݄12ੜ·Εʢ27ʣ • ࡞ͬͨΞϓϦ
• ϚϯΨZEROɺetc… • ਗ਼͞ΜͷհͰొஃ͖ͤͯ͞·ͨ͠
ΞδΣϯμ • ݱࡏͷϚϯΨZEROͷࠂʹ͍ͭͯ • ͕͜͜ਏ͍ࠂ࣮
ೖͬͯΔࠂSDKʢҰ෦ൈਮʣ
None
ZEROͷࠂࣄ • σΠϦʔͷ૯imp • 2,446ສimp • idൃߦʢશࠂഔମʣ • 53ݸ •
Firebase RemoteConfigͰimpͷৼΓ͚࣮ͯ͠ΔͷͰಉ ͡ʹෳͷid͕͋Δ
ࠂ࣮ͷۤ͠Έ…
1. ࠂSDKͷ༷͕όϥόϥ • ֤ࣾͷࠂSDKͰ༷͕όϥόϥͳͨΊ࣮͕ຖ0͔Βε λʔτ͢Δ • ͏ڻ͔ͳ͍ • ܦݧ͍Βͳ͍ •
SingletonͰάϩʔόϧʹΛอ࣋͠ଓ͚Δ༷͋Εɺͬ͜ ͪͰࢀরͬͨΓ • UIViewΛܧঝ͍ͯ͠ΔΫϥε͢Βੜͯ͘͠Εͳ͔ͬͨΓ
2. SDKͷιʔε͕ͱͯݹ͍ • Objective-CͰॻ͔Ε͍ͯΔ • Swiftͩͱbridge͠ͳ͚ΕͳΒͳ͍ • nullablenonnullͷએݴΛͯ͠ͳ͍͔ΒSwiftͰ͏ͱ Fourced Unwrappingঢ়ଶͰ͏ͷͰΫϥογϡͷԹচʹͳΔ
• ຊʹdelegateʹnilͰฦͯ͘͠ΔΫιSDK͋Δ • ίϯύΠϧ࣌ʹwarning͕ग़·ͬͯ͘ςϯγϣϯԼ͕Δ
3. iOSΛཧղ͍ͯ͠ͳ͍ • ڧࢀরɺऑࢀরɺࢀর॥ͳͲͷ͓࡞๏Λແࢹ ͍ͯ͠ΔSDKଟ • ΞϓϦଆͰରԠ͠ͳ͍ͱΫϥογϡʂ • ԿSDKΛ࡞Βͤͯ͘Εͱ͓ئ͍ͨ͜͠ͱ͔ •
ܧঝ͖͢protocolΛશͯແࢹͨ͠ಠࣗΫϥε
SDKͷ ͜͜·Ͱ
࣍ਓ(ձࣾ)ͱͯ͠Ͳ͏ͳΜͩ ͱ͍͏
4. ͓͍߹Θͤʹର͢Δ ฦࣄ͕͍ • ͍͍ͩͨॳΊ࣮ͯ͢ΔࠂදࣔͰ͖ͳ͍ • ඞཁͳʢidʣ͕ҧ͏ͱ͔ • ͚ͩͲݪҼ͕Θ͔Βͳ͍ •
Other Error͕ฦͬͯ͘Δ͠ • ࣭͢Δͱ3΄Ͳ͔͔Δ • ͏ࠂ࣮ϑΣʔζͰͳ͍͔Βࠩ͠ࠐΈʹͳΔ
5. iOSΛཧղͯ͠ͳ͍ ΤϯδχΞ͔Βͷࢦࣔ • SwiftͷOptionalΛཧղͯ͠ͳ͍ • OptionalΛWrapͨ͠ঢ়ଶͰͯ͠Δͷʹ ʮnil͡Όͳ͍Ͱ͔͢ʁʯͱདྷͨ࣌ΩϨͨ • ϥΠϑαΠΫϧΛཧղͯ͠ͳ͍
6. ʮιʔείʔυ͍ͩ͘͞ʯ • ΊͬͪΌ͕ͬͪٙ͜ΘΕ͍ͯ·͢ • υΩϡϝϯτ௨Γ࣮ͨ͠ͱ͑ͯ৴͡ͳ͍ • ࠷ۙͰࢲ͕ڧҾʹRemoteConfigͰग़͚͠Ͱ͖ΔΑ ͏ʹ࣮͍ͯͭ͠ͰΓࣺͯΒΕΔ४උΛ͠·ͨ͠ •
͜ͷൃݴΛͯ͘͠Δձ͍͍ࣾͩͨΤϯδχΞͱӦۀͷ ͕ѱ͍ʢݸਓతײʣor ࣾ͘͠ʹ࡞ͬͨਓ͕͍ͳ ͍
Ҏ্ʹͳΓ·͢ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ