Skip to content
This repository has been archived by the owner on Feb 14, 2022. It is now read-only.

導入方法

nnsnico edited this page Aug 11, 2021 · 24 revisions

対応環境

カスタムイベントアダプタ MoPub SDK nendSDK Android API Level
7.1.0.1 5.18.0 7.1.0 19 以上
7.1.0.0 5.17.0 7.1.0 19 以上
7.0.3.1 5.17.0 7.0.3 19 以上
7.0.3.0 5.16.4 7.0.3 19 以上
7.0.2.0 5.16.0 7.0.2 19 以上
7.0.1.1 5.15.0 7.0.1 19 以上
7.0.1.0 5.14.0 7.0.1 19 以上
6.0.1.0 5.13.1 6.0.1 19 以上

※ MoPub SDK 5.13未満を利用される場合

導入方法

Add a Custom (Unsupported) Network の説明内容に従い、利用される広告タイプのCUSTOM EVENT CLASSCUSTOM EVENT CLASS DATAを設定します。

広告タイプ CUSTOM EVENT CLASS CUSTOM EVENT CLASS DATA
バナー net.nend.android.mopub.customevent.NendBannerCustomEvent { "spotId": Your Spot Id, "apiKey": "Your Api Key" }

※ 例)spotIdが「1234」、apiKeyが「ABCDEF」の場合は
{ "spotId": 1234, "apiKey": "ABCDEF" }
となります
インタースティシャル net.nend.android.mopub.customevent.NendInterstitialVideoCustomEvent 同上
動画リワード net.nend.android.mopub.customevent.NendRewardedVideoCustomEvent 同上
動画インタースティシャル net.nend.android.mopub.customevent.NendInterstitialVideoCustomEvent { "spotId": Your Spot Id, "apiKey": "Your Api Key", "video" : true }

nendSDKとカスタムイベントアダプタとMoPub SDKをプロジェクトに追加する

Gradleで追加する

この方法で導入した場合、nendSDKMoPub SDKへの依存関係も自動的に解決することが出来ます。

  1. build.gradleにあるrepositoriesmavenのURLを追加する
    maven {
          // nendSDK-MoPub-CustomEvent
          url 'https://fan-adn.github.io/nendSDK-Android-lib/library'
    }
    
  2. アプリのbuild.gradleにあるdependenciesへ以下の1行を追加する
    implementation 'net.nend.android:nend-custom-event-mopub:7.1.0.1'
    
    Note:
    • MoPubSDK 5.13未満を利用される場合はnend-custom-event-mopub:1.3.1をご利用ください。
    • MoPubSDK 5.9.0未満を利用される場合はnend-custom-event-mopub:1.2.4をご利用ください。
    • MoPubSDK 5.4.0未満を利用される場合はnend-custom-event-mopub:1.2.0をご利用ください。

カスタムイベントアダプタをjarファイルで追加する

  1. こちらからカスタムイベントアダプタをダウンロードします。

    Note:
    • MoPubSDK 5.13未満を利用される場合はnendMoPubCustomEvent-1.3.1.jarをご利用ください。
    • MoPubSDK 5.9.0未満を利用される場合はnendMoPubCustomEvent-1.2.4.jarをご利用ください。
    • MoPubSDK 5.4.0未満を利用される場合はnendMoPubCustomEvent-1.2.0.jarをご利用ください。
  2. app / libs ディレクトリにnendMoPubCustomEvent-x.x.x.jarファイルをコピー&ペーストで追加します。もしlibsディレクトリがない場合は、ディレクトリを作成してからnendMoPubCustomEvent-x.x.x.jarを追加してください。 x.x.xはバージョン番号となります。

    sc1

    sc2

  3. dependenciesに以下の記述を追加します。(既にある場合は追加不要です)

    dependencies {
        // ~省略~
        implementation fileTree(dir: 'libs', include: ['*.jar'])
    }
    
  4. Syncボタンをクリックします。
    sc3

  5. 次にnendSDKMoPub SDKを導入します。

カスタムネットワークSDKの初期化

SdkConfigurationを初期化する時にwithAdditionalNetworkの引数にNendAdapterConfigurationを設定します。

