Publisher integration guide
提供:
目次 |
概要
JumptapのtapLinkシステムは、携帯オペレーターやパブリッシャーがJumptap広告ネットワークから表示広告を取得できる単一のインターフェイスの機能を果たします。
本ページはtapLink APIの最新バージョン(バージョン2.9)に適用されます。
本wikiページでは、パブリッシャーと携帯オペレーターがtapLink APIを使用してバナーを取得する方法について説明します。
対象読者
本書は、表示広告へのJumptapのtapLInk APIの実装を担当するソフトウェアエンジニア、システムアーキテクト、製品・プロジェクト管理者を対象としています。
広告リクエストAPI
携帯ウェブパブリッシャーやアプリケーション開発者は、tapLink APIを使用することで、サーバー側の呼び出しメカニズムから表示広告をリクエストすることができます。 広告をリクエストするには、RESTスタイルのウェブインターフェイスを用いてパブリッシュサーバーからJumptap広告サービスにサーバー対サーバー呼び出しを行います。 この結果生成されたXHTMLマークアップが、エンドユーザーのブラウザページまたはアプリケーションに表示されます。
広告のリクエスト
tapLinkへの広告リクエストは、「ジャストインタイム」ベースで行う必要があります。つまり、広告が表示されるページの構築中に広告をリクエストする必要があります。tapLinkでは、将来の表示に備えた広告のプリフェッチはサポートしていません。
Jumptap APIへの広告リクエストは、次の要素で構成されています。
- フォームの簡単なHTTP GETリクエスト:
http://a.adjust-sp.jp/a/ads?<required parameters><optional parameters>
- 元の機種から転送されたHTTPヘッダー
GETリクエストの構造
最初にベースのURIを記述し、必須のリクエストパラメータ、およびオプションのパラメータがあれば追加します。
次の点に注意してください。
- パラメータ/値のペアは、相互に'&'文字で区切ります。
- クエリー内のパラメータ/値のペアの順序は重要ではありません。
- すべてのパラメータ値はURLでエンコードする必要があります。
- 既にヘッダーとして送信した値にはパラメータを渡す必要はありません。
- たとえば、デバイスからユーザーエージェント(user-agent)ヘッダーを送信している場合は、uaパラメータを渡す必要はありません。
- すべてのリクエストに同じパラメータを渡す必要はありません。
- たとえばサイトの特定のページのみで郵便番号が使用可能な場合、これらのページのリクエストには"&pc=&country="が含まれますが、他のページからのリクエストには含まれません。
- 値がないパラメータには、NULL値や空の文字列を渡さないでください。 代わりに、そのようなパラメータをクエリー文字列からすべて除外してください。
使用可能なすべてのパラメータの広告リクエストのテンプレートを以下に示します。 定義済みのパラメータに値が含まれていないため、実際にはこれは有効なリクエストではないことにご注意ください。
http://a.adjust-sp.jp/a/ads?v=&pub=&site=&spot=&a=&url=&ua=&gateway-ip&client-ip=&operator=&l=&ll=&pc=&country=&u=&hid=&mt-gender=&mt-age=&mt-hhi=
クライアントヘッダーを渡す
機種の特定、オペレーター/キャリアの解決、地域別ターゲット設定、フリークエンシーキャップなどのさまざまな機能を実行するには、元の(機種)クライアントからのHTTPヘッダーを各広告リクエストと一緒に渡す必要があります。
少数の特別な例外を除き、すべてのヘッダー – Accept*ヘッダーを含む – をJumptapに転送する必要があります。 次のヘッダーは明示的に除外されています。
Host: Keep-Alive: Connection: Cookie: Cache-Control: Content-Length:
IPを渡す
tapLinkではIPアドレスを使用して、広告リクエストに関するさまざまな情報を特定します。次のような情報が特定されます。
- 広告リクエストが作成されたネットワークの携帯オペレーター。 広告主はこの情報を使用することで、キャリアにターゲットを絞ったキャンペーンを展開できます。
- 広告リクエストが寄せられた国。 広告主はこの情報を使用することで、国にターゲットを絞ったキャンペーンを展開できます。
広告リクエストと一緒にデバイスヘッダーを転送することができ、同時にヘッダーを変更する機能が使用できる場合は、プロキシと同様にx-forwarded-forヘッダーを操作する必要があります。
- x-forwarded-forヘッダーがデバイスのヘッダーに存在し、その長さがゼロ長以外だった場合は、Jumptapに転送する前に"<client ip>"を末尾に追加してください。
- x-forwarded-forがゼロ長だったりデバイスのヘッダーに存在しない場合は、これをカンマなしで"<client ip>"に設定します。
広告リクエストと一緒にデバイスヘッダーを転送できる一方で、ヘッダーを変更することはできない場合は、次のようにします。
- x-forwarded-forヘッダーをそのままJumptapに転送します。
- 広告リクエストのクエリー文字列にclient-ipパラメータを含め、"<client ip>"に設定します。
デバイスヘッダーを転送できない場合は、次のようにします。
- 広告リクエストのクエリー文字列にgateway-ipパラメータを含め、これをデバイスのx-forwarded-forヘッダーに設定します。
- 広告リクエストのクエリー文字列にclient-ipパラメータを含め、"<client ip>"に設定します。
上記すべての例で、<client ip>呼び出し元のクライアントのIPアドレスを示します。 このIPアドレスは、使用中のHTTP実装から入手できます。
x-forwarded-forヘッダーの詳細については、Wikipedia: http://en.wikipedia.org/wiki/x-forwarded-forを参照してください。
必要なリクエスト情報
パラメータ | HTTPヘッダー | 必須 | 説明 |
gateway-ip | x-forwarded-for | ○ | 広告リクエストに関連付けられた一連のIP。 詳細は、上記の「IPを渡す」セクションを参照してください。 |
hid | ○ | 固有のデバイスハードウェアID。
| |
l | Accept-Language | ○ | ユーザーの優先言語。 有効な値はISO-639-1の2文字の言語コードです。http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes |
pub | ○ | Jumptapから割り当てられたパブリッシャーエイリアス。 | |
site | ○ | Jumptapから割り当てられたサイトエイリアス。 | |
spot | ○ | Jumptapから割り当てられたアドスポットエイリアス。 | |
url | ○/× | 広告をリクエスト中のページのURL。
| |
ua | User-Agent | ○ | リクエストを行っている機種のユーザーエージェント(user-agent)。tapLinkはこの情報を使用してリクエストを行っている機種を特定します。これにより、機種にターゲットを絞ったキャンペーンを配信し、正しいサイズの広告が返されるようにすることができます。
|
v | ○ | Jumptap tapLink APIのバージョン。 現在のバージョンは'v29'(バージョン2.9)です。 |
オプションのリクエスト情報
パラメータ | HTTPヘッダー | 必須 | 説明 |
a | × | 広告リクエストに対してアダルト広告を返してもよいかどうかを指定します。
| |
client-ip | × | 広告をリクエスト中のデバイスのIPアドレス。 tapLinkおよび広告プロバイダーがキャリア/ゲートウェイのターゲットを設定する際に使用されます。 詳細は、上記の「IPを渡す」セクションを参照してください。 | |
country | ○/× | 元のユーザーのリクエストの2文字のISO国コード。http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
| |
ll | × | 緯度/経度
| |
mt-age | × | ユーザーの年齢がわかっている場合に使用します。 1~199の任意の整数が有効な値となります。 | |
mt-gender | × | ユーザーの性別がわかっている場合に使用します。 有効な値は'm'(男性)または'f'(女性)です。 | |
mt-hhi | × | ユーザーの世帯収入がわかっている場合に、収入を1000ドル単位で示します。
| |
operator | × | サイトでオンデッキインスタンスを使用しているパブリッシャーの場合、このパラメータを使用して「オンデッキ携帯オペレーター」を指定します。
| |
pc | × | 郵便番号
| |
q | × | 検索サイト/アプリケーションの場合は、q("クエリー")パラメータを使用して「検索用語」を渡します。
| |
Referer | × | 参照元HTTPヘッダー。
| |
u | ClientID x-up-subno x-msisdn XID etc | × | エンドユーザーの固有のID。tapLinkはこの識別子をフリークエンシーキャップに使用します。
|
一般的なエラー
HTTPヘッダー
- HTTPヘッダーが渡されていない場合。
- 機種のHTTPヘッダーではなく、パブリッシュしているサーバーのHTTPヘッダーを渡した場合。
User-agent
- uaパラメータに渡すときにuser-agentがエンコードされなかった場合。
- uaパラメータに渡すときにuser-agentをダブルエンコードした場合。
- 機種ではなくパブリッシャーサーバーのuser-agentを渡した場合。
緯度 / 経度
- 緯度と経度の値をカンマで区切らなかった場合。
- 緯度、経度をエンコードしていない場合。
郵便番号
- 郵便番号をエンコードしていない場合。
- 郵便番号を渡したときに国パラメータが含まれていない場合。
国
- すべての広告リクエストに静的値を渡した場合。
- 国の2桁のコードではなく、国の完全名を渡した場合。
表示エラー
- 空の広告応答を考慮しなかった場合(例:広告が返されない場合にプレースホルダを折りたたんでいない、など)
- iPhoneアプリで、サポートされている両方の広告サイズ: 300 x 50 / 320 x 50を考慮しなかった場合
- 任意のアプリケーションで、バナーに十分な垂直スペースを設けなかった場合
広告の応答
応答の形式
tapLinkから返される広告は有効なXHTMLです。 XHTMLには多くの利点があり、広告主の商品価値を高めることができます。
- XHTMLを使用すると、サポート対象の機種でのJavascript広告やリッチメディア広告など、広告主がリクエストしているリッチな広告ユニットに対応することができます。
- XHTMLを使用すると、広告の応答にトラッキングピクセルを導入することができます。
- XHTMLを使用すると、現在のインテグレーションを変更することなく、今後も追加の広告タイプや機能を導入することができます。
スタイル情報の追加
スタイル情報を<DIV>タグで囲むことによって、応答にスタイル情報を追加することができます。 一般的なスタイル変更には、バナーの中央揃え、バナーの下のテキストの中央揃え、バナーのテキストの色変更などがあります。
応答の処理
広告の応答は変更なしで全文表示されます。 応答を解析したりその他の方法で変更すると、予期しない/望ましくない動作につながることがあります。 たとえば、画像とクリックを解析すると、応答に含まれるトラッキングピクセルも無視されるため、サードパーティによる追跡キャンペーンが行えなくなります。
クリエイティブの仕様
tapLinkでは、MMA携帯広告ガイドの2008年10月改訂版に準拠したバナーをサポートしています。
またtapLinkでは、iPhone用に最適化されたバナーやインタースティシャルもサポートしています。
バナータイプ | 機種例 | メモ |
iPhoneインタースティシャルl | Apple iPhone / iTouch |
|
iPhone用に最適化されたバナーl | Apple iPhone / iTouch |
|
バナー(特大) |
|
|
バナー(大) |
|
|
バナー(中) |
|
|
バナー(小) |
|
|
バナーのCall-to-action テキスト |
|
|
MMAガイドラインは http://mmaglobal.com/mobileadvertising.pdfでご覧いただけます。
サンプル応答
標準テキストバナー
<a href="http://...">Vonage</a><br/> Low Phone Rates!<br/>
標準画像バナー
<a href="http://..."> <img src="http://..." width="300" height="50" /> </a><br/>
標準画像/テキストを組み合わせたバナー
<img src="http://..." width="300" height="50" /><br/> <a href="http://...">Low Phone Rates!</a><br/>
トラッキングピクセル付きの画像バナー
<div> <img src="http://..." width="300" height="50" /><br/> <a href="http://...">Low Phone Rates!</a><br/> <img src="http://pixelurl.com" height="1" width="1" border="0" alt=""> </div>
2つのトラッキングピクセル付きの画像バナー
<div> <img src="http://..." width="300" height="50" /><br/> <a href="http://...">Low Phone Rates!</a><br/> <img src="http://pixelurl.com" height="1" width="1" border="0" alt=""> <img src="http://pixelurl2.com" height="1" width="1" border="0" alt=""> </div>
使用可能な広告がない場合
ゼロ長の応答本文。
エラー処理とコード
このセクションでは、tapLinkがエラー条件にどのように対応するかを説明します。 エラーは標準のHTTPステータスコード一覧からクライアントに報告されます。
広告が返されないリクエストは標準的動作と見なされ、エラーとは見なされません。 XHTML応答では、ゼロ長のコンテンツ本文が得られます。
HTTPステータスコード
ステータスコード | 説明 |
200 | リクエストが正常に完了したことを示す応答。 |
201 | この応答コードは、イベント報告アクティビティがtapLinkで正常にログ記録された場合に返されます。 |
400 | 必須パラメータの一部が指定されていない場合や、必要なパラメータの1つに無効なパラメータが含まれている場合に、不正なリクエストステータスが送信されます。 |
401 | 不適切な資格情報がリクエストと一緒に送信された場合に送信されます。 |
403 | IP制限が有効な場合に送信されます。 |
404 | アドスポットや広告プロバイダーが存在しない場合に送信されます。 |
500 | サーバー側に予期しないエラーが発生した場合に送信されます。 |
503 | 現在サービスを使用できない場合に送信されます。 |
タイムアウト
パブリッシャーはtapLinkから返されたエラーに対応する責任があります。 またパブリッシャーは、クライアントアプリケーションに適切なソケット、接続および読み取り/アイドルタイムアウト値を設定する必要があります。
パブリッシャーはJumptapと協力して、パブリッシャーが開発したアプリケーションのタイプに基づいて、適切なタイムアウト値と再試行ポリシーを決定してください。 これらのタイムアウトの設定は、基盤となるHTTPクライアントライブラリ実装によって異なります。