Skip to content
This repository has been archived by the owner on Apr 5, 2024. It is now read-only.

アイコン型広告_実装手順

fan-w-suzuki edited this page May 15, 2019 · 33 revisions

事前準備

まだ広告枠作成、SDKダウンロードを行っていない場合、下記リンク先を参照してください。

SDKの組み込み

プロジェクトにSDKを追加していない場合、以下の方法でSDKを追加してください。

広告サイズについて

表示する広告サイズについては以下を参照してください。

アイコン型広告の実装手順

アイコンを横(もしくは縦)に並べて表示する場合

ここでは最も簡単な実装方法として、横(もしくは縦)にアイコンを並べて表示する方法を説明します。

image

1) XML レイアウトファイルで配置する場合

ここではレイアウトファイルを用いて、アイコン広告の表示を行う場合の方法を説明します。 付属の NendSample プロジェクト内の『IconLayoutActivity』『IconResourceActivity』と同様です。

重要

バージョン5.0.0以降のSDKでは必ずレイアウトxmlにて 名前空間(xmlns)を定義して各Attributeへ値をセットしてください。

該当する画面の XML レイアウトファイル内に『net.nend.android.NendAdIconLayout』の タグを追加します。 NendIconCount に表示するアイコンの個数(最大 6)、NendApiKey に『apiKey』、 NendSpotId に『spotID』の値をそれぞれ挿入してください。
※NendIconCount に 7 以上の数値を設定しても、6 として処理が行われます。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:nendsdk="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <net.nend.android.NendAdIconLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        nendsdk:NendIconCount="4"
        nendsdk:NendApiKey="[発行された apiKey]"
        nendsdk:NendSpotId="[発行された spotID]" />
</RelativeLayout>

これだけでアイコン広告の表示が可能です。 上記の例では、画面上部にアイコン 4 個を横並びに表示しています。

Resourceファイルを使用して設定

NendIconCount は@integer、NendApiKey は@string、NendSpotId は@integerで定義してください。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:nendsdk="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <net.nend.android.NendAdIconLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        nendsdk:NendIconCount="@integer/リソースファイルに設定したID"
        nendsdk:NendApiKey="@string/リソースファイルに設定したID"
        nendsdk:NendSpotId="@integer/リソースファイルに設定したID" />
</RelativeLayout>

2) プログラムから動的に呼び出す場合

ここではプログラムのみで、アイコン広告の表示を行う場合の方法を説明します。

広告を表示するだけの基本的な実装例になります。

  1. spotID と apiKey、アイコン数を指定して、NendAdIconLayout を生成
  2. loadAd メソッドを実行し、広告取得を開始する。
  3. レイアウトに追加する。
Kotlin
class IconLayoutActivity : AppCompatActivity() {

    public override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.icon_layout)

        val rootLayout = findViewById(R.id.root)

        // 1 spotID と apiKey、アイコン数を指定して、NendAdIconLayout を生成
        val iconLayout = NendAdIconLayout(applicationContext, [発行された spotID], "[発行された apiKey]", [表示するアイコンの個数])
        // 2 loadAd メソッドを実行し、広告取得を開始する
        iconLayout.loadAd()
        // 3 レイアウトに追加する。
        rootLayout.addView(iconLayout)
    }
}
Java
public class IconLayoutActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.icon_layout);

        RelativeLayout rootLayout = findViewById(R.id.root);

        // 1 spotID と apiKey、アイコン数を指定して、NendAdIconLayout を生成
        NendAdIconLayout iconLayout = new NendAdIconLayout(getApplicationContext(), [発行された spotID], "[発行された apiKey]", [表示するアイコンの個数]);
        // 2 loadAd メソッドを実行し、広告取得を開始する
        iconLayout.loadAd();
        // 3 レイアウトに追加する。
        rootLayout.addView(iconLayout);
    }
}

3) 方向指定

アイコンの並ぶ方向を指定する場合は、horizontal(デフォルト)もしくは vertical を指定します。

プログラムで設定

Kotlin
val iconLayout = NendAdIconLayout(applicationContext, [発行された spotID], "[発行された apiKey]", [表示するアイコンの個数])
iconLayout.setIconOrientation(NendAdIconLayout.VERTICAL)
Java
NendAdIconLayout iconLayout = new NendAdIconLayout(getApplicationContext(), [発行された spotID], "[発行された apiKey]", [表示するアイコンの個数]);
iconLayout.setIconOrientation(NendAdIconLayout.VERTICAL);

