Android SDK 統合手順

このページでは、SDK をプロジェクトと統合する方法について説明します。

さまざまな広告タイプの表示手順については、以下を参照してください。

このセクションでは、アプリに広告を表示するように SDK を設定する手順について説明します。

要件

この SDK には、Android 5.0 (Lollipop) 以降、および Android SDK バージョン 21 以降が必要です。

広告を表示するには、有効な Xandr プレースメント ID が必要です。 これは、広告を表示できるアプリのコンテキストを表す数値 ID です。

ヒント

  • Google Play フリークエンシー キャップとモバイル アプリのターゲット設定に対して Android 広告識別子 (AAID) を有効にするには、アプリの依存関係として Google Play 開発者サービスを含める必要があります。 Xandr の SDK は Google Play 開発者サービスなしでも機能しますが、これらの機能にはアクセスできません。
  • Android スタジオと Gradle これらの手順では、Android Studio と Gradle を使用していることを前提としています。 必要な AndroidManifest.xml エントリ (場所のアクセス許可を除く) と ProGuard の変更のほとんどは、自動的にアプリに追加されます。 他のビルド システムを使用している場合は、手順が異なる場合があります。

インストール

手順 1. SDK を取得する

以下に示すように、 build.gradle ファイルから Maven 経由でインストールします。

注:

  • これらは最上位ブロックであり、buildscript ブロックの一部ではありません。
  • [9,10)表記では、アプリのコンパイル時に、9.x リリース シリーズの最新バージョンの SDK が含まれます。 SDK の新しいバージョンがリリースされたときに新しいバージョンを取得するために必要なのは、アプリを再コンパイルすることだけです。 他の SDK のメディエーション アダプターをbuild.gradleに含める場合は、「Android で仲介する他のネットワークを仲介しましょう」セクションを参照してください。

警告

compile コマンドは Gradle でサポートされなくなり、実装コマンドに置き換えられました。

// Android: Gradle config to install the SDK
repositories {
    mavenCentral()
}

dependencies {
    implementation 'com.appnexus.opensdk:appnexus-sdk:[9,10)'
}
   

手順 2. アプリのアクセス許可の編集 (省略可能)

Android マニフェストを編集して、次の (省略可能だが推奨) アクセス許可を含めます。

<!-- Android: XML to include recommended permissions -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<!-- Add the permissions here... -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  • ACCESS_COARSE_LOCATION (推奨) - 基地局に基づいておおよその位置にアクセスするためのアクセス許可を SDK に付与します。
  • ACCESS_FINE_LOCATION (推奨) - GPS に基づいてより正確な位置情報にアクセスするためのアクセス許可を SDK に付与します。

ヒント

位置情報のアクセス許可によって、ユーザーに次のプロンプトが表示される必要があります。

API レベル 23 (Marshmallow) 以上では、アプリの実行時に、上記のいずれかの位置情報アクセス許可について、ダイアログでユーザーに求める必要があります。 SDK は、ユーザーの同意がある場合にのみ位置情報のアクセス許可にアクセスできます。

詳細については、Android ドキュメントの 「アクセス許可の要求 」を参照してください。

技術的には必須ではありませんが、位置情報のアクセス許可により、SDK は位置情報ベースのデータを広告主に送信できます。 一般的に、より良い位置データを送信すると、収益化が向上します。

注:

SDK が電話をスリープ解除して位置情報の更新を要求することはありません。これには時間とバッテリーがかかります。 代わりに、これらのアクセス許可を使用して、デバイスの最後の既知の場所にアクセスします。

手順 3. ProGuard の設定の編集

アプリで ProGuard を使用している場合は、ProGuard の設定を編集して、アプリから Google Play が削除されないようにする必要があります。 SDK を機能させるために Google Play は必要ありませんが、アプリのターゲット設定とフリークエンシー キャップに使用される Android 広告主 ID (AAID) にアクセスできなくなります。 プロジェクトの proguard-project.txt ファイルを編集して、以下を追加します。

### Proguard settings to support Android Advertiser ID
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {
    com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {
    java.lang.String getId();
    boolean isLimitAdTrackingEnabled();
}     

手順 4. メディエーションのセットアップ (オプション)

メディエーションのセットアップ手順については、「 Android でメディエーションを行う」を参照してください。

実装メモ: ライフサイクル コールバックの転送

SDK を使用すると、 AdView のサブクラス ( BannerAdView および InterstitialAdView) のライフサイクル コールバックを転送できます。

パフォーマンスを向上させるには、ライフサイクルのコールバックを転送することを強くお勧めします。 AdMob/DFP バナーを仲介するユーザーは、必要に応じてライフサイクル コールバックを AdMob/DFP バナーに転送する必要があるため、バナーを呼び出す必要があります。 どのメソッドをいつ呼び出すかについては、以下のコード サンプルを参照してください。

アクティビティのライフサイクルの詳細については、Android ドキュメントの 「アクティビティ ライフサイクルの管理 」を参照してください。

    /**
     * To be called by the developer when the fragment/activity's onDestroy() function is called.
     */
    abstract public void activityOnDestroy();

    /**
     * To be called by the developer when the fragment/activity's onPause() function is called.
     */
    abstract public void activityOnPause();

    /**
     * To be called by the developer when the fragment/activity's onResume() function is called.
     */
    abstract public void activityOnResume();