Kotlin
val sdkConfiguration = SdkConfiguration.Builder("your-ad-unit-id")
        .withAdditionalNetwork(NendAdapterConfiguration::class.java.name)
        .build()
MoPub.initializeSdk(this, sdkConfiguration, initMoPubSdkListener())
Java
SdkConfiguration sdkConfiguration = new SdkConfiguration.Builder("your-ad-unit-id")
        .withAdditionalNetwork(NendAdapterConfiguration.class.getName())
        .build();
MoPub.initializeSdk(this, sdkConfiguration, initMoPubSdkListener());

バナー広告の準備

Banner Adsにならい、バナー広告の使用準備を行います。

バナー広告の対応フォーマット

  • Banner (320x50)
  • Medium (300x250)
  • Leaderboard (728x90)

nendのバナーサイズの指定方法

MoPubが定義しているサイズの定数を使用するとnendが対応しているサイズと一致しない場合がありますので、上記の対応フォーマットのサイズを直接指定して下さい。

<com.mopub.mobileads.MoPubView
    android:layout_width="320dp"
    android:layout_height="50dp" />

動画リワードの準備

Rewarded Ads にならい、動画リワードの使用準備を行います。

インタースティシャル広告の準備

カスタムイベントアダプタv1.2.0から、インタースティシャル広告のカスタムイベントに対応しました。

  1. nendの動画インタースティシャルを利用する場合は、MoPub管理画面のカスタムイベントクラスの登録 でnendの動画インタースティシャル広告のspotIdapiKey、さらにvideotrueにして以下のように設定します。
    通常のnendインタースティシャル広告を利用する場合は、videoの設定は不要です。 image

  2. Interstitial Ads にならい、インタースティシャル広告の使用準備を行います。

オプション設定

以下のオプションは、動画リワードと動画インタースティシャルのみで利用可能です。

ユーザーID

アプリ内のユーザIDをセットすることでnendのユーザー管理に役立ちます。

  • カスタムイベントアダプタv1.1.0からNendInstanceMediationSettingsのコンストラクタにユーザIDを設定する方法は非推奨になりました。
  • カスタムイベントアダプタv1.2.0からNendRewardedVideoCustomEventクラスのNendInstanceMediationSettingsでユーザーIDを設定する方法は非推奨になりました。

動画リワード

Kotlin
val settings = NendMediationSettings.Builder()
        .setUserId("you user id") // ユーザーID
        .build()
MoPubRewardedAds.loadRewardedAd("your-ad-unit-id", settings)
Java
// ユーザーIDのみ利用する例
NendMediationSettings settings = new NendMediationSettings.Builder()
        .setUserId("your-user-id")  // ユーザーID
        .build();
MoPubRewardedAds.loadRewardedAd("your-ad-unit-id", settings);

動画インタースティシャル

Kotlin
private var interstitial: MoPubInterstitial? = null

...

val settings = NendMediationSettings.Builder()
        .setUserId("you user id") // ユーザーID
        .build()

interstitial = MoPubInterstitial(this, "your-ad-unit-id")
interstitial.load()        
Java
private MoPubInterstitial interstitial;

...

// ユーザーIDのみ利用する例
NendMediationSettings settings = new NendMediationSettings.Builder()
        .setUserId("your-user-id")  // ユーザーID
        .build();

interstitial = new MoPubInterstitial(this, "your-ad-unit-id");
interstitial.load();

以下のユーザー属性と一緒に設定することも可能です。

ユーザー属性

  • カスタムイベントアダプタv1.2.0からNendRewardedVideoCustomEventクラスのNendInstanceMediationSettingsでユーザー属性を設定する方法は非推奨になりました。

カスタムイベントアダプタv1.1.0から動画広告のターゲティングにユーザー属性を利用できるようになりました。
利用可能なユーザー属性は以下の通りです。

  • 性別
  • 生年月日
  • 年齢
  • その他特徴(アプリ側で自由に設定可能)

動画リワード

Kotlin
// 単一の属性を利用する例
val settings = NendMediationSettings.Builder()
        .setBirthday(2000, 1, 1) // 生年月日 (e.g. 2000年1月1日)
        .build()
MoPubRewardedAds.loadRewardedAd("your-ad-unit-id", settings)

...