XML レイアウトファイルで設定

<net.nend.android.NendAdIconLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    nendsdk:NendIconCount="[表示するアイコンの個数]"
    nendsdk:NendApiKey="[発行された apiKey]"
    nendsdk:NendSpotId="[発行された spotID]"
    nendsdk:NendOrientation="vertical" />

4) イベントリスナ

下記のように、必要に応じて NendAdIconLayout にリスナを登録することで、通知を受けることが出来ます。

Kotlin
val iconLayout = NendAdIconLayout(applicationContext, [発行された spotID], "[発行された apiKey]", [表示するアイコンの個数])

// 受信成功通知
iconLayout.setOnReceiveListener { iconView ->
    // 通知元のアイコンによって処理を変える場合
    when (iconView.id) {
        R.id.icon1 -> {
            // Do something
        }
        R.id.icon2 -> {
            // Do something
        }
        R.id.icon3 -> {
            // Do something
        }
        R.id.icon4 -> {
            // Do something
        }
    }
    Toast.makeText(applicationContext, "Received", Toast.LENGTH_SHORT).show()
}

// クリック通知
iconLayout.setOnClickListener {
    Toast.makeText(applicationContext, "Clicked", Toast.LENGTH_SHORT).show()
}

// インフォメーションボタンクリック通知
iconLayout.setOnInformationClickListener {
    Toast.makeText(applicationContext, "Clicked Information", Toast.LENGTH_SHORT).show()
}

// エラー通知
iconLayout.setOnFailedListener {
    Toast.makeText(applicationContext, "Failed", Toast.LENGTH_SHORT).show()
}
Java
NendAdIconLayout iconLayout = new NendAdIconLayout(getApplicationContext(), [発行された spotID], "[発行された apiKey]", [表示するアイコンの個数]);

// 受信成功通知
iconLayout.setOnReceiveListener(new OnReceiveListener() {
    @Override
    public void onReceiveAd(NendAdIconView iconView) {
        // 通知元のアイコンによって処理を変える場合
        switch(iconView.getId()){
        case R.id.icon1:
            // Do something
            break;
        case R.id.icon2:
            // Do something
            break;
        case R.id.icon3:
            // Do something
            break;
        case R.id.icon4:
            // Do something
            break;
        }
        Toast.makeText(getApplicationContext(), "Received", Toast.LENGTH_SHORT).show();
    }
});

// クリック通知
iconLayout.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(NendAdIconView iconView) {
        Toast.makeText(getApplicationContext(), "Clicked", Toast.LENGTH_SHORT).show();
    }
});

// インフォメーションボタンクリック通知
iconLayout.setOnInformationClickListener(new OnInformationClickListener() {
    @Override
    public void onClickInformation(NendAdIconView iconView) {
        Toast.makeText(getApplicationContext(), "Clicked Information", Toast.LENGTH_SHORT).show();
    }
});

// エラー通知
iconLayout.setOnFailedListener(new OnFailedListener() {
    @Override
    public void onFailedToReceiveAd(NendIconError iconError) {
        Toast.makeText(getApplicationContext(), "Failed", Toast.LENGTH_SHORT).show();
    }
});

5) タイトル文字列の設定

アイコン下部に表示されるタイトル文字列に対して、次のように設定を行うことが出来ます。
※設定した内容が全てのアイコンに適用されます。

・表示/非表示設定

表示する場合は true(デフォルト)、非表示にする場合は false を設定します。

プログラムで設定

Kotlin
val iconLayout = NendAdIconLayout(applicationContext, [発行された spotID], "[発行された apiKey]", [表示するアイコンの個数])
iconLayout.setTitleVisible(false)
Java
NendAdIconLayout iconLayout = new NendAdIconLayout(getApplicationContext(), [発行された spotID], "[発行された apiKey]", [表示するアイコンの個数]);
iconLayout.setTitleVisible(false);

XML レイアウトファイルで設定

<net.nend.android.NendAdIconLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    nendsdk:NendIconCount="[表示するアイコンの個数]"
    nendsdk:NendApiKey="[発行された apiKey]"
    nendsdk:NendSpotId="[発行された spotID]"
    nendsdk:NendTitleVisible="false" />
・文字色設定

デフォルトの文字色は黒になります。

プログラムで設定

