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
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
380
広告実装、こうすると幸せだよ
ryokosuge
6
1.5k
6年ほど育ったiOSプロジェクトを刷新した話 / Renewed iOS project that grew up for about 6 years
ryokosuge
2
760
アプリ開発とSDK開発の違い
ryokosuge
1
640
アプリを十数個作った僕が初めて書いたテストの話
ryokosuge
2
2.3k
広告SDKを駆使して 売り上げを5倍にした
ryokosuge
2
4.1k
早期発見プロジェクト
ryokosuge
0
58
Other Decks in Programming
See All in Programming
メモリ不足との戦い〜大量データを扱うアプリでの実践例〜
kwzr
1
740
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
660
iOSDC.pdf
chronos2500
2
650
defer f()とdefer fの挙動を 誤解していた話
kogamochiduki
2
160
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
150
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
340
Let's Write a Train Tracking Algorithm
twocentstudios
0
220
実践AIチャットボットUI実装入門
syumai
7
2.4k
議事録の要点整理を自動化! サーバレス Bot 構築術
penpeen
3
1.6k
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
170
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
2
340
株式会社 Sun terras カンパニーデック
sunterras
0
180
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
4
160
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
A Modern Web Designer's Workflow
chriscoyier
697
190k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
840
Large-scale JavaScript Application Architecture
addyosmani
514
110k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
570
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Designing for humans not robots
tammielis
254
25k
The Power of CSS Pseudo Elements
geoffreycrofte
79
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 ࣾ͘͠ʹ࡞ͬͨਓ͕͍ͳ ͍
Ҏ্ʹͳΓ·͢ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