コンテンツにスキップ

Android

Adiz Android

Adiz Androidは、AdMobが提供する広告露出機能をより簡単に利用できるように、Hiveが提供するAndroid用の広告モジュールです。Adiz Androidが提供する広告の種類は次のとおりです:

  • インタースティシャル広告
  • バナー広告
  • ネイティブ広告
  • 報酬型広告
  • 報酬型インタースティシャル広告
  • アプリオープン広告

Adiz Androidをインストールして使用するには、以下のガイドを順番に参照してください。

インストール

アプリレベルのGradleファイル(app/build.gradle)にAdizライブラリのエントリを追加します。

    dependencies {
        implementation 'com.com2us.android.adiz:hive-adiz:2.1.1'
    }
 

Java 8の機能をサポートするには、モジュールのアプリレベルのGradleファイルのandroid設定の下に以下を追加してください。

android {
    // ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

 

AndroidManifest.xmlファイルに、AdMobId(形式はca-app-pub-XXXXX~YYYYY)を入力します。

<manifest>
    <application>
    <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>
 

Proguardを使用する際、AdizモジュールのProGuardルールが含まれています。したがって、プロジェクトにProGuardルールを追加する必要はありません。

 

動画広告を表示するには、ハードウェアアクセラレーションを有効にする必要があります。ハードウェアアクセラレーションの設定をAndroidManifest.xmlファイルに追加します。applicationタグに追加すると、アプリ全体に対してハードウェアアクセラレーションが有効になります。activityタグに追加すると、広告を表示したい特定のActivityのみでハードウェアアクセラレーションが有効になります。

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
</application>

テスト広告設定

Adizは2つの方法でテスト広告を表示できます。

  • テストモードを有効にする: AdMobによって発行されたテスト広告のみが表示されます
  • テストデバイスを登録した後に広告を表示する: テストのために実際の広告を表示し、無効なトラフィックが発生しないようにし、テスト広告を表示するデバイスを登録して進めます

テストモードを有効にする

開発段階では、テストモードを有効にして、テスト広告をクリックしても広告主に料金が発生しないようにします。テストモードが有効になると、テスト広告のみが表示されます。テストモードでは、コンソールにAdMob広告キーを入力しなくてもテスト広告が表示されます。商業配信中はテストモードを無効にしてください。

テストモードをアクティブにする方法は2つあります。

  • Hiveコンソールにテストデバイスを登録した後、デモ広告で設定してください(推奨):
    コンソールガイドのTest Device Managementセクションを参照してください。
  • AdizクラスのsetTestMode()メソッドを使用します:
    以下のサンプルコードを参照してください。
Note

テストモードでない開発段階では、広告への過剰なクリックが無効なトラフィックと見なされる可能性があり、あなたのAdMobアカウントが報告され、広告が表示されなくなることがあります。

Adiz.setTestMode() メソッドの使用

import com.hive.adiz.Adiz
import com.hive.adiz.AdizError

import org.json.JSONException
import org.json.JSONObject

// テストモードを有効にします。商業配布の場合は、以下の行をコメントアウトしてください。
Adiz.setTestMode(true)

// Hive Adizモジュールのログ記録を有効にします。ログ記録はテストモードでのみ使用するべきです。商業配布のために以下の行をコメントアウトしてください。
Adiz.setLogEnable(true)
import com.hive.adiz.Adiz;
import com.hive.adiz.AdizError;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import org.json.JSONArray;
import org.json.JSONObject;
import java.util.ArrayList;

// テストモードを有効にします。商業配布のためには以下の行をコメントアウトしてください。
Adiz.setTestMode(true);

// Hive Adizモジュールのログを有効にします。ログはテストモードでのみ使用するべきです。商業配布の場合は以下の行をコメントアウトしてください。
Adiz.setLogEnable(true);

テストデバイスの広告露出

次の状況では、テスト広告を表示するためにテストデバイスを登録する必要があります。

  • コンソールに登録されたAdMob広告キーが正しく機能しているかテストする場合
  • GDPRメッセージを作成し、GDPR同意ポップアップが正しく機能しているか確認する場合
  • 広告リクエストを分析およびデバッグするために広告インスペクターを実行する場合

    <

テストデバイスに広告を表示する方法は2つあります。

  • テストデバイスをHiveコンソールに登録した後、広告ユニットIDを使用に設定してください(推奨):
    コンソールガイドのTest Device Managementセクションを参照してください。

  • AdizクラスのsetTestDevice()メソッドを使用します:
    以下の例のコードを参照してください。

Note

実際の広告を表示するテストを行う際にテストデバイスを登録せずに行うと、無効なトラフィックと見なされる可能性があり、その結果、あなたのAdMobアカウントがブロックされ、広告が表示されなくなります。テストデバイスを登録すると、広告表示中に「テストモード」または「テスト広告」(ネイティブ広告)が表示されます。商業配信中はテストデバイスを無効にする必要があります。


バナー、インタースティシャル広告、または報酬広告


ネイティブ広告


Adiz.setTestDevice() メソッドの使用

テストデバイスを登録するには、まずテストデバイスIDを確認する必要があります。テストデバイスID(例: 33BE2250B43518CCDA7DE426D04EE231)は、以下の2つの方法で確認できます。

  • Adiz.Initialize()を呼び出した後にLogcatログを確認してください:

    新しいものを使用します
    ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231")を使用して、これをデバッグデバイスとして設定します。
    
  • Adiz.Initialize()を呼び出した後、広告の種類に関係なく、initialize()load()を呼び出し、Logcatログを確認してください:

    I/Ads: このデバイスでテスト広告を取得するには、RequestConfiguration.Builder.setTestDeviceIds(Arrays.asList("33BE2250B43518CCDA7DE426D04EE231")) を使用してください。
    


テストデバイスIDを確認した後、既存のAdiz初期化コードでAdiz.initializeを実行する前にAdiz.setTestDevice(DEVICE_ID)の行を追加します。コピーしたテストデバイスIDをDEVICE_IDに入力してください。

import com.hive.Adiz
import com.hive.adiz.AdizError
import org.json.JSONObject


fun initialize() {

        Adiz.setTestDevice("33BE2250B43518CCDA7DE426D04EE231")

        Adiz.initialize(activity, object : Adiz.SdkInitializationListener {
                override fun onComplete(error: AdizError, jsonData: JSONObject?) {
                        // ... omitted
                }
        })
}
import com.hive.Adiz;
import com.hive.adiz.AdizError;
import org.json.JSONObject;


public void initialize() {

        Adiz.setTestDevice("33BE2250B43518CCDA7DE426D04EE231");

        Adiz.initialize(activity, new Adiz.SdkInitializationListener() {
                @Override
                public void onComplete(@NonNull AdizError error, @Nullable JSONObject jsonData) {

                        if(error.isSuccess()) {
                                // ... omitted
                        }
                }
        });
}


import com.hive.Adiz;
import com.hive.adiz.AdizError;
import org.json.JSONObject;


public void initialize() {

        Adiz.setTestDevice("33BE2250B43518CCDA7DE426D04EE231");

        Adiz.initialize(activity, new Adiz.SdkInitializationListener() {
                @Override
                public void onComplete(@NonNull AdizError error, @Nullable JSONObject jsonData) {

                        if(error.isSuccess()) {
                                // ... omitted
                        }
                }
        });
}


広告インスペクターの使用

広告インスペクターは、テストデバイス上で実際の広告をリクエストして表示するプロセスをリアルタイムで分析するアプリ内オーバーレイツールです。広告の読み込みにかかる時間を通知し、広告が表示されない場合はその理由を提供します。また、特定の広告ネットワークを指定して、広告が正しく表示されているか確認することもでき、問題がある場合はコードレベルでデバッグできます。このプロセス全体は、広告インスペクターUIとともに実施されます。これは、Google Mobile Ads SDK バージョン 20.0.0 以上に含まれており、AdizDeveloperTool.openAdInspectorを呼び出すことで使用できます。


広告インスペクターを使用するには、テストデバイスでの広告露出を設定する必要があります。

import com.hive.adiz.utils.AdizDeveloperTool

AdizDeveloperTool.openAdInspector(activity)
import com.hive.adiz.utils.AdizDeveloperTool;

AdizDeveloperTool.openAdInspector(activity);


Adiz AppID設定

コンソールAppCenterに登録されたAdiz AppIDを設定します。設定されていない場合は、AndroidManifest.xmlパッケージ名が使用されます。

Adiz.setAppId("YOUR_APPID")
Adiz.setAppId("YOUR_APPID");

Hive コンソールサーバー設定

Hive コンソールサーバーを使用するように設定します。デフォルトは REAL です。プロダクションサーバーを使用していても、テストモードを有効にするとテスト広告のみが表示されます。

  • Hive テストコンソールサーバー: ZoneType.TEST
  • Hive サンドボックスコンソールサーバー: ZoneType.SANDBOX
  • Hive プロダクションコンソールサーバー: ZoneType.REAL
Adiz.setZone(AdizConfiguration.ZoneType.REAL)
Adiz.setZone(AdizConfiguration.ZoneType.REAL);

ゲームがヨーロッパとイギリス(EEAおよびUK)を対象とする場合、GDPR(一般データ保護規則)同意ポップアップを表示する必要があります。GDPR同意ポップアップは、ユーザーのデバイスのIPアドレスがヨーロッパおよびイギリス(EEAおよびUK)からの場合にのみ表示されます。Adizは、Google UMP(ユーザーメッセージングプラットフォーム)を通じてGDPR同意ポップアップの表示をサポートしています。AdMobコンソールでGDPRメッセージを作成した後、Adizを初期化して、ヨーロッパおよびイギリスからアクセスするユーザーにGDPRポップアップを表示します。

Warning

ヨーロッパおよび英国以外の地域をターゲットにしている場合、たとえば国内のみでサービスを提供する予定の場合は、GDPR同意ポップアップの表示(ヨーロッパ、英国)ステップをスキップし、Adiz.initializeForNonGDPR()メソッドを使用して初期化を進めることができます。
Adiz.initialize()メソッドを使用して初期化する場合は、Adizの初期化が正常に進行するために、AdMobコンソールにGDPRメッセージを書く必要があります。

GDPRメッセージの作成

Google AdMobコンソールにアクセスして、GDPRメッセージを作成します。GDPRメッセージを書く前に、GDPRメッセージ作成ガイドを参照してください。

GDPRメッセージを作成した場合、Adizが初期化されるとGDPR同意ポップアップが自動的に表示されます。

GDPR同意/撤回機能の実装

GDPR同意ポップアップの項目は、ユーザーがいつでも同意状況を変更できるように修正機能を提供する必要があります。たとえば、ユーザーは最初はGDPRに同意しないかもしれませんが、後でパーソナライズされた広告を見るために再度同意したいと思うかもしれません。または、逆に、ユーザーは最初はGDPRに同意していたが、もはや個人情報を提供したくないために同意を撤回したいと思うかもしれません。これらの状況に対処するために、アプリ開発者は各項目に再同意するか、既存の同意を撤回する機能を実装する必要があります。GDPR同意/撤回機能を実装するには、以下の手順に従ってください。

  1. アプリにGDPR同意ポップアップを再読み込みできるボタンUIを実装します。
  2. Adizの初期化を実装する際、isPrivacyOptionsRequired()を呼び出して、ヨーロッパおよび英国からアクセスするユーザーにボタンUIを表示し、それ以外のユーザーには表示しないようにします。ヨーロッパまたは英国のユーザーがボタンをクリックした場合、showPrivacyOptionsFormを呼び出してGDPR同意ポップアップを再読み込みします。これにより、ユーザーはアプリ内の「オプションを管理」などのボタンを押すことで、いつでもGDPRの詳細に対する同意を変更できます。以下のshowPrivacyOptionsFormは、例示目的で任意に実装されたメソッドであり、開発者は必要に応じて実装を変更できます。
    import com.hive.Adiz
    import com.hive.adiz.AdizError
    import com.hive.AdizConsentManager
    import org.json.JSONObject

    fun initialize() {
            // ...
            Adiz.initialize(activity, object : Adiz.SdkInitializationListener {
                    override fun onComplete(error: AdizError, jsonData: JSONObject?) {

                            if(error.isSuccess) {
                                    // ... omitted
                                    // GDPR同意ポップアップを再表示するためにアプリにボタンを表示するかどうかを決定します
                                    var isPrivacyOptionsRequired = AdizConsentManager.isPrivacyOptionsRequired()
                                    if(isPrivacyOptionsRequired) {
                                            // アプリにボタンを表示します。(ボタンがクリックされると、showPrivacyOptionsForm()が呼び出されてGDPR同意ポップアップが表示されます)
                                            showGDPRConsentPopupButton()
                                    } else {
                                            // アプリにボタンを表示しません。
                                            // アプリが望む他の処理。
                                    }
                            }
                    }
            })
    }


    fun showPrivacyOptionsForm(activity: Activity) {

            // GDPR同意オプションフォームの呼び出し
            if(AdizConsentManager.isPrivacyOptionsRequired()) {
                    AdizConsentManager.showPrivacyOptionsForm(activity, object : AdizConsentManager.ConsentListener {
                            override fun onResult(error: AdizError) {
                                    addLog("AdizConsentManager.showPrivacyOptionsForm() errorCode : ${error.getCode()}, errorMessage : ${error.getMessage()}}\n")
                                    // エラーハンドリングは必要ありません。
                            }
                    })
            }
    }
    import com.hive.adiz.Adiz;
    import com.hive.adiz.AdizError;
    import com.hive.AdizConsentManager;
    import org.json.JSONObject;


    public void initialize() {
Adiz.initialize(activity, new Adiz.SdkInitializationListener() {
    @Override
    public void onComplete(@NonNull AdizError error, @Nullable JSONObject jsonData) {

        if(error.isSuccess()) {
            // ... 省略
            // GDPR同意ポップアップを再表示するためにアプリにボタンを表示するかどうかを決定
            boolean isPrivacyOptionsRequired = AdizConsentManager.isPrivacyOptionsRequired();
            if(isPrivacyOptionsRequired) {
                // アプリにボタンを表示します。(ボタンがクリックされるとGDPR同意ポップアップを表示するためにshowPrivacyOptionsForm()を呼び出します)
                showGDPRConsentPopupButton();
            } else {
                // アプリにボタンを表示しません。
                // アプリが望む他の処理。
            }
        }
    }
    });
    }


    public void showPrivacyOptionsForm(Activity activity) {
            // Call GDPR consent options form
            if(AdizConsentManager.isPrivacyOptionsRequired()) {
                    AdizConsentManager.showPrivacyOptionsForm(activity, new AdizConsentManager.ConsentListener() {
                            @Override
                            public void onResult(@NonNull AdizError error) {
                                    // No need to do any error handling.
                            }
                    });
            }
    }

GDPR同意年齢未満のユーザーのためのタグ設定 (TFUA)

同意年齢未満のタグ(TFUA)を使用して、広告リクエストを行う際に、欧州経済領域(EEA)、英国、スイスに居住するユーザーを限定的なデータ処理の対象として扱うことができます。子供を対象としたアプリの場合、AdizConsentManager.setUserPrivacySettingsを使用してユーザーを同意年齢未満として設定できます。欧州各国にはいくつかの違いがありますが、GDPRでは親の同意が必要な年齢を16歳未満と定義しています。同意年齢未満の設定は、Adiz.initializeを実行する前に構成する必要があります。

Warning

setTagForUnderAgeOfConsent タグをGDPR同意年齢のために、setTagForChildDirectedTreatment 設定をCOPPAの子供たちのために同時に true に設定すると、COPPAの子供たち設定 setTagForChildDirectedTreatment が優先されるため、両方を true に設定して使用しないでください。

Note

Hive SDK v4 24.2.0 以上と Adiz 2.0.1 以上を使用する場合、Hive SDK からの同意年齢設定が同意年齢未満のユーザーに自動的に適用されるため、AdizConsentManager.setUserPrivacySettings を呼び出す必要はありません。

 

import com.hive.Adiz
import com.hive.adiz.AdizError
import com.hive.adiz.consent.PrivacySettings
import org.json.JSONObject

fun initialize() {

        val isUnderAgeForGDPR = false // 子供の場合はtrueに変更してください

        val settings = PrivacySettings.Builder()
                .setTagForUnderAgeOfConsent(isUnderAgeForGDPR)
                .build()
        AdizConsentManager.setUserPrivacySettings(settings)

        Adiz.initialize(activity, object : Adiz.SdkInitializationListener {
                override fun onComplete(error: AdizError, jsonData: JSONObject?) {
                        // ... omitted
                }
        })
}
import com.hive.Adiz;
import com.hive.adiz.AdizError;
import com.hive.adiz.consent.PrivacySettings;
import org.json.JSONObject;


public void initialize() {

        boolean isUnderAgeForGDPR = false; // 子供の場合はtrueに変更してください

        PrivacySettings settings = new PrivacySettings.Builder()
                        .setTagForUnderAgeOfConsent(isUnderAgeForGDPR)
                        .build();
        AdizConsentManager.setUserPrivacySettings(settings);

        Adiz.initialize(activity, new Adiz.SdkInitializationListener() {
                @Override
                public void onComplete(@NonNull AdizError error, @Nullable JSONObject jsonData) {

                        if(error.isSuccess()) {
                                // ... omitted
                        }
                }
        });
}

GDPRテストデバイスの設定

GDPR同意ポップアップは、デバイスのIPアドレスがヨーロッパまたは英国からの場合にのみ表示されます。開発段階では、GDPR同意ポップアップをIPアドレスに関係なく強制的に表示させることができ、ポップアップの表示をテストすることができます。これを行うには、GDPRテストデバイスを設定する必要があります。Hiveコンソールでテストデバイスを設定すると、テストが簡単になります。 setTestDeviceメソッドを使用して設定する方法は以下の通りで、テストデバイスでの広告表示と同じです。

  1. Adizを初期化して初期化します。これはテストデバイスIDを確認するための初期化であり、GDPR同意メッセージを書く必要はありません。
  2. デバイスIDを確認するメッセージがあるかどうか、logcatの出力を確認します。以下は例のメッセージです。

    Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.
    
  3. デバイスIDのメッセージを確認します(例:33BE2250B43518CCDA7DE426D04EE231)。
  4. デバイスIDをコピーします。
  5. 既存のAdiz初期化コード内でAdizGDPRManager.setTestDevice(DEVICE_ID)Adiz.initializeを実行する前に追加します。
  6. GDPR同意メッセージを書くと、GDPR同意ポップアップが正しく表示されることを確認するためにAdizを再初期化します。
import com.hive.Adiz
import com.hive.adiz.AdizError
import org.json.JSONObject


fun initialize() {

        Adiz.setTestDevice("33BE2250B43518CCDA7DE426D04EE231")

        Adiz.initialize(activity, object : Adiz.SdkInitializationListener {
                override fun onComplete(error: AdizError, jsonData: JSONObject?) {
                        // ... omitted
                }
        })
}
import com.hive.Adiz;
import com.hive.adiz.AdizError;
import org.json.JSONObject;


public void initialize() {

        Adiz.setTestDevice("33BE2250B43518CCDA7DE426D04EE231");

        Adiz.initialize(activity, new Adiz.SdkInitializationListener() {
                @Override
                public void onComplete(@NonNull AdizError error, @Nullable JSONObject jsonData) {

                        if(error.isSuccess()) {
                                // ... omitted
                        }
                }
        });
}

COPPA子供ターゲティングタグ設定

子供のオンラインプライバシー保護法(COPPA)に従い、アプリ開発者は広告リクエストを行う際に、Googleがコンテンツを子供向けとして扱うべきかどうかを、子供ターゲティングタグ(tagForChildDirectedTreatment、TFCD)を設定することで指定できます。子供向けとして扱われることを希望する場合は、AdizConsentManager.setUserPrivacySettingsを呼び出してからAdiz.initializeを実行する必要があります。AdizをHive SDKと併用する場合、子供ターゲティングタグは自動的に適用されるため、別途設定は必要ありません。

import com.hive.Adiz
import com.hive.adiz.AdizError
import com.hive.adiz.consent.PrivacySettings
import org.json.JSONObject

fun initialize() {

        val isChildDirectedTreatmentForCOPPA = false // 子供向けの場合はtrueに変更してください

        val settings = PrivacySettings.Builder()
                .setTagForChildDirectedTreatment(isChildDirectedTreatmentForCOPPA)
                .build()
        AdizConsentManager.setUserPrivacySettings(settings)

        Adiz.initialize(activity, object : Adiz.SdkInitializationListener {
                override fun onComplete(error: AdizError, jsonData: JSONObject?) {
                        // ... omitted
                }
        })
}
import com.hive.Adiz;
import com.hive.adiz.AdizError;
import com.hive.adiz.consent.PrivacySettings;
import org.json.JSONObject;


public void initialize() {

        boolean isChildDirectedTreatmentForCOPPA = false; // 子供向けの場合はtrueに変更してください

        PrivacySettings settings = new PrivacySettings.Builder()
                        .setTagForChildDirectedTreatment(isChildDirectedTreatmentForCOPPA)
                        .build();
        AdizConsentManager.setUserPrivacySettings(settings);

        Adiz.initialize(activity, new Adiz.SdkInitializationListener() {
                @Override
                public void onComplete(@NonNull AdizError error, @Nullable JSONObject jsonData) {

                        if(error.isSuccess()) {
                                // ... omitted
                        }
                }
        });
}

広告仲介を追加

AdizはAdMob仲介を使用して広告を表示できます。AdMob仲介を追加するには、以下の手順に従ってください。

AdMobメディエーションの追加

AdMobコンソールで広告ソースの統合を進めます。以下の表に従って進んでください。

AppLovin Liftoff Monetize Meta Audience Network Pangle Unity Ads
ステップ 1 AppLovinの設定を行う Pangleの設定を行う Unity Adsの設定を行う Liftoff Monetizeの設定を行う Meta Audience Networkの設定を行う
ステップ 2 AdMobにAppLovin広告ソースを追加する AdMobにLiftoff Monetize広告ソースを追加する AdMobにMeta Audience Network広告ソースを追加する AdMobにPangle広告ソースを追加する AdMobにUnity Ads広告ソースを追加する
ステップ 3 Adizアダプターを追加する

Adizアダプターの追加

アプリレベルのbuild.gradleにライブラリ依存関係を追加します。

dependencies {
    // ... (생략)

    implementation 'com.com2us.android.adiz:hive-adiz:2.1.1' // Common (required addition) 

    implementation 'com.com2us.android.adiz:hive-adiz-adapter-applovin:2.1.1' // Add when integrating AppLovin
    implementation 'com.com2us.android.adiz:hive-adiz-adapter-pangle:2.1.1' // Add when integrating Pangle
    implementation 'com.com2us.android.adiz:hive-adiz-adapter-unityads:2.1.1' // Add when integrating Unity Ads
    implementation 'com.com2us.android.adiz:hive-adiz-adapter-meta:2.1.1' // Add when integrating Meta
}

 

Pangleを統合する際は、以下の設定を追加してください。Gradle 7.0以上を使用している場合は、プロジェクトレベルのsettings.gradledependencyResolutionManagementセクションにrepository設定を追加してください。

// When using Gradle 7.0 or higher, configure settings.gradle

dependencyResolutionManagement {
    repositories {
        maven { url 'https://artifact.bytedance.com/repository/pangle/' } // Add when integrating Pangle
    }
}

 

Gradleのバージョンが7.0未満の場合、プロジェクトレベルのbuild.gradleファイルのallprojectsセクションにrepository設定を追加してください。

// Configuration for build.gradle when using Gradle below 7.0

allprojects {
    repositories {
        maven {
            url 'https://artifact.bytedance.com/repository/pangle' // Add when integrating Pangle
        }

    }
}

 

Adizアダプターの設定が正しく適用されていることを確認するには、アプリを実行し、Ad Inspector画面の設定リストを確認してください。

Adizの初期化

これは、広告の種類を表示する前に実行しなければならない必須のステップです。Adizを初期化することで、広告を表示するために必要な広告キーを受け取ります。テストモードの場合は、テストキーを受け取ります。Hive SDKを使用している場合は、AuthV4.setupを呼び出した後にAdizの初期化を進めてください。

val sdkInitializationListener = object : Adiz.SdkInitializationListener {
    override fun onComplete(error: AdizError, jsonData: JSONObject?) {
        Log.d(TAG, "Adiz initialize complete. error code : ${error.getCode()}, message : ${error.getMessage()}, data : $jsonData")
        if(error.isSuccess) {
            if(jsonData != null) {

                var interstitialKeyList = ArrayList<String>()
                var bannerKeyList = ArrayList<String>()
                var nativeKeyList = ArrayList<String>()
                var rewardedKeyList = ArrayList<String>()
                var rewardedInterstitialKeyList = ArrayList<String>()
                var appOpenKeyList = ArrayList<String>()

                try {
                    var keysArr = jsonData.getJSONArray("keys")
                    for (i in 0 until keysArr.length()) {
                        var unit = keysArr.optJSONObject(i)

                        // ゲーム内で広告キーを直接入力した場合、is_defaultがfalseであるキーのリストを構築する例です。
                        if (unit.optBoolean("is_default").not()) {

                            var hiveAdKey = unit.optString("key")
                            when (unit.optString("form")) {
                                "interstitial" -> interstitialKeyList.add(hiveAdKey)
                                "banner" -> bannerKeyList.add(hiveAdKey)
                                "native" -> nativeKeyList.add(hiveAdKey)
                                "rewarded" -> rewardedKeyList.add(hiveAdKey)
                                "rewarded_interstitial" -> rewardedInterstitialKeyList.add(hiveAdKey)
                                "app_open" -> appOpenKeyList.add(hiveAdKey)
                            }
                        }
                    }

                    println("interstitialKeyList $interstitialKeyList")
                    println("bannerKeyList $bannerKeyList")
                    println("nativeKeyList $nativeKeyList")
                    println("rewardedKeyList $rewardedKeyList")
                    println("rewardedInterstitialKeyList $rewardedInterstitialKeyList")
                    println("appOpenKeyList $appOpenKeyList")

                } catch (e: JSONException) {
                    //...
                }
            }
        }
    }
}

fun initAdiz() {
    // 一般的な初期化
    Adiz.initialize(activity, sdkInitializationListener)
}

fun initAdizForNonGDPR() {
    // GDPR準拠が考慮されていない場合
    Adiz.initializeForNonGDPR(activity, sdkInitializationListener)
}
Adiz.SdkInitializationListener sdkInitializationListener = new Adiz.SdkInitializationListener() {
    @Override
    public void onComplete(@NonNull AdizError error, @Nullable JSONObject jsonData) {

        if(error.isSuccess()) {
            if(jsonData != null) {
                ArrayList interstitialKeyList = new ArrayList<String>();
                ArrayList bannerKeyList = new ArrayList<String>();
                ArrayList nativeKeyList = new ArrayList<String>();
                ArrayList rewardedKeyList = new ArrayList<String>();
                ArrayList rewardedInterstitialKeyList = new ArrayList<String>();
                ArrayList appOpenKeyList = new ArrayList<String>();

                試してみてください {
                    JSONArray keysArr = jsonData.optJSONArray("keys");
                    for(int i = 0; i < keysArr.length(); i++) {
                        JSONObject unit = keysArr.optJSONObject(i);

                        if(unit.optBoolean("is_default") == false) {
                            String hiveAdKey = unit.optString("key");
                            String form = unit.optString("form");
                            switch (form) {
                                case "interstitial":
                                    interstitialKeyList.add(hiveAdKey);
                                    break;
                                case "banner":
                                    bannerKeyList.add(hiveAdKey);
                                    break;
                                case "native":
                                    nativeKeyList.add(hiveAdKey);
                                    break;
                                case "rewarded":
                                    rewardedKeyList.add(hiveAdKey);
                                    break;
                                case "rewarded_interstitial":
                                    rewardedInterstitialKeyList.add(hiveAdKey);
                                    break;
                                case "app_open":
                                    appOpenKeyList.add(hiveAdKey);
                                    break;
                            }
                        }
                    }

                    System.out.println("interstitialKeyList " + interstitialKeyList);
                    System.out.println("bannerKeyList " + bannerKeyList);
                    System.out.println("nativeKeyList " + nativeKeyList);
                    System.out.println("rewardedKeyList " + rewardedKeyList);
                    System.out.println("rewardedInterstitialKeyList " + rewardedInterstitialKeyList);
                    System.out.println("appOpenKeyList " + appOpenKeyList);

                } catch (Exception e) {

                }
            }
        }
    }
};

void initAdiz() {
    // 一般的な初期化
    Adiz.initialize(activity, sdkInitializationListener);
}

void initAdizForNonGDPR() {
    // GDPRに対する応答がない場合
    Adiz.initializeForNonGDPR(activity, sdkInitializationListener);
}

 

初期化中にコールバックとして受信したJSONファイルには、広告キーのリストが含まれています。広告キーのリストは以下の形式です。

    {
        "keys":[
            {
                "mediation_id":5,
                "key":"ca-app-pub-3940256099942544/5354046379",
                "form":"rewarded_interstitial",
                "is_default":true,
                "placement_id":"lobby01"
            },
            {
                "mediation_id":4,
                "key":"ca-app-pub-3940256099942544/5224354917",
                "form":"rewarded",
                "is_default":true,
                "placement_id":"game02"
            },
            {
                "mediation_id":3,
                "key":"ca-app-pub-3940256099942544/2247696110",
                "form":"native",
                "is_default":true,
                "placement_id":"event01"
            },
            {
                "mediation_id":1,
                "key":"ca-app-pub-3940256099942544/1033173712",
                "form":"interstitial",
                "is_default":true,
                "placement_id":"mission01"
            },
            {
                "mediation_id":2,
                "key":"ca-app-pub-3940256099942544/6300978111",
                "form":"banner",
                "is_default":true,
                "placement_id":"main01"
            },
            {
                "mediation_id":6,
                "key":"ca-app-pub-3940256099942544/9257395921",
                "form":"app_open",
                "is_default":true,
                "placement_id":"appopen01"
            }
        ]
    }

 

テストモードで初期化すると、Hive コンソールにAdMob広告キーを登録していなくても、テスト広告キーのリストが受け取れます。プロダクションモードで初期化すると、Hive コンソールに登録されたAdMob広告キーのリストが受け取れます。

各種類の広告(form)について、1つの広告がデフォルト広告"is_default":trueの広告)として使用されます。任意のタイプの最初の広告が登録されると、その広告がデフォルト広告になります。デフォルト広告を作成する際には、広告インスタンス(initialize())を作成する際に広告キー(hiveAdKey)を入力する必要はありません。デフォルト広告を変更するには、既存のデフォルト広告をHiveコンソールから削除し、新しい広告を登録する必要があります。

