詳細設定

基本的な統合の記事の手順に従って開始し、次に、統合するいずれかの広告フォーマット (インタースティシャル広告またはリワード広告バナー広告MREC 広告) の手順に従います。この記事には補足情報が含まれており、基本的な統合が完了していることを前提としています。

EU 一般データ保護規則 (GDPR) に準拠するための推奨手順

2019 年 5 月 25 日より、欧州連合で一般データ保護規則 (GDPR) が施行されました。開発者は、以下に示すいずれかの方法で GDPR に準拠する必要があります。

  • 方法 1 (推奨): パブリッシャーが、ユーザー レベルで GDPR 同意プロセスを管理し、ユーザーによる選択内容を Vungle に伝える。これを行うには、開発者が独自のメカニズムを使用してユーザーから同意を取得し、Vungle API を使用して、ユーザーの同意状況の更新や照会を実行します。詳しくは、以下のサンプル コードを参照してください。
  • 方法 2: 広告を表示するための要件の処理を Vungle に委任する。この方法の場合、欧州のユーザーに広告を表示する前に、同意ダイアログが表示されます。それ以降は、ユーザーが広告の表示に同意したか拒否したかがシステムに記憶されることになります。

updateConsentStatus メソッド (オプション 1 で推奨) は、ユーザーの同意ステータスと同意メッセージのバージョンをパラメーターとして受け取ります。

public static void updateConsentStatus(@NonNull Consent status, @NonNull String consentMessageVersion)

同意ステータスは、ユーザーが表示したメッセージ バージョンに対してユーザーが OPTED_IN または OPTED_OUT を持っているかどうかを指定します。consentMessageVersion は、パブリッシャーが管理する同意ポリシーのバージョンを指定します。これにより、メッセージ バージョンごとにユーザーをプールし、GDPR ポリシーが変更されたときに再度同意を求めることができます。

// Usage example of GDPR API
// To set the user's consent status to opted in:
Vungle.updateConsentStatus(Vungle.Consent.OPTED_IN, “1.0.0”);

// To set the user's consent status to opted out:
Vungle.updateConsentStatus(Vungle.Consent.OPTED_OUT, “1.0.0”);

// To find out what the user's current consent status is:
// This will return null if the GDPR Consent status has not been set
// Otherwise, it will return Vungle.Consent.OPTED_IN or Vungle.Consent.OPTED_OUT
Vungle.Consent currentGDPRStatus = Vungle.getConsentStatus();
String consentMessageVersion = Vungle.getConsentMessageVersion();

CCPA の実装

2020 年 7 月 1 日より、カリフォルニア州消費者プライバシー法 (CCPA) が施行され、パブリッシャーは CCPA に準拠するために Android SDK 6.7.0 にアップデートする必要があります。

updateCCPAStatus メソッドは、ユーザーの同意ステータスを受け取り、ユーザーが OPTED_IN または OPTED_OUT を持っているかどうかを指定し、getCCPAStatus() メソッドはユーザーの現在の CCPA ステータスを返します。

public static void updateCCPAStatus(@NonNull final Consent status)
public static Consent getCCPAStatus()
// Usage example of CCPA API
// To set the user's CCPA status to opted in:
Vungle.updateCCPAStatus(Consent.OPTED_IN);

// To set the user's CCPA status to opted out:
Vungle.updateCCPAStatus(Consent.OPTED_OUT);

// To find out what the user's current consent status is:
Consent currentCCPAStatus = Vungle.getCCPAStatus();

デバイス ID の使用を制限する

Vungle Android SDK v6.4.11 以降、Google Advertising ID が利用できない場合に使用される Android ID の送信を制限できるようになりました。

// Set true to opt out for Android ID collection by SDK or false (default) to opt in
VungleSettings vungleSettings = new VungleSettings.Builder()
    .setAndroidIdOptOut(true)
    .build();
    
Vungle.init(appId, getApplicationContext(), initCallback, vungleSettings);

Google Play開発者サービスを追加する

