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 01, 2019
Programming
6
1.5k
広告実装、こうすると幸せだよ
potatotips #65で登壇した資料です
ryokosuge
October 01, 2019
Tweet
Share
More Decks by ryokosuge
See All by ryokosuge
6年ほど育ったiOSプロジェクトを刷新した話 / Renewed iOS project that grew up for about 6 years
ryokosuge
2
750
アプリ開発とSDK開発の違い
ryokosuge
1
630
広告実装の苦しみ
ryokosuge
0
400
アプリを十数個作った僕が初めて書いたテストの話
ryokosuge
2
2.3k
広告SDKを駆使して 売り上げを5倍にした
ryokosuge
2
4.1k
早期発見プロジェクト
ryokosuge
0
56
Other Decks in Programming
See All in Programming
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
1
10k
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
170
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
1
170
Deep Dive into ~/.claude/projects
hiragram
14
2.6k
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
570
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
200
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
640
Goで作る、開発・CI環境
sin392
0
230
Quand Symfony, ApiPlatform, OpenAI et LangChain s'allient pour exploiter vos PDF : de la théorie à la production…
ahmedbhs123
0
190
PicoRuby on Rails
makicamel
2
130
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.3k
Discover Metal 4
rei315
2
140
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
What's in a price? How to price your products and services
michaelherold
246
12k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Facilitating Awesome Meetings
lara
54
6.4k
Thoughts on Productivity
jonyablonski
69
4.7k
Optimizing for Happiness
mojombo
379
70k
Transcript
広告実装、こうすると幸せだよ potatotips #65 2019/10/01 ryokosuge
自己紹介 Twitter: @ryo_kosuge GitHub: ryokosuge • 株式会社fluct ◦ SSP開発本部 SDKチーム
▪ 主にFluctSDK iOSの 開発してます ◦ 入社して1年経ちそう • 前職はマンガアプリ作ってまし た
アジェンダ • はじめに • バナー実装 ◦ refresh rate ◦ Scroll(Table、Collection)View
• 動画リワード実装 ◦ retry処理 ◦ 動画リワードSSPってなに? • まとめ
はじめに
はじめに • 今回はアプリに特化したお話です ◦ Webも話せなくもないけど、基本タグを貼って終わりが一番ので • 広告用語が少し出てくるかと思いますが、簡単に説明するのでわからないこ とあったら懇親会で聞いてください ◦ ググれなんて言わない気持ち
バナー実装
バナー実装(refresh rate) • refresh rateはいじらないほうがいい ◦ refresh rate ▪ バナー広告のリフレッシュ
= 切り替え時間 ◦ 各社がrefresh rateに対して最適解を持っている ▪ 実装で変えられる広告SDKも多いですが、ほぼ全てが管理画面で変 えられるようになっています
バナー実装(refresh rate) • refresh rateを短くするとどうなるか ◦ 広告の切り替え間隔が短くなる ▪ つまり imp
が増える ◦ ユーザーの広告を認識する時間が短くなる ▪ click数が減る ◦ impが増えてclickが減ると枠の価値が下がる ▪ 表示回数多いのにclickが少ない枠と認識される • 結果効果の高い広告が配信されなくなり、さらに価値の薄い枠になる
バナー実装(Scroll View) • 適切なタイミングで広告表示Requestを飛ばすべき ◦ TableView / CollectionViewのcell返す時に毎回リクエストするのはダ メ ▪
impだけ爆発的に伸びる可能性がある • refresh rateと同じ ◦ そもそもCellでバナー表示をするのはスクロールがカクついたりするた めあまりオススメしない ▪ 広告SDKもそれように作られていないことが多い
バナー実装(Scroll View) • 一度生成したら使い回す手法を取り入れる ◦ 初回にRequest飛ばしたらあとはrefresh rateに身を任す ◦ 画面から表示されなくなるタイミングでrequestを止められる広告SDK もある
▪ 公開methodがなくても内部で実行されている場合もある
動画リワード
動画リワード(retry処理) • 無限にリトライするのはダメ絶対 ◦ 読み込みに失敗する理由はたくさんあるけど大きく分けて3つ ▪ Network Error • 通信環境がよろしくない
• 数秒あけてretry処理を挟むなどするのが良い ▪ 内部処理エラー • 案件によってエラーになっていることもあるのでretryして別案件を引ければ良い ▪ No Ad • 広告在庫がない ◦ 在庫なしなのですぐに在庫が復活するわけではない
動画リワード(retry処理) • No Adの場合どうしたら良いの? ◦ 違うADNWへパスバックするのが良い ◦ 動画リワードは売り上げを高くするためにfloor priceをあげていること が多い
▪ 営業担当者にお願いしてfloor price運用から在庫埋めるほうの運用 に差し替えてもらう(もしくは管理画面で) • 売り上げと在庫を両方担保したい気持ち、わかる
動画リワード(SSPって何?) • SSP = Supply-Side Platform ◦ 要は広告面の収益を最大化させるためためのplatform • SSPは各ADNWの中から最適な広告を表示させるために色々頑張る
◦ 最適な広告 = 枠収益最大化させる広告 • 動画リワードのSSPって何? ◦ 最適解のロジックはSSP側が持っていて、読み込みや再生は各ADNWの SDKで行われる ◦ どこのADNWの動画リワードを再生させると売り上げが最大化するのか
動画リワード(SSPって何?) • 動画リワードSSPをやっている会社さんはたくさんのADNWと連携している ◦ 運用も各社すごいやっている ◦ しっかり全requestに対して広告を返せるように細かい運用をしている ▪ あるADNWはfloor price引いて収益最大化を目指し、あるADNWは
在庫を返すことを目指すなどなど • 1つの枠に対してSSPなSDKを組み込むことでパスバック処理を書かなくても よくなる ◦ 各ADNWへの処理はSSPなSDKが対応しているので気にしなくて済む
まとめ
まとめ • バナーは適切なタイミングでrequestをするように心がける ◦ refresh rateとかをアプリ実装でいじらないほうがいい • 動画リワードのretry処理を見誤るとたくさんrequest飛ばすけど再生されな い枠認定されてしまう ◦
No Adがでた時はユーザーに在庫ないことをお知らせする ◦ 違う広告SDKへパスバックしてどうにか在庫を確保する • 動画リワードSSPなSDKを使うと複数のADNWをまとめて管理してくれる ◦ 実はAdMobにも似たような機能があります
ご静聴ありがとうございました