Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
広告実装の苦しみ
RyoKosuge
October 23, 2018
Programming
0
210
広告実装の苦しみ
RyoKosuge
October 23, 2018
Tweet
Share
More Decks by RyoKosuge
See All by RyoKosuge
広告実装、こうすると幸せだよ
ryokosuge
6
1.2k
6年ほど育ったiOSプロジェクトを刷新した話 / Renewed iOS project that grew up for about 6 years
ryokosuge
2
630
アプリ開発とSDK開発の違い
ryokosuge
1
370
アプリを十数個作った僕が初めて書いたテストの話
ryokosuge
2
1.8k
広告SDKを駆使して 売り上げを5倍にした
ryokosuge
2
3.7k
早期発見プロジェクト
ryokosuge
0
31
Other Decks in Programming
See All in Programming
Scrum Fest Osaka 2022/5年で200人になったスタートアップの アジャイル開発の歴史とリアル
atamaplus
1
980
UI Testing of Jetpack Compose Apps, AppDevCon
alexzhukovich
0
180
JSのウェブフレームワークで高速なルーターを実装する方法
usualoma
1
1.9k
VisualProgramming_GoogleHome_LINE
nearmugi
1
240
無限スクロールビューライブラリ 二つの設計思想比較
harumak
0
270
Modern Android Developer ~ 안내서
pluu
1
670
エンジニアによる事業指標計測のススメ
doyaaaaaken
1
190
クックパッドマートの失敗したデータ設計 Before / After 大放出
mokuzon
0
180
実践エクストリームプログラミング / Extreme Programming in Practice
enk
1
580
フロントエンドエンジニアが変える現場のモデリング意識/modeling-awareness-changed-by-front-end-engineers
uggds
19
7.5k
JetpackCompose 導入半年で感じた 改善点
spbaya0141
0
110
設計ナイト2022 トランザクションスクリプト
shinpeim
11
2.1k
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
261
25k
Clear Off the Table
cherdarchuk
79
280k
Bash Introduction
62gerente
597
210k
How To Stay Up To Date on Web Technology
chriscoyier
780
250k
Why You Should Never Use an ORM
jnunemaker
PRO
47
7.6k
Pencils Down: Stop Designing & Start Developing
hursman
112
9.8k
Writing Fast Ruby
sferik
612
57k
Rebuilding a faster, lazier Slack
samanthasiow
62
7.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
237
19k
Teambox: Starting and Learning
jrom
123
7.7k
Building Adaptive Systems
keathley
25
1.1k
Documentation Writing (for coders)
carmenhchung
48
2.6k
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 ࣾ͘͠ʹ࡞ͬͨਓ͕͍ͳ ͍
Ҏ্ʹͳΓ·͢ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