プロジェクトに Google Play開発者サービスを追加するのは任意ですが、追加することをお勧めします。これにより、Vungle はエンド ユーザーによりカスタマイズされた広告エクスペリエンスを提供できます。当社はベースメントと ads-identifier API を含め Google Play Services v11.0.1 以降のバージョンを使用することを推奨しています。

Google Play開発者サービスを追加する場合、Google のセットアップ ガイドを参照してください。お使いのアプリで、新しいバージョンの Google Play開発者サービスがインストールされていることを確認してください。Vungle SDK は、必要に応じて、Google Play開発者サービスからの位置情報と広告 API を使用します。

  • google.android.gms:play-services-basement:16.0.0 (推奨)
  • google.android.gms:play-services-ads-identifier:16.0.0 (AAID に必須)

メソッド数の削減

Vungle Android SDK v6 をプロジェクトに追加すると、遷移的な依存関係を除き、約 700 個の主要な Vungle メソッドが追加されます。サードパーティ製ライブラリを含めて完全な統合を行うと、平均して 4000 個未満のメソッドが追加されます。プロジェクトに追加されるメソッドの合計数を減らすには、以下の推奨事項を検討してください。

  • ProGuard: ProGuard を有効にすると、プロジェクト コードのサイズを小さくすることができます。使用されていないクラスがコンパイル時に破棄されるため、メソッドの合計数を可能な限り減らすことができます。ProGuard を有効にするには、適切なビルド タイプの build.gradle 内で minifyEnabledtrue に設定し、プロジェクト内で必要なクラスを保存するためのルールを指定します。
  • MultiDex: ProGuard を使用してもまだ 65,000 個を超えるメソッドが残っている場合は、Google が提供する MultiDex を有効にする以外に方法はありません。MultiDex 用にプロジェクトを設定する必要があるのは 1 回だけですが、MultiDex を有効にすると、ビルドとアプリケーションの起動にかかる時間が長くなります。

ProGuard

ProGuard を使用する場合は、ProGuard の構成ファイルに以下のルールを追加します。

# Vungle
# Vungle
-dontwarn com.vungle.warren.downloader.DownloadRequestMediator$Status
-dontwarn com.vungle.warren.error.VungleError$ErrorCode

# Google
-dontwarn com.google.android.gms.common.GoogleApiAvailabilityLight
-dontwarn com.google.android.gms.ads.identifier.AdvertisingIdClient
-dontwarn com.google.android.gms.ads.identifier.AdvertisingIdClient$Info

# Moat SDK
-keep class com.moat.** { *; }
-dontwarn com.moat.**

# GSON
-keepattributes *Annotation*
-keepattributes Signature
# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * {
  @com.google.gson.annotations.SerializedName <fields>;
}

# OkHttp + Okio
-dontwarn javax.annotation.**
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
-dontwarn org.codehaus.mojo.animal_sniffer.*
-dontwarn okhttp3.internal.platform.ConscryptPlatform

最小ディスク領域を設定する

Vungle SDK が初期化して広告を取得する前に、ユーザーのデバイスで使用可能な領域の制限を設定するための、最小ディスク領域構成が Vungle SDK v6.4.11 で導入されました。setMinimumSpaceForInit のデフォルト値は 51 MB、setMinimumSpaceForAd は 50 MB で設定されます。サイズはバイト単位で入力します。

VungleSettings vungleSettings = new VungleSettings.Builder()
    .setMinimumSpaceForInit(51L * 1024L * 1024L)  // 51 MB
    .setMinimumSpaceForAd(50L * 1024L * 1024L)    // 50 MB
    .build();
  
Vungle.init(appId, getApplicationContext(), initCallback, vungleSettings);

ハードウェア アクセラレーション

対象となる API のレベルが 14 以上に設定されている場合、アプリケーションのハードウェア アクセラレーションがデフォルトで有効になります。Dynamic Template 広告と MREC 広告を正しく表示するには、このオプションを SDK で有効にする必要があります。このオプションがプロジェクトのアプリケーション レベルで「true」に設定されていることを確認してください。

<application android:hardwareAccelerated="true" ...>

SDK のバージョン番号を取得する

Vungle に付属している以下のコードにより、実行時にプログラム経由で SDK のバージョン番号を取得することができます (内部的な広告仲介の場合に便利です)。

