概要
插页式广告是互动式多媒体 HTML5 或「网络应用程式」,在应用程式的正常转换点显示 (例如启动、影片播放前或游戏关卡载入时)。网路应用程式使用上就像在应用程式内浏览一样,只有简单的关闭按钮,而没有任何导览列,因为导览配置就包含在内容本身。这类广告由于内容更丰富、更吸引人,因此製作起来更昂贵,而曝光机会相对有限。
完成串接准备
在开始串接广告之前,请确认您已经将 Vpon SDK 导入您的 Xcode 专案中。若您尚未完成,请先参考串接说明完成相关设定。
开始串接插页广告
请参考以下说明,完成插页广告:
- 汇入 com.vpon.ads.*
- 宣告 VponInterstitialAd,并指定 License Key
- 建立 VponAdRequest,并请求广告
- 展示广告
- 实作 AdListener
建议您在应用程式的 Activity 内进行上述步骤。
宣告 VponInterstitialAd,并请求广告
import com.vpon.ads.*;
public class MainActivity extends AppCompatActivity {
private String interstitialId = "License Key";
// interstitialId: Vpon License Key to get ad, please replace with your own one
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
VponAdRequest.Builder builder = new VponAdRequest.Builder();
builder.addTestDevice("your device advertising id");
// Set your test device's GAID here if you're trying to get Vpon test ad
VponInterstitialAd.loadAd(this, interstitialId, builder.build());
// Set ad request and load ad
}
}
Note:
- 在 Activity 的生命周期中,一个 VponInterstitialAd 物件可以重复请求显示多个插页广告,因此只需建立一个实例物件即可
- 请特别注意,截止目前步骤,尚没有任何项目可以加入检视阶层,您必须等到请求成功后才可以尝试展示广告
- 如果您想要指定更多投放条件,请参考进阶设定
展示广告
为了维持良好的用户体验,请避免取得插页广告后就立刻将广告展示出来。我们建议您可以先拉取插页广告,在特定时机展示广告。舉例來說:您可以實作 VponInterstitialAdLoadCallback 來監聽廣告請求的事件,在 onVpadnReceiveAd 事件被觸發後,再將廣告顯示出來,請參考以下範例:
public void onAdLoaded(VponInterstitialAd ad) {
@Override
public void onAdLoaded() {
if (vponInterstitialAd.isReady()) {
// Show Interstitial Ad
ad.show();
}
}
}
Note: 您可以在呼叫 show() 之后,再使用 VponInterstitialAd.loadAd() 请求新广告
实作 VponInterstitialAdLoadCallback 与 VponFullScreenContentCallback
VponFullScreenContentCallback fullScreenContentCallback = new VponFullScreenContentCallback(){
@Override
public void onAdClicked() {
// Invoked while ad has been clicked
}
@Override
public void onAdDismissedFullScreenContent() {
// Invoked while ad has been closed
}
@Override
public void onAdFailedToShowFullScreenContent(int errorCode) {
// Invoked if received ad fail, check this callback to indicates what type of failure occurred
}
@Override
public void onAdImpression() {
// Invoked while ad has been determined as impression
}
@Override
public void onAdShowedFullScreenContent() {
// Invoked while ad has been shown
}
};
VponInterstitialAdLoadCallback adLoadCallback = new VponInterstitialAdLoadCallback(){
@Override
public void onAdLoaded(VponInterstitialAd ad) {
ad.setFullScreenContentCallback(fullScreenContentCallback);
// Show Interstitial Ad
ad.show();
}
@Override
public void onAdFailedToLoad(@NonNull VponAdRequest.VponErrorCode adError) {
// Invoked if received ad fail, check this callback to indicates what type of failure occurred
}
};
Tips
- 我们不建议您在程式开啓时直接拉取插頁廣告并立即显示
為了避免拖慢程式开啓时的执行速度,我们建议您可以先 loadAd(),但不立即显示廣告,等待特定事件(e.g. 使用者过关、停留在某个画面超过特定时间、按下某个 button 或离开 app 之前…)发生再呼叫 show() 显示廣告。 - 请避免在发出广告请求前,就要求显示广告
- 请务必参考串接说明,在 AndroidManifest.xml 中加入 VponAdActivity
确认广告曝光是否成功发送
当广告露出在页面上并达到曝光标准后,会印出以下的 Log 代表有送出广告曝光:
I/VPON: [::Impression::] response.code : 200
Sample Code
如果您想看到完整的串接实例,请参考我们的 Sample Code
适用于 Vpon SDK v5.5 的串接方法
如果您想了解 Vpon SDK v5.5 或以下版本的串接方法,请参考插页广告