6. Gọi các định dạng quảng cáo
Mỗi lệnh gọi quảng cáo đều nhận một placeholder — khóa dạng chuỗi được cấu hình cho một định dạng quảng cáo trên cổng AKS (ví dụ: "1"). Khi chạy, AKS ánh xạ placeholder tới một mạng quảng cáo chính cùng danh sách mạng dự phòng; bạn không bao giờ tham chiếu trực tiếp đến ID đơn vị quảng cáo trong mã.
Quảng cáo xen kẽ (Interstitial)
// Load only
AdsManager.loadInterstitial(context, placeholder, object : AdsCallback() {
override fun onLoaded() { }
override fun onFailedToLoad() { }
override fun onAdShown() { }
override fun onAdDismissed() { }
override fun onAdFailedToShow() { }
})
// Show a previously loaded interstitial
AdsManager.showInterstitial(activity, placeholder, callback)
// Load and show in one call
AdsManager.loadAndShowInterstitialAd(activity, placeholder, callback)
// Check availability before showing
AdsManager.isInterstitialAvailable(placeholder)Quảng cáo có thưởng (Rewarded)
AdsManager.loadRewarded(context, placeholder, object : RewardedAdCallbacks() {
override fun onRewardedLoaded() { }
override fun onRewardedAdLoadFailure() { }
override fun onRewardedCompleted() { }
override fun onAdRewarded() { }
override fun onAdRewardedAdDismissed() { }
override fun onRewardedFailedToShow() { }
})
AdsManager.showRewarded(activity, placeholder, callbacks)
// Load and show in one call — simpler success/fail callback
AdsManager.loadAndShowRewardedAd(activity, placeholder, object : RewardedLoadAndShowCallback {
override fun onRewardedAdSuccess() { }
override fun onRewardedAdFailed() { }
})
AdsManager.isRewardedAvailable(placeholder)Quảng cáo khi mở ứng dụng (App Open)
AdsManager.loadAppOpen(application, placeholder, object : AppOpenAdCallbacks() {
override fun onLoaded() { }
override fun onFailedToLoad() { }
override fun onDismiss() { }
override fun onAdShown() { }
override fun onAdFailToShow() { }
})
AdsManager.showAppOpen(activity, placeholder, callbacks)Nếu muốn dùng cơ chế xử lý quảng cáo ở màn hình khởi động/khi mở ứng dụng của AKS (được điều khiển bằng cờ cấu hình từ xa
isAppOpenAtApplicationLvl) thay vì tự quản lý quảng cáo App Open, hãy dùngloadDefaultAppOpen/showDefaultAppOpentrong lớp con củaAppsKitSDKApplication— hoặc chỉ cần gọirequestSplashAppOpenAd(callbacks, addInDefaultDelay), phương thức mà lớp cơ sởApplicationđã triển khai toàn bộ luồng xử lý.
Quảng cáo biểu ngữ (Banner)
AdsManager.loadBanner(context, placeholder, object : BannerCallback() {
override fun onBannerLoaded() { }
override fun onBannerFailedToLoad() { }
override fun onBannerClicked() { }
override fun onBannerShown() { }
override fun onBannerSizeChanged(bannerSizes: BannerSizes) { }
override fun setBannerSize(width: Double, height: Double) { }
})
// layout is a FrameLayout (BannerContainer) you've placed in your screen
AdsManager.showBanner(activity, layout, placeholder, callback)BannerSizes: BANNER (320×50), LARGE_BANNER (320×100), MEDIUM_RECTANGLE (300×250), FULL_BANNER (468×60).
Quảng cáo gốc (Native)
AdsManager.loadNative(activity, placeholder, isShowInScrollView = false, object : NativeCallback() {
override fun onNativeLoaded() { }
override fun onNativeFailedToLoad() { }
override fun onNativeClicked() { }
override fun onNativeShown() { }
})
// frameLayout is the BannerContainer that will host the native ad view; res is an
// optional custom native-ad layout resource (pass null to use AKS's default layout)
AdsManager.showNative(activity, frameLayout, placeholder, isShowInScrollView = false, res = null, callback)Quảng bá tính năng (Feature Promotion)
Feature Promotion là định dạng quảng cáo nội bộ của AKS, dùng để quảng bá chéo một tính năng trong ứng dụng tới những người dùng chưa mở khóa tính năng đó — định dạng này chỉ phân phối qua mạng AKS (không qua AdMob/MAX/v.v.), và các mục được quảng bá được cấu hình ở phía máy chủ trên cổng AKS, theo từng placeholder.
// Optional — exclude features the user already has unlocked from being promoted
AdsManager.setFeaturesAvailable(listOf("premium_theme", "no_ads"))
AdsManager.showFeaturePromotion(activity, placeholder, object : OnFeaturePromotionClicked {
override fun onFeaturePromotionClicked(targetScreen: String) {
// user tapped the promotion — navigate them to targetScreen
}
override fun onFailToShowFeaturePromotion(errorMessage: String) { }
})