Apps Kit SDK logoApps Kit SDK
Tài liệu · AppsKitSDK (AKS) — Hướng dẫn tích hợp Android

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 quản trị 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ờ cần tham chiếu trực tiếp đến ID đơn vị quảng cáo trong mã.

Quảng cáo xen kẽ (Interstitial)

kotlin
// 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)

kotlin
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)

kotlin
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 trên màn hình khởi động/khi mở ứng dụng có sẵn 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ùng loadDefaultAppOpen / showDefaultAppOpen trong lớp con kế thừa AppsKitSDKApplication — hoặc chỉ cần gọi requestSplashAppOpenAd(callbacks, addInDefaultDelay), vốn đã được lớp cơ sở Application triển khai toàn bộ quy trình.

Quảng cáo biểu ngữ (Banner)

kotlin
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)

kotlin
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)

// Show the native ad using the design you created for this placeholder in the
// AKS portal, instead of a layout resource — see below.
AdsManager.showTemplatedNative(activity, frameLayout, placeholder, isShowInScrollView = false, callback)

showTemplatedNative dành cho các placeholder có giao diện quảng cáo gốc được thiết kế và gán trên cổng quản trị AKS thay vì trong mã ứng dụng — phương thức này hoàn toàn không có tham số res, vì bạn không cần cung cấp bố cục. AKS xác định mẫu trên cổng quản trị áp dụng cho placeholder này, tải mẫu về (lưu vào bộ nhớ đệm sau lần tải đầu tiên), rồi dùng mẫu đó để hiển thị quảng cáo gốc thông qua cùng quy trình tải/hiển thị mà showNative sử dụng. Nếu placeholder chưa được gán mẫu hoặc không tải được mẫu, AKS sẽ dùng thiết kế quảng cáo gốc mặc định tích hợp sẵn thay vì khiến quảng cáo không hiển thị được — vì vậy, bạn luôn có thể gọi phương thức này một cách an toàn, ngay cả khi chưa thiết lập mẫu trên cổng quản trị.

Quảng bá tính năng (Feature Promotion)

Feature Promotion là định dạng quảng cáo nội bộ riêng 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ỉ được phân phối qua mạng AKS (không qua AdMob/MAX/v.v.). Các mục được quảng bá được cấu hình ở phía máy chủ trên cổng quản trị AKS, riêng cho từng placeholder.

kotlin
// 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) { }
})