Apps Kit SDK logoApps Kit SDK
Документация · AppsKitSDK (AKS) — руководство по интеграции для Android

6. Вызов рекламных форматов

Каждый вызов рекламы принимает плейсхолдер — строковый ключ, привязанный к рекламному формату на портале AKS (например, "1"). Во время выполнения AKS определяет по плейсхолдеру основную рекламную сеть и список резервных сетей; указывать идентификатор рекламного блока непосредственно в коде не нужно.

Межстраничная реклама (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)

Реклама с вознаграждением (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)

Реклама при открытии приложения (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)

Если вместо самостоятельного управления App Open вы хотите использовать встроенную в AKS обработку рекламы на заставке и при открытии приложения (управляется флагом удалённой конфигурации isAppOpenAtApplicationLvl), вызывайте loadDefaultAppOpen / showDefaultAppOpen в своём подклассе AppsKitSDKApplication — или просто вызовите requestSplashAppOpenAd(callbacks, addInDefaultDelay): базовый класс Application уже полностью реализует этот сценарий.

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

Нативная реклама (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 предназначен для плейсхолдеров, у которых оформление нативной рекламы создано и назначено на портале AKS, а не в коде приложения. Параметра res здесь нет, поскольку передавать собственную разметку не требуется. AKS определяет, какой шаблон портала назначен этому плейсхолдеру, загружает его (после первой загрузки шаблон кешируется) и отображает с его помощью нативную рекламу, используя тот же механизм загрузки и показа, что и showNative. Если плейсхолдеру не назначен шаблон или его не удаётся загрузить, AKS использует встроенное стандартное оформление нативной рекламы, а не прерывает показ. Поэтому метод можно безопасно вызывать даже до настройки шаблона на портале.

Продвижение функций (Feature Promotion)

Feature Promotion — собственный рекламный формат AKS для продвижения функций приложения среди пользователей, которые ещё не разблокировали их. Он работает только через сеть AKS (не через AdMob/MAX и другие сети), а продвигаемые функции настраиваются на стороне сервера через портал 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) { }
})