コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

デジタル広告におけるDSPとSSPに関してざっくりまとめる

三文字用語で大混乱するのでざっくりまとめる。

用語に関して

DSP(Demand-Side Platform)

Demand(要求)する側のプラットフォーム。転じて広告を発信したい側、広告主向けのプラットフォームという意味。

SSP(Supply-Side Platform)

Supply(供給)する側のプラットフォーム。転じて広告を配信する側、すなわち広告枠を配置するサイトなど向けのプラットフォームという意味。

関係性

ざっくり図示してみる、詳しく知りたいひとはWeb担当者Forumの記事のほうが詳細に書いてあるのでそちら参照のこと。

f:id:shinkufencer:20200106095256p:plain
ざっくり版

  1. 表示するブラウザから枠に取得要請のリクエストがSSPへ行く
  2. SSPから各DSPへのリクエスト、ビッドリクエスト(入札リクエスト)が発生する
  3. DSPSSPからのリクエストに応じて額を含めた情報をレスポンス、ビッドレスポンスする
  4. ビッドレスポンスから配信するものを決定する。上記の図の場合は最高値のC。
  5. ブラウザに配信する広告の情報を返し、表示する

この入札の仕組みをRealTimeBitting(RTB)という。

似てるけど違う用語

DMP(Data Management Platform)

ログデータや匿名加工情報などを集約して広告の施策を効果的にするためのデータ管理プラットフォーム。

DFP(DoubleClick for Publishers)

Googleが運営していたGoogleの広告配信システム。現在では名前が変わり Google Ad Manager(GAM) として管理されている。GAMSSPではなく、Googleの持っているSSPはAdExchangeとなる。

DNP(Dai Nippon Printing)

大日本印刷、企業名。明らかに無関係。

参考リンク

Rubyのシステム同士でAPI通信するようなアプリを作るときに見たいスライド『Best practices in web API client development』

スライド回顧録です

speakerdeck.com

マイクロサービシーズが台頭してきた現在、マイクロサービス間での通信をどうするかという話にはなるかなと思うのですがポピュラーなものはHTTPリクエストだと思っています。

その際にRails同士であればある程度gemとして作ろうという話になると思うので、そういうときに参考にして欲しい資料がこのスライドです。

「そのAPUはPublicかPrivaeか」「APIのエンドポイントと併せてクライアントを作る」などいろいろ考えるきっかけになります。

参考リンク

大いなるリライトことビッグリライトをざっくりまとめる

用語の意味と背景をざっくりまとめる。

言葉の意味

レガシーソフトウェア改善ガイドに出てくる言葉。この言葉自体に「こういう意味である」というわかりやすい説明は無いが「リライト」という事自体には言及が色々されている。

リライトとは

リライトとは、文字通り「書き直し」を意味しており、システムをゼロから再構築することを指す。

書籍で語られていること、そしてビッグリライト

リライトはリファクタリングやリアーキテクチャではどうにもできない状況のときに行われるべきものであるという説明や、十分に考えて行われるべきトピックであることが書籍レガシーソフトウェア改善ガイドには書かれている。

関連リンク

リファクタリング、リアーキテクティング、ビック・リライトの選択〜技術的負債とダンスを(4) - 時を超えたプログラミングの道

レガシーソフトウェア改善ガイド (Object Oriented Selection)

レガシーソフトウェア改善ガイド (Object Oriented Selection)

Railsでlayoutを使いたくないときは layout false

あ、nilじゃなくてfalseなんだというメモ。

環境

gem 'rails', '= 5.0.2'

やり方

Controllerに下記のように書く

class HogeController < ApplicationController
  layout false

利用シーン

考えてみたが全然なく、今回利用した経緯としては

  • 既存のテンプレートと大きく違う
  • 使い捨ての機能にもかかわらず、テンプレートの中と細かくことなる
  • 使いまわしのpertialを利用して依存を増やしたくない

という意図から

  • ベタに <html> をすべて1つのerbに書くほうが疎になる

と考え採用した。

参考リンク

Railsのcontent_forは別のpartialに記述したものでも動くが、順番や場所によって挙動が変わる

読み込み順番によって変わるやつ。ということで なるべく使わないほうがいい けど動作だけ

環境

rails (5.0.2)

動作概要

通常のviewテンプレートの yield の 記述の前に content_for を 含むpartialを render すれば出てくる。

逆にyield の 記述のあとに content_for を書いても出てこない。

ただし、layoutは位置関係無く反応する。

app/views/layouts/application.html.erb に以下のようにする

<!DOCTYPE html>
<html>
  <head>
    <title>SampleApp</title>
    <%= csrf_meta_tags %>
    <%= csp_meta_tag %>

    <%= stylesheet_link_tag  'application', media: 'all' %>
  </head>

  <body>
    <%= yield(:head_item) %>
    <%= yield %>
  </body>
</html>

app/views/hoges/_partial1.html.erb として以下を用意する

<p>partialその1</p>

<% content_for :title do %>
  <p>これはcontents_forで記述されたものです</p>
<% end %>

<% content_for :head_item do %>
  <p>これはheaditemのcontent_forで記述されたものです</p>
<% end %>

<p>partialその1おわり</p>

yieldの前にrenderすると表示されるケース

下記のように render のあとに該当のyield要素がcontent_forで記述されていれば表示される

<p>該当ページ </p>
<%= render "hoges/partial1" %>
<p><%= yield(:title) %></p>

上記の場合、下記のようにhtml出力される(body要素以外は割愛)

<body>
<p>これはheaditemのcontent_forで記述されたものです</p>

    
<p>該当ページ </p>

<p>partialその1</p>


<p>partialその1おわり</p>
<p>  <p>これはcontents_forで記述されたものです</p>
</p>

</body>

yieldのあとにrenderすると表示されるケース

下記のように render の前にに該当のyield要素がcontent_forで記述されていれば表示されない

<p>該当ページ </p>
<p><%= yield(:title) %></p>
<%= render "articles/partial1" %>

上記の場合、下記のようにhtml出力される(body要素以外は割愛)

<body>
<p>これはheaditemのcontent_forで記述されたものです</p>

<p>該当ページ </p>
<p></p>
<p>partialその1</p>



<p>partialその1おわり</p>

</body>

参考リンク

Chromeで簡単に全描画部分キャプチャを簡単に撮る方法

JSでガンガンDOM操作するようなページ以外は有効なやり方

やり方

  1. Developer Consoleを開く
  2. Run Command (Macだとcommand+shift+P)
  3. Capture full size screenshot を選択する
  4. 画像が保存される

参考リンク

ネットの広告の標準仕様を知る際には一度は気にしたいInteractive Advertising Bureau(IAB)に関してざっくりまとめる

標準化団体ではないのですごい雑な感じのタイトルです。

IABとは

Wikipedia曰く

Interactive Advertising Bureau(IAB)とはオンライン広告における技術的標準規格の策定を始め、動向調査や法整備などを行う組織である。 数多くの企業が加入をしているが、その多くがアメリカとヨーロッパの企業である。 - Interactive Advertising Bureau - Wikipedia

IABの立ち位置

IABは主にデジタル広告のガイドラインを様々公開し、呼びかけをしている。たとえば以下のページにはAdの種別やサイズなどを定めたものを公開している。

New Ad Portfolio - Home - NEW

「これに従わねばならない」…という類のものではないが、標準的な情報は取り揃えているので、参考にするといいかもしれない

参考リンク