1. 依存関係
1.1 AKS SDK
アプリレベルの build.gradle.kts に SDK 本体を追加します。
dependencies {
implementation("com.github.Pentabit-Labs-LLC:appskitsdk-android:${LATEST_VERSION}")
}${LATEST_VERSION} を、appskitsdk-android のリリース(または同リポジトリの README にある JitPack バッジ)で確認できる最新のタグ(例:v6.4.0.0)に置き換えてください。
AKS は、依存関係情報を持つ Maven モジュールではなく、.aar ファイル群として公開されているため、サードパーティの依存ライブラリは推移的に追加されません。以下の依存関係はすべて、アプリモジュールで明示的に宣言する必要があります。唯一の例外は SupportAKS(com.pentabit.aks_android_support_lib)です。これらのクラスは appskitsdk-android アーティファクト自体に直接同梱されているため、com.pentabit:aks-android-helpers を別途追加する必要はありません。
1.2 必須ライブラリ(常に必要)
これらは AKS のコンパイル済みコードから直接参照されるため、実際に有効にする広告ネットワークにかかわらず必要です。
dependencies {
// Firebase (Remote Config drives almost all AKS behavior; Analytics is used for AKS events)
implementation(platform("com.google.firebase:firebase-bom:34.3.0"))
implementation("com.google.firebase:firebase-analytics")
implementation("com.google.firebase:firebase-config")
implementation("com.google.android.gms:play-services-measurement-api:23.0.0")
// Coroutines / serialization / datetime — used throughout AdsManager and AppsKitSDK
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0")
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.7.1")
// Ktor — AKS's internal network client for fetching ad/config data
implementation("io.ktor:ktor-client-core:3.3.3")
implementation("io.ktor:ktor-client-okhttp:3.3.3")
implementation("io.ktor:ktor-client-content-negotiation:3.3.3")
implementation("io.ktor:ktor-serialization-kotlinx-json:3.3.3")
implementation("io.ktor:ktor-client-logging:3.3.3")
// Local storage AKS uses for its own preferences/session/ad-state tracking
implementation("com.russhwolf:multiplatform-settings:1.1.1")
implementation("com.russhwolf:multiplatform-settings-serialization:1.1.1")
// Jetpack Compose — AKS's Feature/Cross-Promotion ad screens, the Configuration
// Dashboard, and the Test Suite (§10) are all built with Compose. Pull these in via
// the Compose BOM so versions stay aligned with whatever else in your app uses Compose.
implementation(platform("androidx.compose:compose-bom:2025.08.01"))
implementation("androidx.compose.runtime:runtime")
implementation("androidx.compose.foundation:foundation")
implementation("androidx.compose.material3:material3")
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-tooling-preview")
// Image loading used by AKS's built-in cross-promotion / feature-promotion ad screens
implementation("io.coil-kt.coil3:coil:3.3.0")
implementation("io.coil-kt.coil3:coil-compose:3.3.0")
implementation("io.coil-kt.coil3:coil-compose-core:3.3.0")
implementation("io.coil-kt.coil3:coil-network-ktor3:3.3.0")
implementation("media.kamel:kamel-image:0.9.5")
// Used by enableAppAutoUpdate() in the AKS base Activities
implementation("com.google.android.play:app-update:2.1.0")
// Powers AppsKitSDKUtils.askForRating() — AKS's built-in in-app review flow
implementation("com.google.android.play:review:2.0.1")
implementation("androidx.recyclerview:recyclerview:1.4.0")
// IronSource core — AKS's base Activity classes call IronSource.onResume()/onPause()
// unconditionally on every screen, so this is required even if you never select
// IronSource as an ad network in the AKS portal.
implementation("com.ironsource.sdk:mediationsdk:8.5.0")
}すべての
ktor-*アーティファクトで Ktor のバージョンを統一してください。同じクラスパスに Ktor 2.x と 3.x のアーティファクトが混在すると、バイナリ互換性の問題により実行時にクラッシュします。アプリの他の部分でも、コルーチン(
1.7.3)、シリアライゼーション(1.9.0)、Firebase BOM(34.3.0)のバージョンを AKS に合わせ、依存関係グラフの別の箇所に古いバージョンを残さないでください。Firebase の BOM には、メジャーバージョン間(33.x→34.x)で破壊的変更がありました。Gradle が通知なく競合を解決していずれかのバージョンを採用しても、これらのライブラリを呼び出す AKS のコードパスのバイナリ互換性が保たれるとは限りません。これらのバージョン指定は必須要件であり、可能な範囲で対応すればよい推奨事項ではありません。
1.3 モバイル計測パートナー(MMP)の SDK(常に必要)
AKS は、AKS ポータル / Firebase Remote Config に設定されたキーを使って、以下の 3 つの SDK を自動初期化します。アプリから直接呼び出す必要はありませんが、AKS のコンパイル済みコード内では各 SDK のクラスが無条件に参照されるため、クラスパスに含める必要があります。
dependencies {
// AppsFlyer
implementation("com.appsflyer:af-android-sdk:6.13.0")
implementation("com.appsflyer:adrevenue:6.9.0")
implementation("com.miui.referrer:homereferrer:1.0.0.6")
implementation("com.android.installreferrer:installreferrer:2.2")
// Adjust
implementation("com.adjust.sdk:adjust-android:4.38.3")
// Solar Engine (Reyun)
implementation("com.reyun.solar.engine.oversea:solar-engine-core:1.3.1.4")
}AKS ポータルの設定にいずれかの SDK のキーがなくても問題ありません。AKS は実行時にその SDK の初期化をスキップするだけです。ただし、アプリをビルドするには、その依存関係を追加しておく必要があります。
1.4 広告ネットワーク / メディエーション SDK
AKS は、IronSource(上記に記載済み)に加え、AdMob、AppLovin MAX、Chartboost Mediation(Helium)のハンドラーコードを同じ AAR 内に同梱しています。実際に広告を配信するネットワークはリモートで決定されます(広告フォーマットごとに指定され、フェイルオーバーにも対応)。そのため、すべてを追加するのが最も安全な方法であり、Pentabit 自身のリファレンスアプリでもこの構成を採用しています。
dependencies {
// ---- AdMob / Google Mobile Ads + mediation adapters ----
implementation("com.google.android.gms:play-services-ads:24.4.0")
implementation("com.google.ads.mediation:applovin:13.0.1.0")
implementation("com.google.ads.mediation:ironsource:8.5.0.1")
implementation("com.google.ads.mediation:chartboost:9.8.2.0")
implementation("com.google.ads.mediation:vungle:7.4.2.0")
implementation("com.google.ads.mediation:facebook:6.18.0.0")
implementation("com.google.ads.mediation:mintegral:16.9.71.0")
implementation("com.google.ads.mediation:pangle:6.4.0.4.0")
implementation("com.google.ads.mediation:unity:4.12.5.0") {
exclude(group = "com.google.android.gms", module = "play-services-cronet")
}
// ---- AppLovin MAX + adapters ----
implementation("com.applovin:applovin-sdk:13.3.0")
implementation("com.applovin.mediation:google-adapter:+")
implementation("com.applovin.mediation:google-ad-manager-adapter:+")
implementation("com.applovin.mediation:ironsource-adapter:8.7.0.0.0")
implementation("com.applovin.mediation:facebook-adapter:+")
implementation("com.applovin.mediation:vungle-adapter:+")
implementation("com.applovin.mediation:mintegral-adapter:+")
implementation("com.applovin.mediation:bytedance-adapter:6.5.0.8.1")
implementation("com.applovin.mediation:unityads-adapter:+") {
exclude(group = "com.google.android.gms", module = "play-services-cronet")
}
// ---- Chartboost Mediation (Helium) + adapters ----
implementation("com.chartboost:chartboost-mediation-sdk:4.7.1")
implementation("com.chartboost:chartboost-mediation-adapter-admob:4.22.3.0.4")
implementation("com.chartboost:chartboost-mediation-adapter-applovin:4.12.0.0.0")
implementation("com.chartboost:chartboost-mediation-adapter-ironsource:4.7.5.2.0.0")
implementation("com.chartboost:chartboost-mediation-adapter-vungle:4.7.1.0.0")
implementation("com.chartboost:chartboost-mediation-adapter-meta-audience-network:4.6.16.0.0")
implementation("com.chartboost:chartboost-mediation-adapter-pangle:4.5.5.0.3.0")
}特定のネットワーク(例:Helium)を AKS ポータルの設定で今後も有効にしないことが確実であれば、そのブロックを削除できます。ただし、AKS 内部の AdNetwork フェイルオーバーロジックは、広告フォーマットごとに ADMOB、GAM、MAX、IRON_SOURCE、HELIUM のいずれにも切り替えられるため、このリストから依存関係を削除すると、リモート設定側の柔軟性が低下する点に注意してください。