アドフリくんSDKの導入 - glossom-dev/AdfurikunSDK-Android GitHub Wiki

SDKの導入方法

以下に記載したファイル名やフォルダ名はあくまで例ですので、実際の環境に合わせて正しく設定してください。
また、rootはアプリケーションのルートフォルダを指します。

1. 事前準備

AARファイルを使用して導入する場合 (推奨)

  • アドフリくん管理画面のダウンロードページから
    adfurikunSDK_Android_jointed_{バージョン番号}.zipをダウンロードしてください。
  • ダウンロードしたzipを解凍し、格納されていたlibsフォルダを、
    アプリのroot/app直下にドラッグ&ドロップしてください。
  • root/app/build.gradleに以下の記述を追加してください。
    ※ 'x.y.z' の部分は、使用するアドフリくんのバージョン番号と一致するように書き換えが必要です。
    dependencies {
        implementation files('libs/adfurikunMovieRewardSDK-x.y.z.aar')
    }

Mavenを使用して導入する場合

  • 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'
    }

2. アドネットワークの導入

  • root/app/libs内にadfurikunsdk-adnw-maven.gradleが存在する事を確認してください。
    ※存在しない場合は「1. 事前準備」からやり直してください。
  • root/app/build.gradleに以下の記述を追加して下さい。
    apply from: 'libs/adfurikunsdk-adnw-maven.gradle'

3. AndroidX Support Libraryの導入

  • root/app/libs内にadfurikunsdk-support-androidx.gradleが存在する事を確認してください。
    ※存在しない場合は「1. 事前準備」からやり直してください。
  • root/app/build.gradleに以下の記述を追加して下さい。
    apply from: 'libs/adfurikunsdk-support-androidx.gradle'
  • root/gradle.propertiesに以下の記述を追加して下さい。(既に記述済みの場合は不要です)
android.useAndroidX=true
android.enableJetifier=true

4. AdMob関連の設定

AdMobを利用する場合

バージョン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"/>

AdMobを利用しない場合

上記の記述は不要です。
代わりに、root/app/libs/adfurikunsdk-support-androidx.gradleに記載されている
com.google.android.gms:play-services-adsのバージョンを21.3.0に戻してください。

dependencies {
    implementation 'com.google.android.gms:play-services-ads:21.3.0'
}

5. ProGuardの設定

アプリ側で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.* {*;}

6. アドフリくんの初期化

Applicationを継承したクラスのonCreate内でAdfurikunSdk.init(context:)を呼び出します。

class SampleApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        AdfurikunSdk.init(this) //アドフリくんの初期化
    }
}

Warning

上記の実装を行わなかった場合、アプリがバックグラウンド状態でも広告の読み込みが行われる事があります。
そうなった場合、通信量や端末への負荷が増大してしまいます。
必ず上記の実装をお願いいたします。

付録

A. minSdkVersion / compileSdkVersionの設定

  • minSdkVersion(またはminSdk)は、アプリがサポートする最小限のAndroid OSバージョンを指定します。
    詳しくはAndroid公式ドキュメントをご参考にしてください。

  • compileSdkVersion(またはcompileSdk)は、
    アプリのコンパイル時に使用するAndroid SDKのバージョンを指定します。
    通常は最新バージョンを使用することが推奨されます。

⚠️ **GitHub.com Fallback** ⚠️