com.vungle.warren.BuildConfig.VERSION_NAME

デバッグ用の例外コード

InitCallbackPlayAdCallback、および LoadAdCallback は、onError コールバックの発生時に VungleException コードを持ちます。このコードを使用してデバッグしたり、プログラムで問題を修正するためのアクションを取ることができます。

if (exception.getExceptionCode() == VungleException.VUNGLE_NOT_INTIALIZED) {
  // Call routine to initialize SDK
}
例外コード 説明
CONFIGURATION_ERROR 構成エラーが発生しました。アプリ ID と広告配置参照 ID を確認し、ネットワーク接続が利用可能なときにもう一度やり直してください。
NO_SERVE 広告サーバーにより、現在の入札用の広告が検出されませんでした。後でもう一度やり直してください。この例外は予期された動作です。
UNKNOWN_ERROR 不明なエラーが発生しました。この例外はまれなものです。
AD_EXPIRED キャッシュ内の広告が期限切れになり、再生できなくなりました。別の広告を読み込んでください。
MISSING_REQUIRED_ARGUMENTS_FOR_INIT SDK が機能するために不可欠であるため、Vungle.init() 用のすべてのパラメーターが NonNull としてマークされていることを確認してください。
APPLICATION_CONTEXT_REQUIRED SDK が Activity ライフサイクルを超えても引き続き API をサポートできるように、アプリケーション Context を提供してください。
OPERATION_ONGOING 要求されたアクションの操作はすでに進行中です。操作が完了するのを待ってから、別の操作を実行してください。
VUNGLE_NOT_INTIALIZED Vungle が初期化されていないか、初期化されなくなりました。再初期化するには Vungle.init() を呼び出してください。
AD_UNABLE_TO_PLAY 広告を再生できません。
AD_FAILED_TO_DOWNLOAD 広告のダウンロードに失敗しました。
PLACEMENT_NOT_FOUND 広告配置が無効です。
SERVER_RETRY_ERROR リモートサーバーが HTTP Retry-After で応答しました。SDK はこの要求を再試行します。

JAR 統合用の自動バックアップを構成する

API 23 以降のアプリケーションでは、「バックアップを許可」設定がデフォルトで有効になっています。このバックアップ ルールにより、Vungle SDK とアプリ自体が適切に動作するように、すべてのアプリケーション データが確実にバックアップされます。「バックアップを許可」設定を無効にしていない場合、独自のバックアップルールを指定していない場合は、追加の XML ルールを指定して、SDK ファイル システム内のどのファイルを自動バックアップから除外するかを定義する必要があります。

Vungle 除外ルール

<full-backup-content>
    <exclude domain="file" path="vungle" />
    <exclude domain="file" path="vungle_cache" />
    <exclude domain="external" path="vungle_cache" />
    <exclude domain="database" path="vungle_db" />
    <exclude domain="sharedpref" path="com.vungle.sdk.xml" />
</full-backup-content>

開発者バックアップ ルールとの Gradle 統合

  1. アプリ独自の除外ルールがある既存の .xml ファイルに Vungle SDK 除外ルールを追加します。
  2. アプリケーション レベルで置き換えられるように fullBackupContent を構成し、Vungle SDK 除外ルールを既存の .xml に追加します。

開発者バックアップ ルールとの JAR 統合

  1. Vungle 除外ルールを使用して新しい XML ファイルを作成します。
  2. .xml ファイルを res/xml ディレクトリの下に配置します。
  3. 上で作成された .xml ファイルのファイル名の AndroidManifest.xml のアプリケーション タグ内に fullBackupContent を追加します。
    <application
        android:fullBackupContent="@xml/vungle_backup_rule">

自動バックアップを無効にする

アプリにバックアップが必要ない場合は、アプリケーション タグでバックアップを無効にします。

<application 
    android:allowBackup="false" >

有効な配置広告のリスト

現在のセッションで有効なすべての広告配置参照 ID が含まれた一連の文字列を返すヘルパー メソッドを以下に示します。

public static Collection getValidPlacements()

Questions?

Need further assistance, feel free to reach out to us, we’re here to help!

この記事は役に立ちましたか?