アドフリくんSDKの導入 - glossom-dev/AdfurikunSDK-Android GitHub Wiki
以下に記載したファイル名やフォルダ名はあくまで例ですので、実際の環境に合わせて正しく設定してください。
また、rootはアプリケーションのルートフォルダを指します。
- アドフリくん管理画面のダウンロードページから
adfurikunSDK_Android_jointed_{バージョン番号}.zipをダウンロードしてください。 - ダウンロードしたzipを解凍し、格納されていた
libsフォルダを、
アプリのroot/app直下にドラッグ&ドロップしてください。 -
root/app/build.gradleに以下の記述を追加してください。
※ 'x.y.z' の部分は、使用するアドフリくんのバージョン番号と一致するように書き換えが必要です。
dependencies {
implementation files('libs/adfurikunMovieRewardSDK-x.y.z.aar')
}
-
root/build.gradleに以下の記述を追加してください。
allprojects {
repositories {
maven { url 'https://github.com/glossom-dev/AdfurikunSDK-Android/raw/master' }
}
}
-
root/app/build.gradleに以下の記述を追加してください。
※ 'x.y.z' の部分は、使用するアドフリくんのバージョン番号と一致するように書き換えが必要です。
dependencies {
implementation 'jp.adfully:adfurikunsdk:x.y.z'
}
-
root/app/build.gradleに以下の記述を追加して下さい。
apply from: 'libs/adfurikunsdk-adnw-maven.gradle'
-
root/app/libs内にadfurikunsdk-adnw-maven.gradleが存在する事を確認してください。
※存在しない場合は「1. 事前準備」からやり直してください。
-
root/app/libs内にadfurikunsdk-adnw-maven.gradleを作成し、
導入したアドフリくんSDKのバージョンに応じて、以下の内容を記載してください。
4.1.0
repositories {
google()
mavenCentral()
maven {url "https://imobile-maio.github.io/maven" }
maven {url 'https://github.com/amoad/amoad-android-sdk-maven/raw/master/' }
maven {url 'https://artifact.bytedance.com/repository/pangle' }
maven {url 'https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea' }
}
dependencies {
implementation 'com.applovin:applovin-sdk:13.2.0' // AppLovin
implementation 'com.unity3d.ads:unity-ads:4.16.1' // Unity Ads
implementation 'com.amoad:amoad-sdk:5.2.30' // Afio
implementation 'com.maio:android-sdk-v2:2.0.4@aar' // maio
implementation 'com.vungle:vungle-ads:7.5.0' // Vungle
implementation 'com.linecorp.adsnetwork:fivead:2.8.20240827' // Five
implementation 'com.pangle.global:pag-sdk:7.1.0.8' // Pangle
implementation 'com.unity3d.ads-mediation:mediation-sdk:8.10.0' // IronSource
implementation 'com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.71' // Mintegral
implementation 'com.fyber:marketplace-sdk:8.3.7' // Fyber
implementation 'com.inmobi.monetization:inmobi-ads-kotlin:10.8.3' // InMobi
implementation 'com.google.android.gms:play-services-ads:23.2.0' // AdMob
}
4.0.0 ~ 4.0.2
repositories {
google()
mavenCentral()
maven {url "https://imobile-maio.github.io/maven" }
maven {url 'https://github.com/amoad/amoad-android-sdk-maven/raw/master/' }
maven {url 'https://artifact.bytedance.com/repository/pangle' }
maven {url 'https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea' }
}
dependencies {
implementation 'com.applovin:applovin-sdk:13.2.0' // AppLovin
implementation 'com.unity3d.ads:unity-ads:4.14.2' // Unity Ads
implementation 'com.amoad:amoad-sdk:5.2.30' // Afio
implementation 'com.maio:android-sdk-v2:2.0.4@aar' // maio
implementation 'com.vungle:vungle-ads:7.5.0' // Vungle
implementation 'com.linecorp.adsnetwork:fivead:2.8.20240827' // Five
implementation 'com.pangle.global:pag-sdk:7.1.0.8' // Pangle
implementation 'com.unity3d.ads-mediation:mediation-sdk:8.8.0' // IronSource
implementation 'com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.71' // Mintegral
implementation 'com.fyber:marketplace-sdk:8.3.7' // Fyber
implementation 'com.inmobi.monetization:inmobi-ads-kotlin:10.8.3' // InMobi
implementation 'com.google.android.gms:play-services-ads:23.2.0' // AdMob
}
3.24.1
repositories {
google()
jcenter()
mavenCentral()
maven {url "https://jitpack.io" }
maven {url "https://imobile-maio.github.io/maven" }
maven {url 'https://github.com/amoad/amoad-android-sdk-maven/raw/master/' }
maven {url 'https://artifact.bytedance.com/repository/pangle' }
maven {url 'https://android-sdk.is.com/' }
maven {url 'https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea' }
}
dependencies {
implementation 'com.applovin:applovin-sdk:12.6.0'
implementation 'com.unity3d.ads:unity-ads:4.12.4'
implementation 'com.amoad:amoad-sdk:5.2.28'
implementation 'com.maio:android-sdk-v2:2.0.2@aar'
implementation 'com.vungle:vungle-ads:7.4.2'
implementation 'com.linecorp.adsnetwork:fivead:2.8.20240827'
implementation 'com.pangle.global:ads-sdk:6.1.0.9'
implementation 'com.ironsource.sdk:mediationsdk:8.4.0'
implementation 'com.mbridge.msdk.oversea:mbridge_android_sdk:16.8.81'
implementation 'com.fyber:marketplace-sdk:8.3.5'
implementation 'com.inmobi.monetization:inmobi-ads-kotlin:10.7.8'
}
3.24.0
repositories {
google()
jcenter()
mavenCentral()
maven {url "https://jitpack.io" }
maven {url "https://imobile-maio.github.io/maven" }
maven {url 'https://github.com/amoad/amoad-android-sdk-maven/raw/master/' }
maven {url 'https://artifact.bytedance.com/repository/pangle' }
maven {url 'https://android-sdk.is.com/' }
maven {url 'https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea' }
}
dependencies {
implementation 'com.applovin:applovin-sdk:12.6.0'
implementation 'com.unity3d.ads:unity-ads:4.12.4'
implementation 'com.amoad:amoad-sdk:5.2.28'
implementation 'com.maio:android-sdk-v2:2.0.2@aar'
implementation 'com.vungle:vungle-ads:7.4.2'
implementation 'com.linecorp.adsnetwork:fivead:2.8.20240827'
implementation 'com.pangle.global:ads-sdk:6.1.0.9'
implementation 'com.ironsource.sdk:mediationsdk:8.4.0'
implementation 'com.mbridge.msdk.oversea:mbridge_android_sdk:16.8.81'
implementation 'com.fyber:marketplace-sdk:8.3.3'
implementation 'com.inmobi.monetization:inmobi-ads-kotlin:10.7.8'
}
3.23.0
repositories {
google()
jcenter()
mavenCentral()
maven {url "https://jitpack.io" }
maven {url "https://imobile-maio.github.io/maven" }
maven {url 'https://github.com/amoad/amoad-android-sdk-maven/raw/master/' }
maven {url 'https://artifact.bytedance.com/repository/pangle' }
maven {url 'https://android-sdk.is.com/' }
maven {url 'https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea' }
}
dependencies {
implementation 'com.applovin:applovin-sdk:12.6.0'
implementation 'com.unity3d.ads:unity-ads:4.12.0'
implementation 'com.amoad:amoad-sdk:5.2.26'
implementation 'com.maio:android-sdk:1.1.16@aar'
implementation 'com.vungle:vungle-ads:7.3.2'
implementation 'com.linecorp.adsnetwork:fivead:2.8.20240808'
implementation 'com.pangle.global:ads-sdk:6.1.0.9'
implementation 'com.ironsource.sdk:mediationsdk:7.4.0'
implementation 'com.mbridge.msdk.oversea:reward:16.8.11'
implementation 'com.mbridge.msdk.oversea:newinterstitial:16.8.11'
implementation 'com.mbridge.msdk.oversea:mbnativeadvanced:16.8.11'
implementation 'com.mbridge.msdk.oversea:mbbanner:16.8.11'
implementation 'com.mbridge.msdk.oversea:mbsplash:16.8.11'
implementation 'com.fyber:marketplace-sdk:8.3.0'
}
-
root/app/build.gradleに以下の記述を追加して下さい。
apply from: 'libs/adfurikunsdk-support-androidx.gradle'
-
root/gradle.propertiesに以下の記述を追加して下さい。(既に記述済みの場合は不要です)
android.useAndroidX=true
android.enableJetifier=true
-
root/app/libs内にadfurikunsdk-support-androidx.gradleが存在する事を確認してください。
※存在しない場合は「1. 事前準備」からやり直してください。
-
root/app/libs内にadfurikunsdk-support-androidx.gradleを作成し、
導入したアドフリくんSDKのバージョンに応じて、以下の内容を記載してください。
4.0.0 ~ 4.0.2
dependencies {
implementation 'androidx.appcompat:appcompat:1.4.0' // Afio
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0' // Afio
implementation "androidx.constraintlayout:constraintlayout:2.1.0"
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.8.0' // Adfurikun
implementation 'com.google.android.gms:play-services-ads-identifier:18.1.0' // Adfurikun
}
3.24.0 ~ 3.24.1
dependencies {
implementation 'androidx.appcompat:appcompat:1.4.0' // Afio
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0' // Afio
implementation "androidx.constraintlayout:constraintlayout:2.1.0"
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.8.0' // Adfurikun
implementation 'com.google.android.gms:play-services-ads:23.2.0' // Adfurikun
}
3.23.0
dependencies {
implementation 'androidx.appcompat:appcompat:1.4.0' // Afio
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0' // Afio
implementation "androidx.constraintlayout:constraintlayout:2.1.0"
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.7.0' // Adfurikun
implementation 'com.google.android.gms:play-services-ads:23.2.0' // Adfurikun
}
バージョン3.22.0以降のアドフリくんSDKでは、AndroidManifest.xml の<meta-data>に
AdMobから割り当てられたアプリIDを設定する必要があります。
以下のコードを AndroidManifest.xml に追加し、ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyyを
実際のアプリIDに置き換えてください。アプリIDの取得方法は公式マニュアルをご参照ください。
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
上記の記述は不要です。
代わりに、root/app/libs/adfurikunsdk-support-androidx.gradleに記載されている
com.google.android.gms:play-services-adsの依存関係を以下のようにコメントアウトしてください。
dependencies {
// implementation 'com.google.android.gms:play-services-ads:23.2.0'
}
アプリ側でProGuardを使用する場合、以下の内容をコピー&ペーストしてください。
ProGuard内容
# <!-- 動画リワード ProGuard設定 ->
# Support for Adfurikun Movie Reward
-keep interface jp.tjkapp.adfurikunsdk.moviereward.**
-keep class jp.tjkapp.adfurikunsdk.moviereward.** {
public *;
}
-dontwarn jp.tjkapp.adfurikunsdk.moviereward.**
-dontwarn android.webkit.**
## Support for Adfurikun Movie Reward Unity
-keep interface com.unity3d.player.**
-keep class com.unity3d.player.**
-dontwarn com.unity3d.player.**
## Applovin
-keep interface com.applovin.sdk.**
-keep class com.applovin.** { *; }
-dontwarn com.applovin.**
## Maio
-keep class jp.maio.** { *; }
-keep interface jp.maio.** { *; }
-dontwarn jp.maio.**
##Five
-keep class com.five_corp.ad.** { *; }
## Afio
-keep class com.amoad.** { *; }
-keep interface com.amoad.** { *; }
-dontwarn com.amoad.**
# AdMob
-keep class com.google.ads.** { *; }
-keep class com.google.android.gms.ads.** { *; }
# Google Android Advertising ID
-keep class com.google.android.gms.internal.** { *; }
-keep class com.google.android.gms.common.GooglePlayServicesUtil { *; }
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient { *; }
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info { *; }
-dontwarn com.google.android.gms.ads.identifier.**
# Pangle
-keep class com.bytedance.sdk.** { *; }
-keep class com.pgl.sys.ces.* {*;}Applicationを継承したクラスのonCreate内でAdfurikunSdk.init(context:)を呼び出します。
class SampleApplication : Application() {
override fun onCreate() {
super.onCreate()
AdfurikunSdk.init(this) //アドフリくんの初期化
}
}Warning
上記の実装を行わなかった場合、アプリがバックグラウンド状態でも広告の読み込みが行われる事があります。
そうなった場合、通信量や端末への負荷が増大してしまいます。
必ず上記の実装をお願いいたします。
-
minSdkVersion(またはminSdk)は、アプリがサポートする最小限のAndroid OSバージョンを指定します。
詳しくはAndroid公式ドキュメントをご参考にしてください。 -
compileSdkVersion(またはcompileSdk)は、
アプリのコンパイル時に使用するAndroid SDKのバージョンを指定します。
通常は最新バージョンを使用することが推奨されます。