Kotlin
val iconLayout = NendAdIconLayout(applicationContext, [発行された spotID], "[発行された apiKey]", [表示するアイコンの個数])
iconLayout.setTitleColor(Color.WHITE)
// iconLayout.setTitleColor(Color.parseColor("#FFFFFF"))
Java
NendAdIconLayout iconLayout = new NendAdIconLayout(getApplicationContext(), [発行された spotID], "[発行された apiKey]", [表示するアイコンの個数]);
iconView.setTitleColor(Color.WHITE);
// iconView.setTitleColor(Color.parseColor(“#FFFFFF”));

XML レイアウトファイルで設定

<net.nend.android.NendAdIconLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    nendsdk:NendIconCount="[表示するアイコンの個数]"
    nendsdk:NendApiKey="[発行された apiKey]"
    nendsdk:NendSpotId="[発行された spotID]"
    nendsdk:NendTitleColor="#FFFFFF" /> <!-- #rrggbb 形式で指定 -->

Resourceファイルを使用して設定
@colorで定義してください。

<net.nend.android.NendAdIconLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    nendsdk:NendIconCount="[表示するアイコンの個数]"
    nendsdk:NendApiKey="[発行された apiKey]"
    nendsdk:NendSpotId="[発行された spotID]"
    nendsdk:NendTitleColor="@color/リソースファイルに設定したID" />

6) 余白の設定

アイコンの余白に対して、次のように有効/無効の設定を行うことができます。 余白を有効にする場合は true(デフォルト)、無効にする場合は false を設定します。

※タイトル文字列を表示する場合は、横の余白のみ上記の設定が適用されます。

プログラムで設定

Kotlin
val iconLayout = NendAdIconLayout(applicationContext, [発行された spotID], "[発行された apiKey]", [表示するアイコンの個数])
iconLayout.setIconSpaceEnabled(false)
Java
NendAdIconLayout iconLayout = new NendAdIconLayout(getApplicationContext(), [発行された spotID], "[発行された apiKey]", [表示するアイコンの個数]);
iconLayout.setIconSpaceEnabled(false);

XML レイアウトファイルで設定

<net.nend.android.NendAdIconLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    nendsdk:NendIconCount="[表示するアイコンの個数]"
    nendsdk:NendApiKey="[発行された apiKey]"
    nendsdk:NendSpotId="[発行された spotID]"
    nendsdk:NendIconSpaceEnabled="false" />

アイコンを 1 個ずつ個別に扱う場合

1) XML レイアウトファイルで配置する場合

ここではレイアウトファイルを用いて、アイコン広告の表示を行う場合の方法を説明します。

以下のような手順で実装を行います。

  1. 表示する個数分 NendAdIconView を生成し、任意の位置に配置する。
  2. NendAdIconLoader を生成し、1で作成した NendAdIconView を登録する。
  3. NendAdIconLoader の loadAd メソッドを実行し、広告取得を開始する。

NendAdIconView の配置
該当する画面の XML レイアウトファイル内に必要な個数分の 『net.nend.android.NendAdIconView』のタグを追加します。 以下の例では、画面の 4 隅にアイコンを配置しています。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:nendsdk="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <net.nend.android.NendAdIconView
        android:id="@+id/icon1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <net.nend.android.NendAdIconView
        android:id="@+id/icon2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight=”true” />
    <net.nend.android.NendAdIconView
        android:id="@+id/icon3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom=”true” />
    <net.nend.android.NendAdIconView
        android:id="@+id/icon4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom=”true”
        android:layout_alignParentRight=”true” />
</RelativeLayout>

サイズは「wrap_content」を指定した場合は、デフォルトサイズ(75dp)に設定されます。 (サイズには余白とタイトル文字列の描画領域が含まれます。) 任意の大きさを指定することが可能ですが、極端に大きいサイズや認識出来ないほど小さいサイズで表示している場合、正常な広告表示としてカウントされない場合があります。

NendAdIconLoader の生成と NendAdIconView の登録
広告を表示するだけの基本的な実装例になります。

  1. XML レイアウトファイルで配置した NendAdIconView を取得
  2. spotID と apiKey を指定して、NendAdIconLoader を生成
  3. NendAdIconLoader に NendAdIconView を全て登録
  4. loadAd メソッドを実行し、広告取得を開始する。
Kotlin
class IconActivity : Activity() {

    private lateinit var iconLoader: NendAdIconLoader
    private lateinit var iconView1: NendAdIconView
    private lateinit var iconView2: NendAdIconView
    private lateinit var iconView3: NendAdIconView
    private lateinit var iconView4: NendAdIconView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.icon)

        // 1 XML レイアウトファイルで配置した NendAdIconView を取得
        iconView1 = findViewById(R.id.icon1)
        iconView2 = findViewById(R.id.icon2)
        iconView3 = findViewById(R.id.icon3)
        iconView4 = findViewById(R.id.icon4)

        // 2 spotID と apiKey を指定して、NendAdIconLoader を生成
        iconLoader = NendAdIconLoader(applicationContext, [発行された spotID], "[発行された apiKey]")

        // 3 NendAdIconLoader に NendAdIconView を全て登録
        iconLoader.addIconView(iconView1)
        iconLoader.addIconView(iconView2)
        iconLoader.addIconView(iconView3)
        iconLoader.addIconView(iconView4)    

        // 4 広告取得を開始
        iconLoader.loadAd()
    }

    override fun onResume() {
        super.onResume()
        iconLoader.resume()
    }

    override fun onPause() {
        super.onPause()
        iconLoader.pause()
    }
}
Java
public class IconActivity extends Activity {

    private NendAdIconLoader mIconLoader;
    private NendAdIconView mIconView1;
    private NendAdIconView mIconView2;
    private NendAdIconView mIconView3;
    private NendAdIconView mIconView4;

    @Override
    protected void onCreate(BundlesavedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.icon);

        // 1 XML レイアウトファイルで配置した NendAdIconView を取得
        mIconView1 = findViewById(R.id.icon1);
        mIconView2 = findViewById(R.id.icon2);
        mIconView3 = findViewById(R.id.icon3);
        mIconView4 = findViewById(R.id.icon4);

        // 2 spotID と apiKey を指定して、NendAdIconLoader を生成
        mIconLoader = new NendAdIconLoader(getApplicationContext(), [発行された spotID], "[発行された apiKey]");

        // 3 NendAdIconLoader に NendAdIconView を全て登録
        mIconLoader.addIconView(mIconView1);
        mIconLoader.addIconView(mIconView2);
        mIconLoader.addIconView(mIconView3);
        mIconLoader.addIconView(mIconView4);

        // 4 広告取得を開始
        mIconLoader.loadAd();
    }
    @Override
    protected void onResume() {
        super.onResume();
        mIconLoader.resume();
    }
    @Override
    protected void onPause() {
        super.onPause();
        mIconLoader.pause();
    }
}

2) プログラムから動的に呼び出す場合

ここではプログラムのみでアイコン広告の表示を行う場合の方法を説明します。 付属の NendSample プロジェクト内の『IconJavaCallActivity』『IconNoXmlActivity』と同様です。 XML レイアウトファイルで配置していた NendAdIconView を、プログラムで インスタンス化するように変更するだけです。

Kotlin
iconView1 = NendAdIconView(applicationContext)
iconView2 = NendAdIconView(applicationContext)
iconView3 = NendAdIconView(applicationContext)
iconView4 = NendAdIconView(applicationContext)
Java
mIconView1 = new NendAdIconView(getApplicationContext());
mIconView2 = new NendAdIconView(getApplicationContext());
mIconView3 = new NendAdIconView(getApplicationContext());
mIconView4 = new NendAdIconView(getApplicationContext());

3) アイコンの個数について

1 つの NendAdIconLoader に登録出来るアイコンの数は 6 個までになります。
7 個目以上は登録を行っても無視されます。

Kotlin
iconLoader = NendAdIconLoader(applicationContext, [発行された spotID], "[発行された apiKey]")
iconLoader.addIconView(iconView1)
iconLoader.addIconView(iconView2)
iconLoader.addIconView(iconView3)
iconLoader.addIconView(iconView4)
iconLoader.addIconView(iconView5)
iconLoader.addIconView(iconView6)
iconLoader.addIconView(iconView7) // 登録自体は可能ですが、広告表示は行われません
Java
mIconLoader = new NendAdIconLoader(getApplicationContext(), [発行された spotID], "[発行された apiKey]");  
mIconLoader.addIconView(mIconView1);
mIconLoader.addIconView(mIconView2);
mIconLoader.addIconView(mIconView3);
mIconLoader.addIconView(mIconView4);
mIconLoader.addIconView(mIconView5);
mIconLoader.addIconView(mIconView6);
mIconLoader.addIconView(mIconView7); // 登録自体は可能ですが、広告表示は行われません

