SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

APIを使ってRTB広告を実装可能にする「AdStir RTB Exchange」(AD)

RTB広告配信の早期実装、DSP連携コストの削減を実現する「AdStir RTB Exchange API」

APIを使ってRTB広告を実装可能にする「AdStir RTB Exchange」(3)

  • このエントリーをはてなブックマークに追加

ユースケースに合わせて使い分ける

 まず、下記がRTB Exchange APIで取り扱っているAPI群になります。

図4 RTB Exchange API群
図4 RTB Exchange API群

 大きく「配信」「管理系」の2つのAPIがあり、前者は名前のとおり広告配信を行うためのAPIで、後者はメディア、フロアプライス(注1)の管理やレポートを取り扱うためのAPI群になっています。そのため、とりあえずRTB配信を始めたいという方は配信APIのみを使い、管理画面からすべて連動させたいという方は管理系のAPIも利用する、ということができます。すべてを実装する必要はなく、目的に合わせて使い分けられるようになっています。

図5 全体でRTB Exchange APIが担当する部分
図5 全体でRTB Exchange APIが担当する部分

 現在のところ、主な利用例としては下記のようになっています。

主な利用例:
  1. 通常の配信タグを使用し、低コストに組み込む
  2. 配信APIを使用し、既存の配信サーバに組み込む
  3. 管理系APIを使用し、既存管理画面と連動させる

注1 フロアプライス

 CPMを保証するための最低落札価格。

1. 通常の配信タグを使用し、低コストに組み込む

 後述する組み込み方よりも実装コストが低いため、最も利用頻度の多い例です。第三者配信の機構を使い、「既存の配信エンジンで表示する広告がない場合にAdStirのタグを配信する」ことで、RTB広告をスピーディーに配信することが可能です。現在までに、この方式で10社ほど導入してます。

2. 配信APIを使用し、既存の配信サーバに組み込む

 RTB Exchange APIには「配信API」と呼ばれるRTB広告を取得するAPIが用意されており、既存のアドサーバに組み込むことで、「RTB広告が在庫切れの場合に、自社の保有している広告を配信する」「自社広告が在庫切れの場合に、バックフィルとしてRTB広告を配信する」ということが簡単に行えるようになっています。

サンプルコード1 広告タグを取得する
use LWP::UserAgent;
use URI;
use JSON;

my $uri = URI->new('API URL');
$uri->query_form({
    api_key         => 'APIキー',
    publisher_id    => 'パブリッシャーID',
    application_id  => 'アプリケーションID',
    ad_space_no     => '枠No',
    referer         => 'リファラ(表示ページのURL)',
});

my $ua = LWP::UserAgent->new;
my $res = $ua->get($uri->as_string);
if ( $res->is_success ) {
    my $json = decode_json($res->decoded_content);
    my $ad_code = $json->{data}; # 配信コード
    print $ad_code;
}

 1.と比べて広告在庫の有無など、すべてサーバ側でハンドリングできるため、より柔軟に利用することが可能になります。

3. 管理系APIを使用し、既存管理画面と連動させる

 RTB Exchange APIは配信API以外に、メディアや枠の作成といった通常の管理画面で行われる操作のためのAPIもサポートしています。これらを使うことで、既存の管理画面からRTB用のメディアや枠、フロアプライスを管理できるようになっています。また、メディア以外にもレポート情報なども取得できます。

サンプルコード2 アプリケーションの取得
use LWP::UserAgent;
use URI;
use JSON;

# アプリケーション一覧を取得
$uri = URI->new('API URL');
$uri->query_form({
    api_key         => 'APIキー',
    publisher_id    => 'パブリッシャーID',
});

my $ua = LWP::UserAgent->new;
my $res = $ua->get($uri->as_string);
if ( $res->is_success ) {
    my $json = decode_json($res->decoded_content);
    my $applications = $json->{data};
}
サンプルコード3 アプリケーションの登録
use LWP::UserAgent;
use URI;
use JSON::XS;

# アプリケーションを登録
my $ua = LWP::UserAgent->new;
my $res = $ua->post('API URL', 
    {
        api_key          => 'APIキー',
        publisher_id     => 'パブリッシャーID',
        application_name => 'アプリケーション名',
        ...
    }
);
if ( $res->is_success ) {
    my $json = decode_json($res->decoded_content);
    my $applications = $json->{data};
}

 1.と2.、どちらの配信方法に関しても、これらの管理系APIを使うことで、既存のシステムに配信レポートの数値などを取り込むことができます。

 なお、サンプルコード内のAPI URL、API KEY、パブリッシャーID、また、API仕様書については、利用開始時にお渡しする情報となります。

まとめ

 RTB Exchange APIを使うことで、日々増えているRTB広告を簡単に既存システムに組み込み、配信できるようになります。導入を検討している方、不明点がある方は、ぜひ問い合わせフォームからご連絡ください。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
APIを使ってRTB広告を実装可能にする「AdStir RTB Exchange」連載記事一覧

もっと読む

この記事の著者

fukata()

メディアプラットフォーム事業部 マネージャー。vim派。クライアントからバックエンドまでのなんでも屋。最近の興味はログ解析。週末は趣味のプログラミングとサービス開発。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6903 2012/12/26 11:45

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング