Android のクリックスルー URL
クリックスルーという用語は、ユーザーが広告をクリックしたときに何が起こるかを処理する Mobile SDK の機能を指します。 このドキュメントでは、クリックスルーのしくみについて説明し、この機能を実装する方法の例を示します。
概要
Xandr の Mobile SDK を使用すると、ユーザーが広告をクリックしたときに入札応答の文字列の click_url
値がどのように処理されるかを決定できます。
次の 3 つの可能性があります。
- SDK ブラウザーでクリックスルー URL を開きます。
- 外部デバイス ブラウザーでクリックスルー URL を開きます。
- ブラウザーを開かずに、呼び出し元の環境に URL を返します。
ブラウザーを開く場合は、 を介して onAdClicked
呼び出し元に通知します。
ネイティブ広告リクエストの場合:
と の 2 つの URL が返されます
click_url
click_url_fallback
。呼び出し元は、その内容をユーザーに表示することで、クリックスルー URL を適切に処理することを前提としています。 が
click_url_fallback
定義されている場合は、何らかの理由でブラウザー表示システムによって解決できない場合click_url
にのみ使用されます。リスナー/デリゲート コールバック メソッドは次のとおりです。
onAdWasClicked(clickUrl, fallbackURL).
Mobile SDK の構造
- バナー、スポット、ビデオの場合:
AdListener
メソッドonAdClicked(adView, clickUrl)
を定義します。 - Native の場合:
AdListener
メソッドonAdWasClicked(clickUrl, fallbackURL)
を定義します。
例
ClickURL をフェッチしない場合でも、 を返すclickURL
メソッドonAdClicked
を実装する必要がありますが、空のままにすることができます。
ClickURL をフェッチする場合は、次のコード例を使用して開始できます。
// Enable RETURN_URL API
adObject.setClickThroughAction(ANClickThroughAction.RETURN_URL);
次に を追加 onAdClicked
して を取得します clickURL
。
// Android: Java to handle ClickURL in ad response
package com.appnexus.opensdk;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.appnexus.opensdk.*;
import com.appnexus.opensdk.R.*;
public class PresentAdClickURL extends Activity {
Context context;
BannerAdView bav;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = this;
// Create the AdView and set its placement ID. Tweak a few other settings.
bav = new BannerAdView(this);
bav.setPlacementID("1326299");
bav.setAdSize(300, 50);
bav.setAdListener(adListener);
// Enable RETURN_URL API
bav.setClickThroughAction(ANClickThroughAction.RETURN_URL);
//If auto-refresh is enabled
bav.loadAd();
}
final AdListener adListener = new AdListener() {
@Override
public void onAdRequestFailed(AdView adView, ResultCode errorCode) {
}
@Override
public void onAdLoaded(AdView adView) {
}
@Override
public void onAdLoaded(NativeAdResponse response) { }
@Override
public void onAdExpanded(AdView adView) {
}
@Override
public void onAdCollapsed(AdView adView) {
}
@Override
public void onAdClicked(AdView adView) {
}
@Override
public void onAdClicked(AdView adView, String clickUrl) {
// the caller can handle it appropriately, displaying its content to the user.
}
};
@Override
protected void onDestroy() {
super.onDestroy();
}
}