ワイプアド(Android)

アプリの画面上に、ワイプのように動画広告を表示するフォーマットになります。
表示の初期位置は画面上の四隅(右上,右下,左上,左下)をお選びいただき、 アプリの配色にあわせて、Light/Darkのテーマをご指定いただけます。
ワイプアドは SDK 側で非推奨(Deprecated)となっています。 既存の実装は引き続きご利用いただけますが、新規での実装は推奨しておりません。
サイズ仕様について
表示サイズについては横幅のみ任意の数値をご指定いただけますが、視認性確保のために、サイズについて上限と下限が定められております。 基本的に400(dp)などの大きな値を横幅としてご指定いただき、最大サイズ(デフォルト)で表示いただくことを想定しておりますが、 アプリ状況により細かくサイズをご指定いただく必要がある場合は、下記の最大サイズ〜最小サイズの範囲内でご指定ください。
最大サイズ(デフォルト)
表示対象の画面高さと横幅を比較し、以下のルールで最大値を計算します。
画面の高さ<画面の横幅の場合: 高さの 35% を基準に 16:9 比率で横幅を算出画面の高さ>画面の横幅の場合: 横幅の 53% を基準に 16:9 比率で高さを算出
最大サイズより大きい横幅を指定した場合は、上記ルールに基づきリサイズされます。
最小サイズ
最小横幅は 135dp です。指定値が 135dp を下回る場合は最小サイズにリサイズされます。
表示の初期位置について
画面上の四隅(右上,右下,左上,左下)をお選びいただくことが可能です。 Androidはデフォルトで右上に配置されます。
アプリ状況により、表示位置をずらしたい場合、マージンの値をご指定いただくことで、
右上 または 左上 をお選びいただいた場合は、ワイプアドに対してトップマージンが追加されます。
右下 または 左下 をお選びいただいた場合は、ワイプアドに対してボトムマージンが追加されます。
対応 SDK
- Ad Generation SDK
- Android v2.19.0 以降
対応バージョン
- Android 6.0 以降
SDK 実装について
ADGWipeクラスのインスタンスを生成し、事前に preload() メソッドをコールいただき、広告をロードしてください。
正常にロード完了した場合、 Android : onReceiveAd() のコールバックがおこなわれますので、
その後は任意のタイミングで show() メソッドをコールいただき、広告の表示をおこなってください。
ロード完了後、即時表示をおこないたい場合は、
Android : onReceiveAd() のコールバック内に show() メソッドをコールいただくように記述してください。
build.gradle
Kotlin 依存が存在しないプロジェクトでは、dependencies に以下を追加してください。
implementation "org.jetbrains.kotlin:kotlin-stdlib:$latest_version"
- Kotlin
- Java
import com.socdm.d.adgeneration.wipe.ADGWipe
import com.socdm.d.adgeneration.ADGConsts.ADGErrorCode
import com.socdm.d.adgeneration.wipe.ADGWipeListener
class MainActivity : AppCompatActivity() {
private var adgWipe: ADGWipe? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
adgWipe = ADGWipe(this).apply {
// 広告枠IDをセットしてください
setLocationId(adid)
// Listenerをセットしてください
setAdListener(AdListener())
// テストモードをONにする場合は有効化してください
// ※リリース時は必ずfalse or コメントアウトしてください
setEnableTestMode(true)
// 広告のプリロード
preload()
}
}
override fun onStop() {
// ワイプアドを破棄する
adgWipe?.dismiss()
super.onStop()
}
// android:configChanges属性に値を設定している場合は構成変更を通知してください
override fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
adgWipe?.configurationChanged(newConfig)
}
internal inner class AdListener : ADGWipeListener() {
override fun onReceiveAd() {
Log.d(TAG, "Received an ad.")
// 広告表示
adgWipe?.show()
}
override fun onCloseWipe() {
Log.d(TAG, "Closed wipe ads.")
}
override fun onFailedToReceiveAd(code: ADGErrorCode) {
Log.d(TAG, "Failed to receive an ad.")
when (code) {
ADGErrorCode.EXCEED_LIMIT,
ADGErrorCode.NEED_CONNECTION,
ADGErrorCode.NO_AD -> return
else -> return
}
}
override fun onClickAd() {
Log.d(TAG, "Did click ad.")
}
}
}
import com.socdm.d.adgeneration.wipe.ADGWipe;
import com.socdm.d.adgeneration.ADGConsts.ADGErrorCode;
import com.socdm.d.adgeneration.wipe.ADGWipeListener;
public class MainActivity extends AppCompatActivity {
private ADGWipe adgWipe;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.activity_main);
adgWipe = new ADGWipe(this);
// 広告枠IDをセットしてください
adgWipe.setLocationId(adid);
// Listenerの設定
adgWipe.setAdListener(new AdListener());
// テストモードをONにする場合は有効化してください
// ※リリース時は必ずfalse or コメントアウトしてください
adgWipe.setEnableTestMode(true);
// 広告のプリロード
adgWipe.preload();
}
@Override
protected void onStop() {
super.onStop();
if (adgWipe != null) {
// ワイプアドを破棄する
adgWipe.dismiss();
}
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (adgWipe != null) {
// android:configChanges属性を指定している場合は構成変更を通知
adgWipe.configurationChanged(newConfig);
}
}
class AdListener extends ADGWipeListener {
@Override
public void onReceiveAd() {
Log.d(TAG, "Received an ad.");
if (adgWipe != null) {
// 広告表示
adgWipe.show();
}
}
@Override
public void onFailedToReceiveAd(ADGErrorCode code) {
Log.d(TAG, "Failed to receive an ad.");
// ネットワーク不通/エラー多発/広告レスポンスなし以外はリトライしてください
switch (code) {
case EXCEED_LIMIT: // エラー多発
case NEED_CONNECTION: // ネットワーク不通
case NO_AD: // 広告レスポンスなし
break;
default:
break;
}
}
@Override
public void onClickAd() {
Log.d(TAG, "Did click ad.");
}
@Override
public void onCloseWipe() {
Log.d(TAG, "on Close Wipe.");
}
}
}