Apps Kit SDK logoApps Kit SDK
개발자 문서 · Android 연동

6. 광고 형식별 호출

모든 광고 호출에는 플레이스홀더가 필요합니다. 플레이스홀더는 AKS 포털에서 광고 형식에 연결해 설정하는 문자열 키입니다(예: "1"). AKS는 런타임에 플레이스홀더를 기본 광고 네트워크와 장애 시 대체할 네트워크 목록에 매핑하므로, 코드에서 광고 단위 ID를 직접 참조할 필요가 없습니다.

전면 광고

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)

보상형 광고

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)

앱 오프닝 광고

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)

앱 오프닝 광고를 직접 관리하는 대신 AKS의 자체 스플래시/앱 오프닝 광고 처리 기능(isAppOpenAtApplicationLvl 원격 구성 플래그로 제어)을 사용하려면, AppsKitSDKApplication 서브클래스에서 loadDefaultAppOpen / showDefaultAppOpen을 사용하세요. 또는 기본 Application 클래스에 전체 처리 과정이 이미 구현된 requestSplashAppOpenAd(callbacks, addInDefaultDelay)를 호출하기만 하면 됩니다.

배너 광고

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

네이티브 광고

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)

기능 프로모션

기능 프로모션은 아직 특정 기능을 잠금 해제하지 않은 사용자에게 해당 앱 기능을 교차 홍보하는 AKS 자체 하우스 광고 형식입니다. AdMob/MAX 등의 네트워크가 아닌 AKS 네트워크를 통해서만 제공되며, 홍보할 항목은 AKS 포털에서 플레이스홀더별로 서버 측에 설정합니다.

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