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
2
59
広告実装、こうすると幸せだよ
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
57
Other Decks in Programming
See All in Programming
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
3
1.3k
Jakarta EE Core Profile and Helidon - Speed, Simplicity, and AI Integration
ivargrimstad
0
220
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
9
2.6k
KessokuでDIでもgoroutineを活用する / Go Connect #6
mazrean
0
120
Understanding Ruby Grammar Through Conflicts
yui_knk
1
140
Claude Codeで挑むOSSコントリビュート
eycjur
0
180
LLMOpsのパフォーマンスを支える技術と現場で実践した改善
po3rin
8
990
AIレビュアーをスケールさせるには / Scaling AI Reviewers
technuma
2
230
🔨 小さなビルドシステムを作る
momeemt
2
570
エンジニアのための”最低限いい感じ”デザイン入門
shunshobon
0
130
Portapad紹介プレゼンテーション
gotoumakakeru
1
130
あのころの iPod を どうにか再生させたい
orumin
2
2.5k
Featured
See All Featured
Fireside Chat
paigeccino
39
3.6k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Speed Design
sergeychernyshev
32
1.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Being A Developer After 40
akosma
90
590k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Music & Morning Musume
bryan
46
6.8k
Docker and Python
trallard
45
3.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Side Projects
sachag
455
43k
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 ࣾ͘͠ʹ࡞ͬͨਓ͕͍ͳ ͍
Ҏ্ʹͳΓ·͢ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