4) イベントリスナ

下記のように、必要に応じて NendAdIconLoader にリスナを登録することで、 通知を受けることが出来ます。 どのアイコンからの通知であるかは、NendAdIconView の ID で判別が可能です。

Kotlin
iconLoader = NendAdIconLoader(applicationContext, [発行された spotID], "[発行された apiKey]")
iconLoader.addIconView(iconView1)
iconLoader.addIconView(iconView2)
iconLoader.addIconView(iconView3)
iconLoader.addIconView(iconView4)
iconLoader.loadAd()

// 受信成功通知
iconLoader.setOnReceiveListener { iconView ->
    // 通知元のアイコンによって処理を変える場合
    when (iconView.id) {
        R.id.icon1 -> {
            // Do something
        }
        R.id.icon2 -> {
            // Do something
        }
        R.id.icon3 -> {
            // Do something
        }
        R.id.icon4 -> {
            // Do something
        }
    }
    Toast.makeText(applicationContext, "Received", Toast.LENGTH_SHORT).show()
}

// クリック通知
iconLoader.setOnClickListener {
    Toast.makeText(applicationContext, "Clicked", Toast.LENGTH_SHORT).show()
}

// インフォメーションボタンクリック通知
iconLoader.setOnInformationClickListener {
     Toast.makeText(applicationContext, "Clicked information", Toast.LENGTH_SHORT).show()
}

// エラー通知
iconLoader.setOnFailedListener {
    Toast.makeText(applicationContext, "Failed", Toast.LENGTH_SHORT).show()
}
Java
mIconLoader = new NendAdIconLoader(getApplicationContext(), [発行された spotID], "[発行された apiKey]");
mIconLoader.addIconView(mIconView1);
mIconLoader.addIconView(mIconView2);
mIconLoader.addIconView(mIconView3);
mIconLoader.addIconView(mIconView4);
mIconLoader.loadAd();

// 受信成功通知
mIconLoader.setOnReceiveListener(new OnReceiveListener() {
    @Override
        public void onReceiveAd(NendAdIconView iconView) {
        // 通知元のアイコンによって処理を変える場合
        switch(iconView.getId()){
        case R.id.icon1:
            // Do something
            break;
        case R.id.icon2:
            // Do something
            break;
        case R.id.icon3:
            // Do something
            break;
        case R.id.icon4:
            // Do something
            break;
        }
        Toast.makeText(getApplicationContext(), "Received", Toast.LENGTH_SHORT).show();
    }
});

// クリック通知
mIconLoader.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(NendAdIconView iconView) {
        Toast.makeText(getApplicationContext(), "Clicked", Toast.LENGTH_SHORT).show();
    }
});

// インフォメーションボタンクリック通知
mIconLoader.setOnInformationClickListener(new OnInformationClickListener() {
    @Override
    public void onClickInformation(NendAdIconView iconView) {
        Toast.makeText(getApplicationContext(), "Clicked Information", Toast.LENGTH_SHORT).show();
    }
});

// エラー通知
mIconLoader.setOnFailedListener(new OnFailedListener() {
    @Override
    public void onFailedToReceiveAd(NendIconError iconError) {
        Toast.makeText(getApplicationContext(), "Failed", Toast.LENGTH_SHORT).show();
    }
});

5) タイトル文字列の設定

アイコン下部に表示されるタイトル文字列に対して、次のように設定を行うことが出来ます。

・表示/非表示設定

表示する場合は true(デフォルト)、非表示にする場合は false を設定します。

プログラムで設定

Kotlin
val iconView = NendAdIconView(applicationContext)
iconView.setTitleVisible(false)
Java
NendAdIconView iconView = new NendAdIconView(getApplicationContext());
iconView.setTitleVisible(false);

XML レイアウトファイルで設定

<net.nend.android.NendAdIconView
    android:id="@+id/icon1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    nendsdk:NendTitleVisible="false" />
・文字色設定

デフォルトの文字色は黒になります。

プログラムで設定

Kotlin
val iconView = NendAdIconView(applicationContext)
iconView.setTitleColor(Color.WHITE)
// iconView.setTitleColor(Color.parseColor("#FFFFFF"))
Java
NendAdIconView iconView = new NendAdIconView(getApplicationContext());
iconView.setTitleColor(Color.WHITE);
// iconView.setTitleColor(Color.parseColor(“#FFFFFF”));

XML レイアウトファイルで設定

<net.nend.android.NendAdIconView
    android:id="@+id/icon1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    nendsdk:NendTitleColor="#FFFFFF" /> <!-- #rrggbb 形式で指定 -->

Resourceファイルを使用して設定
@colorで定義してください。

<net.nend.android.NendAdIconView
    android:id="@+id/icon1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    nendsdk:NendTitleColor="@color/リソースファイルに設定したID"” />

6) 余白の設定

アイコンの余白に対して、次のように有効/無効の設定を行うことができます。

余白を有効にする場合は true(デフォルト)、無効にする場合は false を設定します。
※タイトル文字列を表示する場合は、横の余白のみ上記の設定が適用されます。

プログラムで設定

Kotlin
val iconView = NendAdIconView(applicationContext)
iconView.setIconSpaceEnabled(false)
Java
NendAdIconView iconView = new NendAdIconView(getApplicationContext());
iconView.setIconSpaceEnabled(false);

XML レイアウトファイルで設定

<net.nend.android.NendAdIconView
    android:id="@+id/icon1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    nendsdk:NendIconSpaceEnabled="false" />

受信エラー通知について

受信エラー通知でエラー内容を取得出来ます。 エラー内容によって処理を分ける必要がある場合は、以下のように実装してください。 NendIconError から getNendError メソッドで NendError オブジェクトを取得できます。 NendError からはエラーコードとエラーメッセージを取得出来ます。

Kotlin
override fun onFailedToReceiveAd(iconError: NendIconError) {
    val nendError = iconError.nendError
    when (nendError) {
        NendAdView.NendError.INVALID_RESPONSE_TYPE -> {
            // 不明な広告ビュータイプ
        }
        NendAdView.NendError.FAILED_AD_DOWNLOAD -> {
            // 広告画像の取得失敗
        }
        NendAdView.NendError.FAILED_AD_REQUEST -> {
            // 広告取得失敗
        }
        NendAdView.NendError.AD_SIZE_TOO_LARGE -> {
            // 広告サイズがディスプレイサイズよりも大きい
        }
        NendAdView.NendError.AD_SIZE_DIFFERENCES -> {
            // リクエストしたサイズと取得したサイズが異なる
        }
    }
    // エラーメッセージをログに出力
    Log.e(TAG, nendError.message)
}
Java
@Override
public void onFailedToReceiveAd(NendIconError iconError) {
    NendError nendError = iconError.getNendError();
    switch (nendError) {
    case INVALID_RESPONSE_TYPE:
        // 不明な広告ビュータイプ
        break;
    case FAILED_AD_DOWNLOAD:
        // 広告画像の取得失敗
        break;
    case FAILED_AD_REQUEST:
        // 広告取得失敗
        break;
    case AD_SIZE_TOO_LARGE:
        // 広告サイズがディスプレイサイズよりも大きい
        break;
    case AD_SIZE_DIFFERENCES:
        // リクエストしたサイズと取得したサイズが異なる
        break;
    }
    // エラーメッセージをログに出力
    Log.e(TAG, nendError.getMessage());
}

定期ロードについて

アイコン広告がバックグラウンドに回るなど、広告の表示が必要ないと判断した場合には、 広告受信ローテーションを自動的に停止させます。 それ以外で任意にローテーションを中断させたい場合には、以下のメソッドを利用してください。

NendAdIconLoader 使用時

Kotlin
// ローテーション再開
iconLoader.resume()
// ローテーション停止
iconLoader.pause()
Java
// ローテーション再開
mIconLoader.resume();
// ローテーション停止
mIconLoader.pause();

NendAdIconLayout 使用時

Kotlin
// ローテーション再開
iconLayout.resume()
// ローテーション停止
iconLayout.pause()
Java
// ローテーション再開
mIconLayout.resume();
// ローテーション停止
mIconLayout.pause();

注意:手動での中断が優先になります。手動で中断させている間は、広告が乗った画面が最前面に表示されて も、ローテーションは再開されません。手動でローテーションを中断した場合は、必ず手動でローテーションを再開するようにしてください。

検証

日本語

nendSDK Android について

SDKの組み込み

広告の表示

ログ出力

導入サポート


English

About nendSDK Android

SDK Implementation

Display Ads

Logs Output

Supports

Clone this wiki locally