Adrop Android SDKを使用して、さまざまな広告フォーマットをアプリに表示できます。
対応広告フォーマット
| フォーマット | 説明 |
|---|
| バナー | 画面の一部に表示される矩形広告 |
| ネイティブ | アプリのUIに合わせてカスタマイズ可能な広告 |
| インタースティシャル | 画面全体を覆うフルスクリーン広告 |
| リワード | 視聴完了時にリワードを提供する動画広告 |
| ポップアップ | 特定のタイミングでポップアップ表示される広告 |
| スプラッシュ | アプリ起動時にロゴと一緒に表示される広告 |
- Android 6.0(API Level 23)以上
- Gradle 8.7以上
- Kotlin 2.1.0以上
- compileSdkVersion 34以上
- Jetpack(AndroidX)対応
事前準備
1. adrop_service.jsonファイルの追加
プロジェクトに追加
ダウンロードしたファイルをapp/src/main/assets/フォルダに追加します。
app/
└── src/
└── main/
└── assets/
└── adrop_service.json
adrop_service.jsonファイルがないとSDKは正常に動作しません。
2. ユニットIDの確認
コンソールのAd Unitタブで、広告枠に該当するユニットIDを確認します。
インストール
Gradle設定
Settings.gradle.kts
プロジェクトレベルのsettings.gradle.ktsファイルにリポジトリを追加します:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url = uri("https://artifact.bytedance.com/repository/pangle") }
}
}
Build.gradle.kts
アプリレベルのbuild.gradleまたはbuild.gradle.ktsファイルに依存関係を追加します:
dependencies {
implementation("io.adrop:adrop-ads:1.7.6")
implementation("io.adrop:adrop-ads-backfill:1.7.6")
}
AndroidManifest.xml設定
バックフィル広告のためにAndroidManifest.xmlにApp IDを追加します:
<manifest>
<application>
<!-- Backfill App ID -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>
App IDの発行についてはAdropにお問い合わせください。
初期化
MainActivityのonCreate()でSDKを初期化します。
import io.adrop.ads.Adrop
import io.adrop.ads.model.AdropTheme
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// SDK初期化
Adrop.initialize(application, production = false)
Adrop.setTheme(AdropTheme.AUTO)
}
}
初期化パラメータ
| パラメータ | タイプ | デフォルト | 説明 |
|---|
context | Application | - | アプリのApplicationインスタンス(必須) |
production | Boolean | false | プロダクションモード。リリース時はtrueに設定 |
targetCountries | Array<String> | [] | ターゲット国コード(ISO 3166 alpha-2) |
リリース前に必ずproduction = trueに設定してください。falseのままリリースすると広告が表示されません。
ユーザー設定
UID設定
ターゲティング広告のためにユーザー識別子を設定します。
ターゲティング広告が正常に動作するには、広告枠に入る前にUIDを設定してください。
テーマ設定
ダークモード対応広告のためにテーマを設定します。initialize()呼び出し後に設定する必要があります。
// ライトモード
Adrop.setTheme(AdropTheme.LIGHT)
// ダークモード
Adrop.setTheme(AdropTheme.DARK)
// システム設定に従う(推奨)
Adrop.setTheme(AdropTheme.AUTO)
AUTOモードはシステムのダークモード設定を自動的に検出します。テーマが変更されると、スプラッシュ広告のキャッシュは自動的にクリアされます。
ディープリンク処理
外部リンクからアプリが起動された場合、ディープリンクを処理します。
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
intent?.let { Adrop.handleDeepLink(it) }
}
テストユニットID
開発中はテストユニットIDを使用してください。本番リリース前に実際のユニットIDに置き換える必要があります。
バナー広告
| フォーマット | テストユニットID |
|---|
| バナー(320x50) | PUBLIC_TEST_UNIT_ID_320_50 |
| バナー(320x100) | PUBLIC_TEST_UNIT_ID_320_100 |
| カルーセルバナー | PUBLIC_TEST_UNIT_ID_CAROUSEL |
| バナー動画(16:9) | PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_16_9 |
| バナー動画(9:16) | PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_9_16 |
ネイティブ広告
| フォーマット | テストユニットID |
|---|
| ネイティブ(画像) | PUBLIC_TEST_UNIT_ID_NATIVE |
| ネイティブ動画(16:9) | PUBLIC_TEST_UNIT_ID_NATIVE_VIDEO_16_9 |
| ネイティブ動画(9:16) | PUBLIC_TEST_UNIT_ID_NATIVE_VIDEO_9_16 |
インタースティシャル/リワード広告
| フォーマット | テストユニットID |
|---|
| インタースティシャル | PUBLIC_TEST_UNIT_ID_INTERSTITIAL |
| リワード | PUBLIC_TEST_UNIT_ID_REWARDED |
ポップアップ広告
| フォーマット | テストユニットID |
|---|
| ポップアップ(下部) | PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM |
| ポップアップ(中央) | PUBLIC_TEST_UNIT_ID_POPUP_CENTER |
| ポップアップ動画下部(16:9) | PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM_VIDEO_16_9 |
| ポップアップ動画下部(9:16) | PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM_VIDEO_9_16 |
| ポップアップ動画中央(16:9) | PUBLIC_TEST_UNIT_ID_POPUP_CENTER_VIDEO_16_9 |
| ポップアップ動画中央(9:16) | PUBLIC_TEST_UNIT_ID_POPUP_CENTER_VIDEO_9_16 |
スプラッシュ広告
| フォーマット | テストユニットID |
|---|
| スプラッシュ | PUBLIC_TEST_UNIT_ID_SPLASH |
エラーコード
広告ロード失敗時に返される主なエラーコードです。
| エラーコード | 説明 |
|---|
ERROR_CODE_AD_NO_FILL | 表示可能な広告なし |
ERROR_CODE_NETWORK | ネットワーク接続失敗 |
ERROR_CODE_INVALID_UNIT | 無効なユニットID |
ERROR_CODE_INITIALIZE | SDK初期化が必要 |
ERROR_CODE_AD_LOADING | 広告ロード中(重複リクエスト) |
ERROR_CODE_AD_SHOWN | 広告は既に表示済み |
詳細なエラーコードはリファレンスを参照してください。