広告コールバックリスナーの設定

各広告インスタンスを作成する際にAdizListenerを実装することで、広告のステータスの変更に基づいてコールバックを受け取ることができます。

名前 説明 必要な実装
onLoad() 広告の読み込み成功 O
onFail(error: AdizError) 失敗(失敗の理由はerror.getCode()およびerror.getMessage()で確認できます) O
onShow() 広告の表示成功 O
onClick() 広告のクリック O
onPaidEvent(adRevenueData: AdRevenueData) 広告表示後に有料イベントを受信した時点で、広告収益情報が伝達されます O
onClose() 広告の終了
  • 広告が終了した後、同じ広告インスタンスを再表示するには、load()を再度呼び出し、その後show()を呼び出す必要があります。
  • 広告を表示しないようにするには、destroy()を呼び出して広告インスタンスを削除します。
X
onRewarded(rewardItem: RewardItem) 報酬型広告(rewardedrewarded interstitial)で広告表示後にユーザーが報酬を受け取る時点 X
var adizListener = object : AdizListener() {
    override fun onLoad() {
        // 広告が読み込まれたときに呼び出されます。
        // 広告の読み込みが成功した場合、広告インスタンスの.show()を表示したいポイントで呼び出す必要があります。
    }

    override fun onFail(loadError: AdizError) {
        // 広告の読み込みに失敗した場合や、他の理由で広告の表示に失敗した場合に呼び出されます。
    }

    override fun onShow() {
        // 広告が表示されたときに呼ばれます。
    }

    override fun onClick() {
        // 広告がクリックされたときに呼ばれます。
    }

    override fun onPaidEvent(adRevenueData: AdRevenueData) {     
        // 広告の収益が生成されたときに呼び出されます。

        var revenue = adRevenueData.revenue // 広告表示時の収益
        var currency = adRevenueData.currency // 広告表示時の収益の通貨コード     
    }

    override fun onClose() {
        // 広告が閉じられたときに呼び出されます。
        // バナー、ネイティブ広告にはonCloseコールバックがありません。
    }

    override fun onRewarded(rewardItem: RewardItem) {         
        // 広告を視聴した際に報酬が作成されたときに呼び出されます。
        var itemType = rewardItem.itemType // 報酬アイテムの種類
        var itemAmount = rewardItem.itemAmount // 報酬アイテムの数量   
    } 
}
AdizListener adizListener = new AdizListener() {
    @Override
    public void onLoad() {
        // 広告が読み込まれたときに呼び出されます。
        // 広告の読み込みが成功した場合、広告を表示するために必要なポイントで広告インスタンスの .show() を呼び出す必要があります。
    }

    @Override
    public void onFail(@NonNull AdizError loadError) {
        // 広告の読み込みが失敗した場合、または他の理由で広告の表示が失敗した場合に呼び出されます。
    }

    @Override
    public void onShow() {
        // 広告が表示されたときに呼び出されます。
    }

    @Override
    public void onClick() {
        // 広告がクリックされたときに呼び出されます。
    }

    @Override
    public void onPaidEvent(@NonNull AdRevenueData adRevenueData) {         
        double revenue = adRevenueData.getRevenue(); // 広告表示時の収益
        String currency = adRevenueData.getCurrency(); // 広告表示時の収益の通貨コード      
    }

    @Override
    public void onClose() {
        // 広告が閉じられたときに呼び出されます。
        // バナー、ネイティブ広告には閉じるボタンがないため、onCloseコールバックはありません。
    }

    @Override
    public void onRewarded(@NonNull RewardItem rewardItem) {
        // 広告を視聴した際に報酬が発生したときに呼び出されます。
        String rewardType = rewardItem.getItemType(); // 報酬アイテムのタイプ
        int rewardAmount = rewardItem.getItemAmount(); // 報酬アイテムの数量
    }
};

エラーコード

Adiz.Initialize および AdizListeneronFail() を受信した場合、AdizError のエラーコードとエラーメッセージは次のとおりです。

共通コード

番号 ケース 説明
0 成功 成功

Adizエラーコード

番号 ケース 説明
-1 InvalidParam 無効なパラメータ
-2 NotSupported サポートされていません
-3 InProgress 処理中
-4 Network ネットワークエラー
-5 NeedInitialize 初期化が必要です
-6 ResponseFail 応答に失敗しました
-7 Timeout ネットワークタイムアウト
-99 Unknown 不明なエラー

広告プラットフォームエラーコード

番号 ケース 説明
-101 NeedLoad 広告が読み込まれませんでした
-102 NeedReload 広告の表示時間が切れたため、再読み込みが必要です
-103 NotEnoughInventory 仲介の応答は成功しましたが、在庫不足のため広告が充填されませんでした
-104 MissingAppId 仲介リクエストのAppIDエラー
-105 InternalNetworkError 仲介ネットワーク関連のエラー
-106 InvalidUnitId 無効なユニットID
-107 MediationNoFill 仲介アダプタが広告リクエストを処理できませんでした
-108 AlreadyLoaded すでに読み込み状態です
-109 CannotRequestAds 広告をリクエストできません
-201 GdprConsentError GDPR同意エラー
-202 IsNotPrivacyOptionsRequired GDPR同意ポップアップを表示できないか、表示する必要がない状態です

広告の表示と広告の終了

広告を表示し、終了するには、次の手順に従ってください。

  1. 表示したい広告の種類ごとに広告クラスで広告インスタンスを作成します。表示したい広告がデフォルト広告でない場合は、初期化から取得した広告キーまたは配置IDを入力する必要があります。
    広告キー(hiveAdKey)または配置ID(placementId)を入力しない場合、デフォルト広告インスタンスが作成されます。配置IDはHiveコンソールで設定でき、詳細についてはコンソールガイドのAdmob設定ページを参照してください。
  2. 表示したい広告を読み込みます(load())。
  3. 読み込んだ広告を表示します(show())。広告を再表示するには、再度load()を呼び出し、その後show()を呼び出します。
  4. 広告を閉じるには、destroy()を呼び出します。

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

画面全体を占めるフルスクリーン広告です。

import android.app.Activity
import android.os.Bundle
import com.hive.adiz.AdizError
import com.hive.adiz.AdizListener
import com.hive.adiz.base.AdizInterstitial
import com.hive.adiz.common.AdRevenueData

class InterstitialExample : Activity() {

    var interstitialAd: AdizInterstitial? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // ...

        // requestInitAd(this)
    }

    val adizListener = object : AdizListener() {
        override fun onLoad() {
            // requestShowAd()
        }

        override fun onFail(loadError: AdizError) {
            var code = loadError.getCode() // error code
            var message = loadError.getMessage() // error message
        }

        override fun onShow() {
            //
        }

        override fun onClick() {
            //
        }

        override fun onPaidEvent(adRevenueData: AdRevenueData) {
            var revenue = adRevenueData.revenue // 広告が表示されたときの収益
            var currency = adRevenueData.currency // 広告が表示されたときの収益の通貨コード
        }

        override fun onClose() {
            // requestDestroyAd()
        }
    }

    fun requestInitAd(activity: Activity, hiveAdKey: String? = null) {

        if(hiveAdKey.isNullOrEmpty()) {
            // インタースティシャル広告のインスタンスを作成します。
            interstitialAd = AdizInterstitial.initialize(activity, adizListener)
        } else {
            // hiveAdKeyを入力してインタースティシャル広告のインスタンスを作成できます。
            interstitialAd = AdizInterstitial.initialize(activity, hiveAdKey, adizListener)
        }

        // requestLoadAd()
    }

    fun requestInitAdWithPlacementid(activity: Activity, placementId: String? = null) {

        if(placementId.isNullOrEmpty()) {
            // インタースティシャル広告インスタンスを作成します。
            interstitialAd = AdizInterstitial.initialize(activity, adizListener)
        } else {
            // placementIdを入力することでインタースティシャル広告インスタンスを作成できます。
            interstitialAd = AdizInterstitial.initializeWithPlacementId(activity, placementId, adizListener)
        }

        // requestLoadAd()
    }

    fun requestLoadAd() {
        // インタースティシャル広告を読み込む。
        interstitialAd?.let { 
            if(it.isInitialized()) it.load()
        }
    }

    fun requestShowAd() {
        // インタースティシャル広告を表示します。
        interstitialAd?.let { 
            if(it.isLoaded()) it.show()
        }
    }

    fun requestDestroyAd() {
        // インタースティシャル広告を削除します。
        interstitialAd?.destroy()
    }
}
import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.hive.adiz.AdizError;
import com.hive.adiz.AdizListener;
import com.hive.adiz.base.AdizInterstitial;
import com.hive.adiz.common.AdRevenueData;

public class InterstitialExample extends Activity {

    AdizInterstitial interstitialAd = null;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //...

        // requestInitAd(this, null);
    }

    AdizListener adizListener = new AdizListener() {
        @Override
        public void onLoad() {
            // requestShowAd();
        }

        @Override
        public void onFail(@NonNull AdizError loadError) {
            int code = loadError.getCode(); // error code
            String message = loadError.getMessage(); // error message
        }

        @Override
        public void onShow() {

        }

        @Override
        public void onClick() {
            //
        }

        @Override
        public void onClose() {
            // requestDestroyAd();
        }

        @Override
        public void onPaidEvent(@NonNull AdRevenueData adRevenueData) {
            double revenue = adRevenueData.getRevenue(); // 広告が表示されたときの収益
            String currency = adRevenueData.getCurrency(); // 広告が表示されたときの収益の通貨コード
        }
    };

    public void requestInitAd(Activity activity, String hiveAdKey) {

        if(TextUtils.isEmpty(hiveAdKey)) {
            // インタースティシャル広告インスタンスを作成します。
            interstitialAd = AdizInterstitial.initialize(activity, adizListener);
        } else {
            // hiveAdKeyを入力することでインタースティシャル広告インスタンスを作成できます。
            interstitialAd = AdizInterstitial.initialize(activity, hiveAdKey, adizListener);
        }

        // requestLoadAd();
    }

    public void requestInitAdWithPlacementId(Activity activity, String placementId) {

        if(TextUtils.isEmpty(placementId)) {
            // インタースティシャル広告インスタンスを作成します。
            interstitialAd = AdizInterstitial.initialize(activity, adizListener);
        } else {
            // placementIdを入力することでインタースティシャル広告インスタンスを作成できます。
            interstitialAd = AdizInterstitial.initializeWithPlacementId(activity, placementId, adizListener);
        }

        // requestLoadAd();
    }

    private void requestLoadAd() {
        // インタースティシャル広告を読み込む。
        if(interstitialAd != null && interstitialAd.isInitialized()) interstitialAd.load();
    }

    private void  requestShowAd() {
        // インタースティシャル広告を表示します。
        if(interstitialAd != null && interstitialAd.isLoaded()) interstitialAd.show();
    }

    private void  requestDestroyAd() {
        // インタースティシャル広告を削除します。
        if(interstitialAd != null) interstitialAd.destroy();
    }
}

バナー広告

これは特定のサイズのバナーを表示するバナー広告です。バナー広告はonClose()コールバックを受け取りません。したがって、広告を終了するために別の場所からdestroy()を呼び出す必要があります。

 

BannerSizeは標準のバナーサイズに従います。

サイズポイント (幅 x 高さ) 説明 サポート対象 BannerSize 定数
320x50 バナー モバイルフォンとタブレット BannerSize.NORMAL
320x100 大バナー モバイルフォンとタブレット BannerSize.MEDIUM
300x250 IABミディアムレクタングル モバイルフォンとタブレット BannerSize.LARGE
468 x 60 IABフルサイズバナー タブレット BannerSize.FULL

 

PositionType は最上部または最下部のいずれかです。デフォルト値は最下部です。

配置 説明 PositionType 定数
上部配置 画面の上部に配置を指定します PositionType.TOP
下部配置 (デフォルト) 画面の下部に配置を指定します PositionType.BOTTOM
import android.app.Activity
import android.os.Bundle
import com.hive.adiz.AdizError
import com.hive.adiz.AdizListener
import com.hive.adiz.base.AdizBanner
import com.hive.adiz.common.AdRevenueData
import com.hive.adiz.common.BannerSize
import com.hive.adiz.common.PositionType

class BannerExample : Activity() {

    var banner: AdizBanner? = null

    // バナーサイズを設定します。
    var bannerSize = BannerSize.NORMAL

    override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)

            // ...

            // requestInitAd(this)
    }

    val adizListener = object : AdizListener() {
        override fun onLoad() {
            // requestShowAd()
        }

        override fun onFail(loadError: AdizError) {
            var code = loadError.getCode() // error code
            var message = loadError.getMessage() // error message
        }

        override fun onShow() {
            //
        }

        override fun onClick() {
            //
        }

        override fun onPaidEvent(adRevenueData: AdRevenueData) {
            var revenue = adRevenueData.revenue // 広告が表示されたときの収益
            var currency = adRevenueData.currency // 広告が表示されたときの収益の通貨コード
        }
    }

    fun requestInitAd(activity: Activity, hiveAdKey: String? = null) {

        if(hiveAdKey.isNullOrEmpty()) {
            // バナー広告のインスタンスを作成します。
            banner = AdizBanner.initialize(activity, bannerSize, adizListener)
        } else {
            // hiveAdKeyを入力することでバナー広告のインスタンスを作成できます。
            banner = AdizBanner.initialize(activity, hiveAdKey, bannerSize, adizListener)
        }

        // requestLoadAd()
    }

    fun requestInitAdWithPlacementId(activity: Activity, placementId: String? = null) {

        if(placementId.isNullOrEmpty()) {
            // バナー広告インスタンスを作成します。
            banner = AdizBanner.initialize(activity, bannerSize, adizListener)
        } else {
            // placementIdを入力することでバナー広告インスタンスを作成できます。
            banner = AdizBanner.initializeWithPlacementId(activity, placementId, bannerSize, adizListener)
        }

        // requestLoadAd()
    }

    fun requestLoadAd() {
        // バナー広告を読み込む。
        banner?.let { 
            if(it.isInitialized()) it.load()
        }
    }

    fun requestShowAd() {
        // バナー広告を表示します。
        banner?.let { 
            if(it.isLoaded()) it.show()
        }

        // バナーの位置を設定
        /* 
        var position = PositionType.TOP
        banner?.let {
            if(it.isLoaded()) it.show(position)
        } 
        */
    }

    fun requestDestroyAd() {
        // バナー広告を削除します。
        banner?.destroy()
    }
}
import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.hive.adiz.AdizError;
import com.hive.adiz.AdizListener;
import com.hive.adiz.base.AdizBanner;
import com.hive.adiz.common.AdRevenueData;
import com.hive.adiz.common.BannerSize;
import com.hive.adiz.common.PositionType;

public class BannerExample extends Activity {

        // バナーサイズを設定します。
        BannerSize bannerSize = BannerSize.NORMAL;
        AdizBanner banner = null;

        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);

                //...

                // requestInitAd(this, null);
        }

        AdizListener adizListener = new AdizListener() {
                @Override
                public void onLoad() {
                        // requestShowAd();
                }

                @Override
                public void onFail(@NonNull AdizError loadError) {
                        int code = loadError.getCode(); // エラーコード
                        String message = loadError.getMessage(); // エラーメッセージ
                }

                @Override
                public void onShow() {

                }

                @Override
                public void onClick() {
                        //
                }

                @Override
                public void onPaidEvent(@NonNull AdRevenueData adRevenueData) {
                        double revenue = adRevenueData.getRevenue(); // revenue when ad is exposed
                        String currency = adRevenueData.getCurrency(); // currency code for revenue when ad is exposed
                }
        };

        public void requestInitAd(Activity activity, String hiveAdKey) {

                if(TextUtils.isEmpty(hiveAdKey)) {
                        // バナー広告インスタンスを作成します。
                        banner = AdizBanner.initialize(activity, bannerSize, adizListener);
                } else {
                        // hiveAdKeyを入力することでバナー広告インスタンスを作成できます。
                        banner = AdizBanner.initialize(activity, hiveAdKey, bannerSize, adizListener);
                }

                // requestLoadAd();
        }

        public void requestInitAdWithPlacementId(Activity activity, String placementId) {

                if(TextUtils.isEmpty(placementId)) {
                        // バナー広告インスタンスを作成します。
                        banner = AdizBanner.initialize(activity, bannerSize, adizListener);
                } else {
                        // placementIdを入力することでバナー広告インスタンスを作成できます。
                        banner = AdizBanner.initializeWithPlacementId(activity, placementId, bannerSize, adizListener);
                }

                // requestLoadAd();
        }

        private void requestLoadAd() {
                // バナー広告を読み込みます。
                if(banner != null && banner.isInitialized()) banner.load();
        }

        private void  requestShowAd() {
                // バナー広告を表示します。
                if(banner != null && banner.isLoaded()) banner.show();

                // バナーの位置を設定
                // PositionType position = PositionType.TOP;
                // if(banner != null) banner.show(position);
        }

        private void  requestDestroyAd() {
                // バナー広告を削除します。
                if(banner != null) banner.destroy();
        }
}

ネイティブ広告

これは特定のサイズのネイティブテンプレートを表示するネイティブ広告です。ネイティブ広告は縦型画面に最適化されているため、縦型ゲーム(ポートレート画面ゲーム)での使用が推奨されます。ネイティブ広告はonClose()コールバックを受け取りません。したがって、広告を閉じるには別の場所からdestroy()を呼び出す必要があります。

 

現在のテンプレートはsmallまたはmediumサイズをサポートしています。

テンプレート 整列 バナーサイズ定数
小サイズ 上 / 下 BannerSize.NORMAL
中サイズ 中央(固定) BannerSize.MEDIUM

 

small テンプレートでは、PositionType は上または下のいずれかで、デフォルトは下です。

アライメント 説明 PositionType 定数
上部アライメント 画面の上部でのアライメントを指定します PositionType.TOP
下部アライメント (デフォルト) 画面の下部でのアライメントを指定します PositionType.BOTTOM

 

medium テンプレートは、配置の選択を許可せず、デフォルトで中央揃えを使用します。

import android.app.Activity
import android.os.Bundle
import com.hive.adiz.AdizError
import com.hive.adiz.AdizListener
import com.hive.adiz.base.AdizNative
import com.hive.adiz.common.AdRevenueData
import com.hive.adiz.common.BannerSize

class NativeAdExampleKT : Activity() {

        var nativeAd: AdizNative? = null

        // バナーサイズを設定します。
        var bannerSize = BannerSize.NORMAL

        override fun onCreate(savedInstanceState: Bundle?) {
                super.onCreate(savedInstanceState)

                // ...

                // requestInitAd(this)
        }

        val adizListener = object : AdizListener() {
                override fun onLoad() {
                        // requestShowAd()
                }

                override fun onFail(loadError: AdizError) {
                        var code = loadError.getCode() // エラーコード
                        var message = loadError.getMessage() // エラーメッセージ
                }

                override fun onShow() {
                        //
                }

                override fun onClick() {
                        //
                }

                override fun onPaidEvent(adRevenueData: AdRevenueData) {
                        var revenue = adRevenueData.revenue // 広告が表示されたときの収益
                        var currency = adRevenueData.currency // 広告が表示されたときの収益の通貨コード
                }
        }

        fun requestInitAd(activity: Activity, hiveAdKey: String? = null) {

                if(hiveAdKey.isNullOrEmpty()) {
                        // ネイティブ広告インスタンスを作成します。
                        nativeAd = AdizNative.initialize(activity, bannerSize, adizListener)
                } else {
                        // hiveAdKeyを入力することでネイティブ広告インスタンスを作成できます。
                        nativeAd = AdizNative.initialize(activity, hiveAdKey, bannerSize, adizListener)
                }

                // requestLoadAd()
        }

        fun requestInitAdWithPlacementId(activity: Activity, placementId: String? = null) {

                if(placementId.isNullOrEmpty()) {
                        // ネイティブ広告インスタンスを作成します。
                        nativeAd = AdizNative.initialize(activity, bannerSize, adizListener)
                } else {
                        // placementIdを入力してネイティブ広告インスタンスを作成できます。
                        nativeAd = AdizNative.initializeWithPlacementId(activity, placementId, bannerSize, adizListener)
                }

                // requestLoadAd()
        }

        fun requestLoadAd() {
                // ネイティブ広告を読み込む。
                nativeAd?.let { 
                        if(it.isInitialized()) it.load()
                }
        }

        fun requestShowAd() {
                // ネイティブ広告を公開します。
                nativeAd?.let { 
                        if(it.isLoaded()) it.show()
                }

                // バナーの位置を設定
                /* 
                var position = PositionType.TOP
                nativeAd?.let {
                        if(it.isLoaded()) it.show(position)
                } 
                */
        }

        fun requestDestroyAd() {
                // ネイティブ広告を削除します。
                nativeAd?.destroy()
        }
}
import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.hive.adiz.AdizError;
import com.hive.adiz.AdizListener;
import com.hive.adiz.base.AdizNative;
import com.hive.adiz.common.AdRevenueData;
import com.hive.adiz.common.BannerSize;
import com.hive.adiz.common.PositionType;

public class NativeAdExample extends Activity {

        // バナーサイズを設定します。
        BannerSize bannerSize = BannerSize.NORMAL;
        AdizNative nativeAd = null;

        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);

                //...

                // requestInitAd(this, null);
        }

        AdizListener adizListener = new AdizListener() {
                @Override
                public void onLoad() {
                        // requestShowAd();
                }

                @Override
                public void onFail(@NonNull AdizError loadError) {
                        int code = loadError.getCode(); // エラーコード
                        String message = loadError.getMessage(); // エラーメッセージ
                }

                @Override
                public void onShow() {

                }

                @Override
                public void onClick() {
                        //
                }

                @Override
                public void onPaidEvent(@NonNull AdRevenueData adRevenueData) {
                        double revenue = adRevenueData.getRevenue(); // 広告が表示されたときの収益
                        String currency = adRevenueData.getCurrency(); // 広告が表示されたときの収益の通貨コード
                }
        };

        public void requestInitAd(Activity activity, String hiveAdKey) {

                if(TextUtils.isEmpty(hiveAdKey)) {
                        // 基本キーがis_default=trueに設定された状態でHive Adiz初期化中に受信された基本キーでインスタンスが生成されます。(HiveAdKeyが入力されていない場合、基本キーでインスタンスが生成されます。)
                        nativeAd = AdizNative.initialize(activity, bannerSize, adizListener);
                } else {
                        // hiveAdKeyを入力してネイティブ広告インスタンスを生成できます。
                        nativeAd = AdizNative.initialize(activity, hiveAdKey, bannerSize, adizListener);
                }

                // requestLoadAd();
        }

        public void requestInitAdWithPlacementId(Activity activity, String placementId) {

                if(TextUtils.isEmpty(placementId)) {
                        // ネイティブ広告インスタンスを作成します。(HiveAdKeyが入力されていない場合、インスタンスはデフォルトキーがis_default=trueに設定されて作成されます。これはHive Adizの初期化中に受信されました。)
                        nativeAd = AdizNative.initialize(activity, bannerSize, adizListener);
                } else {
                        // placementIdを入力することでネイティブ広告インスタンスを作成できます。
                        nativeAd = AdizNative.initializeWithPlacementId(activity, placementId, bannerSize, adizListener);
                }

                // requestLoadAd();
        }

        private void requestLoadAd() {
                // ネイティブ広告を読み込む。
                if(nativeAd != null && nativeAd.isInitialized()) nativeAd.load();
        }

        private void  requestShowAd() {
                // ネイティブ広告を表示します。
                if(nativeAd != null && nativeAd.isLoaded()) nativeAd.show();

                // バナーの位置を設定
                // PositionType position = PositionType.TOP;
                // if(nativeAd != null && nativeAd.isLoaded()) nativeAd.show(position);
        }

        private void  requestDestroyAd() {
                // ネイティブ広告を削除します。
                if(nativeAd != null) nativeAd.destroy();
        }
}

報酬広告

これは、ユーザーが一定の時間広告を視聴することで報酬を受け取る報酬広告です。報酬が付与されると、報酬アイテム情報はonRewarded()コールバックを通じて受け取ります。

import android.app.Activity
import android.os.Bundle
import com.hive.adiz.AdizError
import com.hive.adiz.AdizListener
import com.hive.adiz.base.AdizRewarded
import com.hive.adiz.common.AdRevenueData

class RewardedExample : Activity() {

        var rewardedAd: AdizRewarded? = null

        override fun onCreate(savedInstanceState: Bundle?) {
                super.onCreate(savedInstanceState)

                // ...

                // requestInitAd(this)
        }

        val adizListener = object : AdizListener() {
                override fun onLoad() {
                        // requestShowAd()
                }

                override fun onFail(loadError: AdizError) {
                        var code = loadError.getCode() // エラーコード
                        var message = loadError.getMessage() // エラーメッセージ
                }

                override fun onShow() {
                        //
                }

                override fun onClick() {
                        //
                }

                override fun onPaidEvent(adRevenueData: AdRevenueData) {
                        var revenue = adRevenueData.revenue // 広告が表示されたときの収益
                        var currency = adRevenueData.currency // 広告が表示されたときの収益の通貨コード
                }

                override fun onClose() {
                        // requestDestroyAd()
                }

                override fun onRewarded(rewardItem: RewardItem) {
                        var itemType = rewardItem.itemType // 報酬アイテムの種類
                        var itemAmount = rewardItem.itemAmount // 報酬アイテムの数量
                }
        }

        fun requestInitAd(activity: Activity, hiveAdKey: String? = null) {

                if(hiveAdKey.isNullOrEmpty()) {
                        // 報酬広告インスタンスを作成します。
                        rewardedAd = AdizRewarded.initialize(activity, adizListener)
                } else {
                        // hiveAdKeyを入力することで報酬広告インスタンスを作成できます。
                        rewardedAd = AdizRewarded.initialize(activity, hiveAdKey, adizListener)
                }

                // requestLoadAd()
        }

        fun requestInitAdWithPlacementId(activity: Activity, placementId: String? = null) {

                if(placementId.isNullOrEmpty()) {
                        // 報酬型広告インスタンスを作成します。
                        rewardedAd = AdizRewarded.initialize(activity, adizListener)
                } else {
                        // placementIdを入力して報酬型広告インスタンスを作成できます。
                        rewardedAd = AdizRewarded.initializeWithPlacementId(activity, placementId, adizListener)
                }

                // requestLoadAd()
        }

        fun requestLoadAd() {
                // 報酬付き広告を読み込む。
                rewardedAd?.let {
                        if(it.isInitialized()) it.load()
                }
        }

        fun requestShowAd() {
                // 報酬付き広告を表示します。
                rewardedAd?.let {
                        if(it.isLoaded()) it.show()
                }
        }

        fun requestDestroyAd() {
                // 報酬広告を削除します。
                rewardedAd?.destroy()
        }
}
import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.hive.adiz.AdizError;
import com.hive.adiz.AdizListener;
import com.hive.adiz.base.AdizRewarded;
import com.hive.adiz.common.AdRevenueData;

public class RewardedExample extends Activity {

        AdizRewarded rewardedAd = null;

        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);

                //...

                // requestInitAd(this, null);
        }

        AdizListener adizListener = new AdizListener() {
                @Override
                public void onLoad() {
                        // requestShowAd();
                }

                @Override
                public void onFail(@NonNull AdizError loadError) {
                        int code = loadError.getCode(); // エラーコード
                        String message = loadError.getMessage(); // エラーメッセージ
                }

                @Override
                public void onShow() {
                        //
                }

                @Override
                public void onClick() {
                        //
                }

                @Override
                public void onPaidEvent(@NonNull AdRevenueData adRevenueData) {
                        double revenue = adRevenueData.getRevenue(); // 広告が表示されたときの収益
                        String currency = adRevenueData.getCurrency(); // 広告が表示されたときの収益の通貨コード
                }

                @Override
                public void onClose() {
                        // requestDestroyAd();
                }

                @Override
                public void onRewarded(@NonNull RewardItem rewardItem) {
                        String rewardType = rewardItem.getItemType(); // 報酬アイテムの種類
                        int rewardAmount = rewardItem.getItemAmount(); // 報酬アイテムの数量  
                }
        };

        public void requestInitAd(Activity activity, String hiveAdKey) {

                if(TextUtils.isEmpty(hiveAdKey)) {
                        // 報酬型広告インスタンスを作成します。(HiveAdKeyが入力されていない場合、インスタンスはデフォルトキー(is_default=true)で作成され、Hive Adizの初期化中に受け取ったものです。)
                        rewardedAd = AdizRewarded.initialize(activity, adizListener);
                } else {
                        // hiveAdKeyを入力することで報酬型広告インスタンスを作成できます。
                        rewardedAd = AdizRewarded.initialize(activity, hiveAdKey, adizListener);
                }

                // requestLoadAd();
        }

        public void requestInitAdWithPlacementId(Activity activity, String placementId) {

                if(TextUtils.isEmpty(placementId)) {
                        // 報酬広告インスタンスを作成します。(HiveAdKeyが入力されていない場合、インスタンスはデフォルトキー(is_default=true)で作成され、Hive Adizの初期化中に受信されました。)
                        rewardedAd = AdizRewarded.initialize(activity, adizListener);
                } else {
                        // placementIdを入力することで報酬広告インスタンスを作成できます。
                        rewardedAd = AdizRewarded.initializeWithPlacementId(activity, placementId, adizListener);
                }

                // requestLoadAd();
        }

        private void requestLoadAd() {
                // 報酬付き広告を読み込む。
                if(rewardedAd != null && rewardedAd.isInitialized()) rewardedAd.load();
        }

        private void  requestShowAd() {
                // 報酬広告を表示します。
                if(rewardedAd != null && rewardedAd.isLoaded()) rewardedAd.show();
        }

        private void  requestDestroyAd() {
                // 報酬広告を削除します。
                if(rewardedAd != null) rewardedAd.destroy();
        }
}

報酬付きインタースティシャル

これは、ユーザーが一定の時間広告を視聴することで報酬を受け取る報酬付きインタースティシャル広告です。報酬が付与されると、報酬アイテムの情報がonRewarded()コールバックを通じて受信されます。

import android.app.Activity
import android.os.Bundle
import com.hive.adiz.AdizError
import com.hive.adiz.AdizListener
import com.hive.adiz.base.AdizRewardedInterstitial
import com.hive.adiz.common.AdRevenueData
import com.hive.adiz.rewarded.RewardItem

class RewardedInterstitialExample : Activity() {

        var rewardedInterstitialAd: AdizRewardedInterstitial? = null

        override fun onCreate(savedInstanceState: Bundle?) {
                super.onCreate(savedInstanceState)

                // ...

                // requestInitAd(this)
        }

        val adizListener = object : AdizListener() {
                override fun onLoad() {
                        // requestShowAd()
                }

                override fun onFail(loadError: AdizError) {
                        var code = loadError.getCode() // エラーコード
                        var message = loadError.getMessage() // エラーメッセージ
                }

                override fun onShow() {
                        //
                }

                override fun onClick() {
                        //
                }

                override fun onPaidEvent(adRevenueData: AdRevenueData) {
                        var revenue = adRevenueData.revenue // 広告が表示されたときに生成された収益
                        var currency = adRevenueData.currency // 広告が表示されたときの収益の通貨コード
                }

                override fun onClose() {
                        // requestDestroyAd()
                }

                override fun onRewarded(rewardItem: RewardItem) {
                        var itemType = rewardItem.itemType // リワードアイテムのタイプ
                        var itemAmount = rewardItem.itemAmount // リワードアイテムの数量
                }
        }

        fun requestInitAd(activity: Activity, hiveAdKey: String? = null) {

                if(hiveAdKey.isNullOrEmpty()) {
                        // 報酬付きインタースティシャル広告のインスタンスを作成します。
                        rewardedInterstitialAd = AdizRewardedInterstitial.initialize(activity, adizListener)
                } else {
                        // hiveAdKeyを入力して報酬付きインタースティシャル広告のインスタンスを作成できます。
                        rewardedInterstitialAd = AdizRewardedInterstitial.initialize(activity, hiveAdKey, adizListener)
                }

                // requestLoadAd()
        }

        fun requestInitAdWithPlacementId(activity: Activity, placementId: String? = null) {

                if(placementId.isNullOrEmpty()) {
                        // 報酬付きインタースティシャル広告のインスタンスを作成します。
                        rewardedInterstitialAd = AdizRewardedInterstitial.initialize(activity, adizListener)
                } else {
                        // placementIdを入力することで報酬付きインタースティシャル広告のインスタンスを作成できます。
                        rewardedInterstitialAd = AdizRewardedInterstitial.initializeWithPlacementId(activity, placementId, adizListener)
                }

                // requestLoadAd()
        }

        fun requestLoadAd() {
                // 報酬付きインタースティシャル広告を読み込みます。
                rewardedInterstitialAd?.let {
                        if(it.isInitialized()) it.load()
                }
        }

        fun requestShowAd() {
                // 報酬付きインタースティシャル広告を表示します。
                rewardedInterstitialAd?.let {
                        if(it.isLoaded()) it.show()
                }
        }

        fun requestDestroyAd() {
                // 報酬付きインタースティシャル広告を削除します。
                rewardedInterstitialAd?.destroy()
        }
}
import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.hive.adiz.AdizError;
import com.hive.adiz.AdizListener;
import com.hive.adiz.base.AdizRewardedInterstitial;
import com.hive.adiz.common.AdRevenueData;
import com.hive.adiz.rewarded.RewardItem;

public class RewardedInterstitialExample extends Activity {

        AdizRewardedInterstitial rewardedInterstitialAd = null;

        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);

                //...

                // requestInitAd(this, null);
        }

        AdizListener adizListener = new AdizListener() {
                @Override
                public void onLoad() {
                        // requestShowAd();
                }

                @Override
                public void onFail(@NonNull AdizError loadError) {
                        int code = loadError.getCode(); // エラーコード
                        String message = loadError.getMessage(); // エラーメッセージ
                }

                @Override
                public void onShow() {
                        //
                }

                @Override
                public void onClick() {
                        //
                }

                @Override
                public void onPaidEvent(@NonNull AdRevenueData adRevenueData) {
                        double revenue = adRevenueData.getRevenue(); // 広告が表示されたときに生成された収益
                        String currency = adRevenueData.getCurrency(); // 広告が表示されたときの通貨コード
                }

                @Override
                public void onClose() {
                        // requestDestroyAd();
                }

                @Override
                public void onRewarded(@NonNull RewardItem rewardItem) {
                        String rewardType = rewardItem.getItemType(); // 報酬アイテムの種類
                        int rewardAmount = rewardItem.getItemAmount(); // 報酬アイテムの数量
                }
        };

        public void requestInitAd(Activity activity, String hiveAdKey) {

                if(TextUtils.isEmpty(hiveAdKey)) {
                        // 報酬付きインタースティシャル広告のインスタンスを作成します(広告キー(HiveAdKey)が入力されていない場合、Hive Adizの初期化中にデフォルトキー(is_default=true)でインスタンスが作成されます。)
                        rewardedInterstitialAd = AdizRewardedInterstitial.initialize(activity, adizListener);
                } else {
                        // hiveAdKeyを入力することで報酬付きインタースティシャル広告のインスタンスを作成できます。
                        rewardedInterstitialAd = AdizRewardedInterstitial.initialize(activity, hiveAdKey, adizListener);
                }

                // requestLoadAd();
        }

        public void requestInitAdWithPlacementId(Activity activity, String placementId) {

                if(TextUtils.isEmpty(placementId)) {
                        // 報酬型インタースティシャル広告のインスタンスを作成します(広告キー(HiveAdKey)が入力されていない場合、Hive Adizの初期化中にデフォルトキー(is_default=true)でインスタンスが作成されます。)
                        rewardedInterstitialAd = AdizRewardedInterstitial.initialize(activity, adizListener);
                } else {
                    // placementIdを入力することで報酬型インタースティシャル広告のインスタンスを作成できます。
                    rewardedInterstitialAd = AdizRewardedInterstitial.initializeWithPlacementId(activity, placementId, adizListener);
                }

                // requestLoadAd();
        }

        private void requestLoadAd() {
                // 報酬付きインタースティシャル広告を読み込みます。
                if(rewardedInterstitialAd != null && rewardedInterstitialAd.isInitialized()) rewardedInterstitialAd.load();
        }

        private void  requestShowAd() {
                // 報酬付きインタースティシャル広告を表示します。
                if(rewardedInterstitialAd != null && rewardedInterstitialAd.isLoaded()) rewardedInterstitialAd.show();
        }

        private void  requestDestroyAd() {
                // 報酬付きインタースティシャル広告を削除します。
                if(rewardedInterstitialAd != null) rewardedInterstitialAd.destroy();
        }
}

アプリオープニング広告 (AppOpen)

これは、アプリの状態がバックグラウンドからフォアグラウンドに変わるときにプリロードされた (load()) 広告を表示するアプリオープニング広告です。広告がロードされてから3時間が経過した後に show() が呼ばれると、自動的に広告がリロードされ、その後表示されます。一度でも広告が表示されると、自動的にはリロードされません。

import android.app.Activity
import android.os.Bundle
import com.hive.adiz.AdizError
import com.hive.adiz.AdizListener
import com.hive.adiz.base.AdizAppOpen
import com.hive.adiz.common.AdRevenueData

class AppOpenExample : Activity() {

        var appOpen: AdizAppOpen? = null

        override fun onCreate(savedInstanceState: Bundle?) {
                super.onCreate(savedInstanceState)

                // ...

                // requestInitAd(this)
        }

        val adizListener = object : AdizListener() {
                override fun onLoad() {
                        //
                }

                override fun onFail(loadError: AdizError) {
                        var code = loadError.getCode() // エラーコード
                        var message = loadError.getMessage() // エラーメッセージ
                }

                override fun onShow() {
                        //
                }

                override fun onClick() {
                        //
                }

                override fun onPaidEvent(adRevenueData: AdRevenueData) {
                        var revenue = adRevenueData.revenue // 広告が表示されたときの収益
                        var currency = adRevenueData.currency // 広告が表示されたときの収益の通貨コード
                }

                override fun onClose() {
                        // requestDestroyAd()
                }
        }

        fun requestInitAd(activity: Activity, hiveAdKey: String? = null) {

                if(hiveAdKey.isNullOrEmpty()) {
                        // Creates an app opening ad instance.
                        appOpen = AdizAppOpen.initialize(activity, adizListener)
                } else {
                        // You can create an app opening ad instance by entering the hiveAdKey.
                        appOpen = AdizAppOpen.initialize(activity, hiveAdKey, adizListener)
                }

                // requestLoadAd()
        }

        fun requestInitAdWithPlacementId(activity: Activity, placementId: String? = null) {

                if(placementId.isNullOrEmpty()) {
                        // アプリオープニング広告インスタンスを作成します。
                        appOpen = AdizAppOpen.initialize(activity, adizListener)
                } else {
                        // placementIdを入力することでアプリオープニング広告インスタンスを作成できます。
                        appOpen = AdizAppOpen.initializeWithPlacementId(activity, placementId, adizListener)
                }

                // requestLoadAd()
        }

        fun requestLoadAd() {
                // アプリオープニング広告を読み込みます。読み込みが完了すると、アプリがバックグラウンドからフォアグラウンドに移動したときに広告が自動的に表示されます。
                // 広告が少なくとも1回表示されると、再表示されることはないため、広告を表示し続けたい場合は、onClose() コールバック内で再度 appOpen.load() を呼び出す必要があります。
                appOpen?.let {
                        if(it.isInitialized()) it.load()
                }
        }

        fun requestDestroyAd() {
                // Removes the app opening ad.
                appOpen?.destroy()
        }
}
import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.hive.adiz.AdizError;
import com.hive.adiz.AdizListener;
import com.hive.adiz.base.AdizAppOpen;
import com.hive.adiz.common.AdRevenueData;

public class AppOpenExample extends Activity {

        AdizAppOpen appOpen = null;

        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);

                //...

                // requestInitAd(this, null);
        }

        AdizListener adizListener = new AdizListener() {
                @Override
                public void onLoad() {
                        //
                }

                @Override
                public void onFail(@NonNull AdizError loadError) {
                        int code = loadError.getCode(); // エラーコード
                        String message = loadError.getMessage(); // エラーメッセージ
                }

                @Override
                public void onShow() {
                        //
                }

                @Override
                public void onClick() {
                        //
                }

                @Override
                public void onPaidEvent(@NonNull AdRevenueData adRevenueData) {
                        double revenue = adRevenueData.getRevenue(); // 広告が表示されたときの収益
                        String currency = adRevenueData.getCurrency(); // 広告が表示されたときの収益の通貨コード
                }

                @Override
                public void onClose() {
                        // requestDestroyAd();
                }
        };

        public void requestInitAd(Activity activity, String hiveAdKey) {

                if(TextUtils.isEmpty(hiveAdKey)) {
                        // アプリオープニング広告インスタンスを作成します。(広告キー(HiveAdKey)が入力されていない場合、Hive Adizの初期化中にデフォルトキー(is_default=true)でインスタンスが作成されます。)
                        appOpen = AdizAppOpen.initialize(activity, adizListener);
                } else {
                        // hiveAdKeyを入力することでアプリオープニング広告インスタンスを作成できます。
                        appOpen = AdizAppOpen.initialize(activity, hiveAdKey, adizListener);
                }

                // requestLoadAd();
        }

        public void requestInitAdWithPlacementId(Activity activity, String placementId) {

                if(TextUtils.isEmpty(placementId)) {
                        // アプリオープニング広告インスタンスを作成します。(広告キー(HiveAdKey)が入力されていない場合、Hive Adizの初期化中にデフォルトキー(is_default=true)でインスタンスが作成されます。)
                        appOpen = AdizAppOpen.initialize(activity, adizListener);
                } else {
                        // placementIdを入力することでアプリオープニング広告インスタンスを作成できます。
                        appOpen = AdizAppOpen.initializeWithPlacementId(activity, placementId, adizListener);
                }

                // requestLoadAd();
        }

        private void requestLoadAd() {
                // アプリオープニング広告を読み込みます。
                if(appOpen != null && appOpen.isInitialized()) appOpen.load();
        }

        private void  requestDestroyAd() {
                // アプリオープニング広告を削除します。
                if(appOpen != null) appOpen.destroy();
        }
}