// ユーザーIDと複数の属性を利用する例
val settings = NendMediationSettings.Builder()
        .setUserId("your-user-id") // ユーザーID
        .setAge(18) // 年齢
        .setBirthday(2000, 1, 1) // 生年月日 (e.g. 2000年1月1日)
        .setGender(NendMediationSettings.GENDER_MALE) // 性別
        .addCustomFeature("customIntParam", 123) // key-value形式のカスタムパラメーター
        .addCustomFeature("customDoubleParam", 123.45)
        .addCustomFeature("customStringParam", "test")
        .addCustomFeature("customBooleanParam", true)
        .build()
MoPubRewardedAds.loadRewardedAd("your-ad-unit-id", settings)
Java
// 単一の属性を利用する例
NendMediationSettings settings = new NendMediationSettings.Builder()
        .setBirthday(2000,1,1) // 生年月日 (e.g. 2000年1月1日)
        .build();
MoPubRewardedAds.loadRewardedAd("your-ad-unit-id", settings);

...

// ユーザーIDと複数の属性を利用する例
NendMediationSettings settings = new NendMediationSettings.Builder()
        .setUserId("your-user-id")  // ユーザーID
        .setAge(18) // 年齢
        .setBirthday(2000,1,1) // 生年月日 (e.g. 2000年1月1日)
        .setGender(NendMediationSettings.GENDER_MALE) // 性別
        .addCustomFeature("customIntParam", 123)  // key-value形式のカスタムパラメーター
        .addCustomFeature("customDoubleParam", 123.45)
        .addCustomFeature("customStringParam", "test")
        .addCustomFeature("customBooleanParam", true)
        .build();
MoPubRewardedAds.loadRewardedAd("your-ad-unit-id", settings);

動画インタースティシャル

Kotlin
private var interstitial: MoPubInterstitial? = null

...

// 単一の属性を利用する例
val settings = NendMediationSettings.Builder()
        .setBirthday(2000, 1, 1) // 生年月日 (e.g. 2000年1月1日)
        .build()

interstitial = MoPubInterstitial(this, "your-ad-unit-id")
interstitial.load()           
...

// ユーザーIDと複数の属性を利用する例
val settings = NendMediationSettings.Builder()
        .setUserId("your-user-id") // ユーザーID
        .setAge(18) // 年齢
        .setBirthday(2000, 1, 1) // 生年月日 (e.g. 2000年1月1日)
        .setGender(NendMediationSettings.GENDER_MALE) // 性別
        .addCustomFeature("customIntParam", 123) // key-value形式のカスタムパラメーター
        .addCustomFeature("customDoubleParam", 123.45)
        .addCustomFeature("customStringParam", "test")
        .addCustomFeature("customBooleanParam", true)
        .build()

interstitial = MoPubInterstitial(this, "your-ad-unit-id")
interstitial.load()       
Java
private MoPubInterstitial interstitial;

...

// 単一の属性を利用する例
NendMediationSettings settings = new NendMediationSettings.Builder()
        .setBirthday(2000,1,1) // 生年月日 (e.g. 2000年1月1日)
        .build();

interstitial = new MoPubInterstitial(this, "your-ad-unit-id");
interstitial.load();

...

// ユーザーIDと複数の属性を利用する例
NendMediationSettings settings = new NendMediationSettings.Builder()
        .setUserId("your-user-id")  // ユーザーID
        .setAge(18) // 年齢
        .setBirthday(2000,1,1) // 生年月日 (e.g. 2000年1月1日)
        .setGender(NendMediationSettings.GENDER_MALE) // 性別
        .addCustomFeature("customIntParam", 123)  // key-value形式のカスタムパラメーター
        .addCustomFeature("customDoubleParam", 123.45)
        .addCustomFeature("customStringParam", "test")
        .addCustomFeature("customBooleanParam", true)
        .build();

interstitial = new MoPubInterstitial(this, "your-ad-unit-id");
interstitial.load();        

位置情報の利用有無の設定

v7.1.0.0(nendSDK v7.1.0)では位置情報の取得を廃止したため利用できません

MoPub SDKでは、アプリで位置情報を利用している場合、デフォルトで広告に位置情報を利用しており、nendもそれに追従して位置情報を利用します。 MoPub.LocationAwareness.DISABLEDを設定することで、nendの位置情報の利用も無効化します。