Androidアプリ開発

Admob以外のアプリ広告配信サービス対応

この記事は約14分で読めます。
スポンサーリンク

こんにちは、まっさん(@Tera_Msaki)です。

この記事はAndroidスマホ用のアプリ開発の中で、
今後の開発で再使用性が高いと思われるコーディングをまとめたものです。
Javaでの開発経験、XML構文規則、Androidのアプリ開発経験がある方を対象としています。
Androidのアプリ開発でお役にたててれば、嬉しいです。
(これからAndroidのアプリ開発やJavaでの開発を始めたい方への案内は、記事の最後で紹介します)

◎テーマ
Admob以外のアプリ広告配信サービスを利用したい

◎ポイント

AdMob広告配信は、
無効なトラフィック問題による広告配信の制限やストックしてる広告がない場合など、
広告が配信されないことが多々あります。
広告が配信されない場合の対策として、
Admob以外のアプリ広告配信サービスを利用することが有効です。

nend

ファンコミュニケーションズ社の広告配信サービスです。

①初めて利用する場合は、メディアパートナー登録を行います。

アプリの場合は、サイトにアプリ名、サイトURLに GooglePLAY の アプリURL を入力します。
サイトの紹介は、アプリの機能などを入力します。
複数アプリがある場合は、
メディアパートナー登録後の管理画面から、
アプリ登録が可能ですので、代表的なアプリで登録すればよいと思います。

②メディアパートナー登録で審査が通れば、管理画面が使えるようになります。

管理画面にログイン後、
「広告枠の管理」タブを選択し、「広告枠作成」ボタンをクリックします。
広告枠の名前、タイプ、サイズなどを入力して、
「作成」ボタンをクリックします。
作成後、「広告枠の管理」→「広告枠」タブを選択し、
広告枠の一覧から「SDK」ボタンをクリックします。
apiKeyとspotIDが表示されるので、控えます(アプリへの組み込みで使用)

③アプリにSDKを組み込みます。

SDKの組み込み方法として、
サイトからSDKをダウンロードする方法と、
build.gradleのリポジトリに追加する方法があります。
SDKバージョンアップなどで入れ替えを考えると
build.gradleのリポジトリに追加する方が利便性がよいと思います。

◎build.gradle(プロジェクト)

	:
allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url "https://jitpack.io" }

	:
        maven { url "https://fan-adn.github.io/nendSDK-Android-lib/library" }
    }
}
	:

◎build.gradle(モジュール)

	:
dependencies {
	:

    implementation 'net.nend.android:nend-sdk:8.0.1'
}

◎レイアウトXML(activity_main.xml)

<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:nendsdk="http://schemas.android.com/apk/res-auto"

	:
    <net.nend.android.NendAdView
        android:id="@+id/nend"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="invisible"
        nendsdk:NendApiKey="@string/apiKey"
        nendsdk:NendSpotId="@string/spotID"
        nendsdk:NendAdjustSize="true"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

※apiKeyやspotIDは、strings.xmlに定義します。
 NendAdjustSizeはバナー広告の横サイズの自動調整です

◎Java 制御部分のコーディング(MainActivity.java)

    private NendAdView		nendAdView;
	:

    @Override
    protected void onResume() {
	:

     	//nend広告
     	if (nendAdView != null) {
            nendAdView.resume();
     	} else {
            nendAdView = findViewById(R.id.nend);
     	}
     	nendAdView.setVisibility(View.VISIBLE);
    }

i-mobile Ad Network

アイモバイル社の広告配信サービスです。

①初めて利用する場合は、アドネットワーク メディア・開発者 新規申込を行います。

アプリの場合は、サイトにアプリ名、サイトの説明紹介は、アプリの機能などを入力します。
複数アプリがある場合は、
アドネットワーク メディア・開発者 新規申込後の管理画面から、
アプリ登録が可能ですので、代表的なアプリで登録すればよいと思います。

②アドネットワーク メディア・開発者 新規申込で審査が通れば、管理画面が使えるようになります。

管理画面にログイン後、「サイト/アプリ管理」タブを選択し、
アプリ一覧から「広告スポット」リンクをクリックします。
広告スポット管理の「新規広告スポット」ボタンをクリックします。
広告スポット名、広告スポットサイズなどを入力して、「新規登録」ボタンをクリックします。
作成後、広告スポットの一覧から「アプリ設定取得」ボタンをクリックします。
IMOBILE_BANNER_PIDとIMOBILE_BANNER_MIDとIMOBILE_BANNER_SIDのコードが表示されるので、
控えます(アプリへの組み込みで使用)

③管理画面から、SDKをダウンロードします。

管理画面の「SDKダウンロード」タブを選択し、
「android」ボタンをクリックしSDKをダウンロードします。
zip形式ファイルを解凍して、
imobileSdkAds.jarをAndoridStudioのプロジェクトフォルダ配下の\app\libsに格納します。

アプリにSDKを組み込みます。

AndoridStudioでプロジェクトを開き、左ペインのツリー表示をプロジェクトに変更します。
\app\libsのimobileSdkAds.jarを右クリックし、「ライブラリとして追加…」を選択します。

◎build.gradle(モジュール)

	:
dependencies {
	:

    implementation files('libs/imobileSdkAds.jar')
}

◎レイアウトXML(activity_main.xml)

	:
    <jp.co.imobile.sdkads.android.ImobileInlineView
        android:id="@+id/imobile"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="invisible"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        pid="@string/IMOBILE_BANNER_PID" mid="@string/IMOBILE_BANNER_MID" sid="@string/IMOBILE_BANNER_SID" />

※IMOBILE_BANNER_PIDやIMOBILE_BANNER_MIDやIMOBILE_BANNER_SIDは、strings.xmlに定義します

◎Java 制御部分のコーディング(MainActivity.java)

    private ImobileInlineView           imobileInlineView;
	:

    @Override
    protected void onResume() {
        super.onResume();
	:

        //i-mobile広告
        imobileInlineView = findViewById(R.id.imobile);
        ImobileSdkAd.registerSpotInline(this, context.getString(R.string.IMOBILE_BANNER_PID), context.getString(R.string.IMOBILE_BANNER_MID), context.getString(R.string.IMOBILE_BANNER_SID));
        ImobileSdkAd.setImobileSdkAdListener(context.getString(R.string.IMOBILE_BANNER_SID),new ImobileSdkAdListener(){
            @Override
            public void onAdReadyCompleted() {
                //広告の表示準備が完了した際に呼び出されます
            }
            @Override
            public void onAdShowCompleted() {
                //広告が表示された際に呼び出されます
            }
            @Override
            public void onAdCliclkCompleted() {
                //広告がクリックされた際に呼び出されます
            }
            @Override
            public void onAdCloseCompleted() {
                // 広告が閉じられた際に呼び出されます
            }
            @Override
            public void onFailed(FailNotificationReason reason) {
                // 広告の取得に失敗した際に呼び出されます。
                // (reasonには、失敗理由が設定されます)
            }
        });
        ImobileSdkAd.start(context.getString(R.string.IMOBILE_BANNER_SID));
        ImobileSdkAd.showAd(this, context.getString(R.string.IMOBILE_BANNER_SID), imobileInlineView, true);
	:

        //i-mobile広告
        if (imobileInlineView != null) imobileInlineView.setVisibility(View.VISIBLE);

※IMOBILE_BANNER_PIDやIMOBILE_BANNER_MIDやIMOBILE_BANNER_SIDは、strings.xmlに定義します

ブログランキング・にほんブログ村へ

これからAndroidのアプリ開発やJavaでの開発を始めたい方へ

初めてのAndroidのアプリ開発では、アプリケーション開発経験がない方や、
アプリケーション開発経験がある方でも、JavaやC#などのオブジェクト指向言語が初めての方は、
書籍などによる独学ではアプリ開発できるようになるには、
かなりの時間がかかりますので、オンラインスクールでの習得をおススメします。

コメント欄

タイトルとURLをコピーしました