Unity
Adiz Unity¶
Adiz Unityは、Hiveが提供するUnity用の広告モジュールで、AdMobが提供する広告露出機能をより簡単に使用できるようにします。Adiz Unityが提供する広告の種類は以下の通りです。
- インタースティシャル広告
- バナー広告
- ネイティブ広告
- 報酬型広告
- 報酬型インタースティシャル広告
- アプリオープン広告
Adiz Unityをインストールして使用するために、以下のガイドを参照してください。
インストールまたは更新¶
- Adiz Unity開発環境をセットアップします。
- こちらからAdizの最新バージョンをダウンロードして、解凍します。
- Unityで、Assets > Import Package > Custom Package…オプションを選択し、.unitypackageファイルを選択して、Importをクリックします。       
- AdizのファイルとフォルダーがAssetsフォルダーの下に作成されているか確認します。   
- 最新バージョンのEDM4Uをダウンロードしてインストールします。Hive SDK v4にはEDM4Uが含まれています。Hive SDK v4を使用している場合、EDM4Uを別途インストールする必要はありません。
現在使用中のAdizのバージョンを更新するには、こちらをクリックしてAdizをアンインストールし、その後最新バージョンをダウンロードしてインストールしてください。
Unityの設定¶
Android¶
AdMobIdの値を、Unityプロジェクトで作成されたAssets/Plugins/Android/AndroidManifest.xmlファイルに、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>
動画広告を表示するには、ハードウェアアクセラレーションを有効にする必要があります。ハードウェアアクセラレーションの設定をAndroidManifest.xmlファイルに追加します。applicationタグに追加すると、アプリケーション全体のハードウェアアクセラレーションが有効になります。activityタグに追加すると、広告を表示したい特定のActivityのみでハードウェアアクセラレーションが有効になります。
    <application android:hardwareAccelerated="true">
            <!-- For activities that use ads, hardwareAcceleration should be true. -->
            <activity android:hardwareAccelerated="true" />
    </application>
UnityのAndroid Resolver Settings(Assets > External Dependency Manager > Android Resolver > Settings)でUse Jetifier.を確認してください。 
プレイヤー設定 > プレイヤー > ビルド 設定画面で、以下の4つの項目を確認してください。
Proguardを使用する際、AdizモジュールのProGuardルールが含まれています。したがって、プロジェクトにProGuardルールを追加する必要はありません。
iOS¶
Assets > External Dependency Manager > iOS Resolver > Settingsで、static_frameworkビルド設定を無効にします。 
Unityビルド中に生成されたPodfileを開き、以下のように設定します。
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/Com2uSPlatformCorp/HiveAdiz-iOS.git'
platform :ios, '12.0'
target 'UnityFramework' do
  pod 'HiveAdizUnityPlugin', '2.1.1
end
target 'Unity-iPhone' do
end
use_frameworks!
# プロジェクトを使用する際のポッドのdyld問題の修正
post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      # xcode 15 ツールチェーンの問題
      xcconfig_path = config.base_configuration_reference.real_path
      xcconfig = File.read(xcconfig_path)
      xcconfig_mod = xcconfig.gsub(/DT_TOOLCHAIN_DIR/, "TOOLCHAIN_DIR")
      File.open(xcconfig_path, "w") { |file| file << xcconfig_mod }
      # 終了
      config.build_settings["BUILD_LIBRARY_FOR_DISTRIBUTION"] = "YES"
      if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 12.0
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
      end
    end
  end
end
Unityビルド中に生成されたXcodeプロジェクトのInfo.plistファイルにGADApplicationIdentifierキーを追加し、AdMobId値(形式はca-app-pub-XXXXX~YYYYY)をキー値として入力します。あるいは、Assets/HiveAdiz/Editor/AdizPostProcess.csファイル内のGADApplicationIdentifier設定行のコメントを外し、AdMobIdを追加することもできます。これにより、自動的に設定されます。
さらに、iOS 14以降については、Info.plistの更新ガイドを参照して、SKAdNetworkリストをInfo.plistファイルに追加してください。Assets/HiveAdiz/Editor/AdizPostProcess.csファイルは、ビルドプロセス中に自動的にInfo.plistファイルに追加されます。
テスト広告の設定¶
Adizはテスト広告を2つの方法で表示できます。 1. テストモードを有効にする: AdMobから発行されたテスト広告のみを表示 2. テストデバイスを登録して広告を表示: テスト用に実際の広告を表示し、無効なトラフィックが発生しないようにし、テスト広告を表示するデバイスを登録して進めます
テストモードの有効化¶
開発段階では、テスト広告をクリックしても広告主に料金が発生しないようにテストモードを有効にします。テストモードが有効になると、テスト広告のみが表示されます。テストモードでは、コンソールにAdMob広告キーを入力せずにテスト広告が表示されます。商業配信中はテストモードを無効にしてください。
<
テストモードを有効にする方法は2つあります。
- Hiveコンソールでテストデバイスを登録した後、デモ広告に設定します(推奨): 
 コンソールガイドのTest Device Managementセクションを参照してください。
- AdizクラスのsetTestMode()メソッドを使用します:
 以下の例コードを参照してください。
Warning
テストモードではない開発段階において、広告への過剰なクリックは無効なトラフィックと見なされる可能性があり、あなたのAdMobアカウントが報告され、広告が表示されなくなる可能性があります。
Adiz.SetTestMode() メソッドの使用¶
using hiveAdiz; // テストモードを有効にします。この行をコメントアウトして本番環境にデプロイします。
Adiz.SetTestMode(true);
// Adizモジュールのロギングを有効にしています。ロギングはテストモードでのみ使用するべきです。製品展開のためには以下の行をコメントアウトしてください。  
Adiz.SetLogEnable(true);
テストデバイスの広告露出¶
以下の状況では、テスト広告を露出させるためにテストデバイスを登録する必要があります。
- Hive コンソールに登録された AdMob 広告キーが正常に機能しているかテストする
- GDPR メッセージを書き、GDPR 同意ポップアップが正しく機能しているか確認する
- 広告インスペクターを実行して広告リクエストを分析およびデバッグする 
テストデバイスに広告を表示する方法は2つあります。
-  テストデバイスをHiveコンソールに登録した後、広告ユニットIDを使用に設定してください(推奨): 
 コンソールガイドのテストデバイスの管理セクションを参照してください。
-  Adizクラスの setTestDevice()メソッドを使用してください:
 以下の例のコードを参照してください。
Note
テストデバイスを登録せずに実際の広告を表示するテストを実施すると、それは無効なトラフィックと見なされる可能性があり、あなたのAdMobアカウントがブロックされ、さらなる広告表示ができなくなることがあります。テストデバイスを登録すると、広告表示中に「テストモード」または「テスト広告」(ネイティブ広告用)が表示されます。商業配信中はテストデバイスを無効にする必要があります。
バナー、インタースティシャル広告、または報酬広告
ネイティブ広告
Adiz.setTestDevice() メソッドの使用¶
テストデバイスを登録するには、まずテストデバイスIDを確認する必要があります。UnityエンジンのAndroid環境では、テストデバイスID(例えば: 33BE2250B43518CCDA7DE426D04EE231)は以下の2つの方法で確認できます。
-  Adiz.Initialize()を呼び出した後、Logcatログを確認してください:
-  Adiz.Initialize()を呼び出した後、広告の種類に関係なく、initialize()→load()を呼び出し、Logcat ログを確認してください:
UnityエンジンのiOS環境におけるテストデバイスID(例:B74F6468-1516-467C-99AD-CC5973C5DB52)は、以下の2つの方法で確認できます。
-  Adiz.Initialize()を呼び出した後にLogcatログを確認してください:
-  Adiz.Initialize()を呼び出した後、広告の種類に関係なく、initialize()→load()を呼び出し、Logcatログを確認してください:
テストデバイスIDを確認した後、既存のAdiz初期化コードでAdiz.initializeを実行する前にAdiz.setTestDevice(DEVICE_ID)の行を追加します。コピーしたテストデバイスIDをDEVICE_IDに入力してください。
using hiveAdiz;
public void Initialize() {
    // 테스트 디바이스 설정
    Adiz.SetTestDevice("33BE2250B43518CCDA7DE426D04EE231");
    Adiz.Initialize(new CommonHandlers.Builder()
                                            .OnResult(InitResultCB)
                                            .Build());
}
広告インスペクターの使用¶
広告インスペクターは、テストデバイス上で実際の広告をリクエストして表示するプロセスをリアルタイムで分析するアプリ内オーバーレイツールです。広告の読み込みにかかった時間を通知し、広告が表示されない場合はその理由を提供します。また、特定の広告ネットワークを指定して、広告が正しく表示されているかを確認することもでき、問題がある場合はコードレベルでデバッグできます。これらすべては、広告インスペクターUIとともに行われます。これは、Google Mobile Ads SDK Android 20.0.0およびGoogle Mobile Ads SDK iOS 7.68.0以上に含まれており、AdizDeveloperTool.OpenAdInspectorを呼び出すことで使用できます。
広告インスペクターを使用するには、テストデバイスを登録する必要があります。
Adiz AppID 設定¶
Hive コンソール AppCenter に登録された Adiz AppID を設定します。設定されていない場合は、パッケージ名またはバンドル ID が使用されます。
Adiz.SetAppId(appId);
Hive コンソールサーバー設定¶
Hive コンソールサーバーを使用するように設定します。デフォルトはREALです。プロダクションサーバーを使用しても、テストモードを有効にするとテスト広告のみが表示されます。
- Hive テストコンソールサーバー: ZoneType.TEST
- Hive サンドボックスコンソールサーバー: ZoneType.SANDBOX
- Hive プロダクションコンソールサーバー: ZoneType.REAL
ZoneType selectZone = ZoneType.REAL;
Adiz.SetZone((int)selectZone);
ユーザー特有の広告露出¶
iOS 14.5+でのATT(アプリ追跡透明性)の導入により、プライバシーが強化されました。それに伴い、ユーザー特有の広告は、ユーザーがATT同意ポップアップで活動追跡に同意した場合にのみ表示されます。ユーザー特有の広告を表示して広告収益を最大化するには、IDFA(広告主の識別子)メッセージを書く必要があります。
AdMob ダッシュボードの下にあるIDFAメッセージ作成ガイドに従って、メッセージを作成して公開してください。
AdMobダッシュボードでIDFAメッセージを公開すると、iOS 14.5以上でAdiz初期化中にIDFAメッセージが自動的に表示されます。ユーザーがIDFAメッセージウィンドウで「続行」をクリックすると、ATT同意ポップアップが表示されます。
ユーザーがATT同意ポップアップで「許可」をクリックすると、IDFAが有効になり、ユーザー特有の広告が表示されます。
Note
ヨーロッパおよび英国からアクセスしているユーザーは、GDPR同意ポップアップが表示されます。ユーザーがGDPR項目に同意したことがない場合、GDPR同意ポップアップの後にATT同意ポップアップが表示され、IDFAメッセージは表示されません。ユーザーが以前にGDPR項目に同意した場合、ATT同意ポップアップを表示する前にIDFAメッセージが通常通り表示されます。
GDPR同意ポップアップの表示(ヨーロッパ、英国)¶
ゲームがヨーロッパおよび英国(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同意ポップアップが自動的に表示されます。
警告
Hive SDKを使用している場合は、Hive Adizの初期化が完了した後にAuthV4.setupを実行する必要があります。ATT(アプリトラッキング透明性)同意通知を表示した後にGDPR同意画面が表示されると、Appleのアプリレビュー中にアプリが拒否される可能性があります。
GDPR同意および撤回機能の実装¶
GDPR同意ポップアップ内の項目は、ユーザーがいつでも同意状況を変更できるように修正機能を提供する必要があります。たとえば、ユーザーは最初はGDPRに同意しない場合でも、後にパーソナライズされた広告を表示するために再度同意したいと思うことがあります。逆に、ユーザーは最初にGDPRに同意したが、もはや個人情報を提供したくなく、同意を撤回したいと思うこともあります。これらの状況に対処するために、アプリ開発者はユーザーが各項目に再同意するか、既存の同意を撤回できる機能を実装する必要があります。GDPR同意/撤回機能を実装するには、以下の手順に従ってください。
- アプリにGDPR同意ポップアップを再表示できるボタンUIを実装します。
- Adizの初期化を実装する際、isPrivacyOptionsRequired()を呼び出して、ヨーロッパおよびUKからアクセスするユーザーにボタンUIを表示し、他のユーザーには表示しないでください。ヨーロッパまたはUKのユーザーがボタンをクリックした場合、showPrivacyOptionsFormを呼び出してGDPR同意ポップアップを再表示します。その後、ユーザーはアプリ内の「オプションを管理」などのボタンをクリックすることで、GDPRの詳細に対する同意をいつでも変更できます。以下のshowPrivacyOptionsFormは、例示目的で任意に実装されたメソッドであり、開発会社は実装を自由に変更できます。// .... private void InitResultCB(AdizError error, string jsonString) { // 初期化完了コールバック関数 Debug.Log(TAG + "::InitResultCB:: errorCode : "+error.errorCode+" errorMessage : "+error.errorMessage+" json : "+jsonString); if(error.isSuccess()) { bool isPrivacyOptionsRequired = AdizConsentManager.IsPrivacyOptionsRequired(); if(isPrivacyOptionsRequired) { // プライバシーオプションボタンを表示します。クリック時にShowPrivacyOptionsFormを呼び出します } else { // プライバシーオプションボタンを非表示にします } } } private void ShowPrivacyOptionsForm() { // プライバシーオプションフォームを呼び出す if(AdizConsentManager.IsPrivacyOptionsRequired()) { AdizConsentManager.ShowPrivacyOptionsForm(new CommonHandlers.Builder() .OnResult(CommonResultCB) .Build()); } } // ....
GDPR同意年齢未満のユーザーのためのタグ設定 (TFUA)¶
同意年齢未満のユーザーを対象とするためのタグ (TFUA) を使用して、広告リクエストを行う際に、欧州経済地域 (EEA)、英国、スイスに居住するユーザーを限定データ処理対象として扱うことができます。子供を対象とするアプリの場合、AdizConsentManager.setUserPrivacySettings を使用してユーザーを同意年齢未満に設定できます。欧州の国々にはいくつかの違いがありますが、GDPRでは親の同意が必要な年齢を16歳未満と定義しています。同意年齢未満の設定は、Adiz.initialize を実行する前に構成する必要があります。
Warning
両方のGDPR未成年者同意タグ setTagForUnderAgeOfConsent とCOPPA子供向け設定 setTagForChildDirectedTreatment を同時にtrueに設定すると、COPPA子供向け設定 setTagForChildDirectedTreatment が優先されます。したがって、両方をtrueに設定して同時に使用しないでください。
Note
Hive SDK v4 24.2.0 以上と Adiz 2.0.1 以上は一緒に使用できるため、Hive SDK で設定されたユーザー同意年齢が自動的に適用され、AdizConsentManager.setUserPrivacySettings を呼び出す必要はありません。
using hiveAdiz;
public void Initialize() {
    bool isTagForUnderAgeOfConsent = false; // 어린이인 경우 true로 변경
    PrivacySettings settings = new PrivacySettings.Builder()
                                .SetTagForUnderAgeOfConsent(isTagForUnderAgeOfConsent)
                                .Build();
    AdizConsentManager.SetUserPrivacySettings(settings);
    Adiz.Initialize(new CommonHandlers.Builder()
                                            .OnResult(InitResultCB)
                                            .Build());
}
GDPRテストデバイスの設定¶
GDPR同意ポップアップは、デバイスのIPアドレスがヨーロッパまたはイギリスからの場合にのみ表示されます。開発段階では、IPアドレスに関係なくGDPR同意ポップアップを強制的に表示してポップアップの表示をテストすることができ、そのためにはGDPRテストデバイスを設定する必要があります。GDPRテストデバイスを設定するための手順は以下の通りです。以下の内容は、テストデバイスで広告を表示する方法と同じです。
- Adizを初期化して初期化します。これはテストデバイスIDを確認するための初期化であり、GDPR同意メッセージを書く必要はありません。
- デバイスIDを確認するためにAndroid StudioまたはXcodeのログを出力します。例のログは以下の通りです。 
- Android: 新しいConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231")を使用して、これをデバッグデバイスとして設定します。33BE2250B43518CCDA7DE426D04EE231から
- iOS: <UMP SDK>このデバイスのデバッグモードを有効にするには、次のように設定します: UMPDebugSettings.testDeviceIdentifiers = @[B74F6468-1516-467C-99AD-CC5973C5DB52]B74F6468-1516-467C-99AD-CC5973C5DB52で
- デバイスIDをコピーします。
- 既存のAdiz初期化コード内でAdizGDPRManager.setTestDevice(DEVICE_ID)をAdiz.initializeを実行する前に追加します。
- GDPR同意メッセージを書き、GDPR同意ポップアップが正しく表示されるか確認するためにAdizを再初期化します。 using hiveAdiz; public void Initialize() { // GDPRテストデバイス設定 AdizGDPRManager.SetTestDevice("33BE2250B43518CCDA7DE426D04EE231"); Adiz.Initialize(new CommonHandlers.Builder() .OnResult(InitResultCB) .Build()); }
COPPA子供向けターゲティングタグ設定¶
子供のオンラインプライバシー保護法(COPPA)に従い、アプリ開発者は、広告リクエストを行う際に、Googleがコンテンツを子供向けとして扱うべきかどうかを、子供向けターゲティングタグ設定(tagForChildDirectedTreatment、TFCD)を使用して指定できます。子供向けとして扱われるようにしたい場合は、AdizConsentManager.SetUserPrivacySettingsを呼び出してからAdiz.initializeを実行する必要があります。Hive SDKを使用してAdizを使用する場合、子供向けターゲティングタグは自動的に適用されるため、追加の設定は必要ありません。
using hiveAdiz;
public void Initialize() {
    bool isTagForChildDirectedTreatment = false; // 子供向けのための場合はtrueに変更してください
    PrivacySettings settings = new PrivacySettings.Builder()
                                .SetTagForChildDirectedTreatment(isTagForChildDirectedTreatment)
                                .Build();
    AdizConsentManager.SetUserPrivacySettings(settings);
    Adiz.Initialize(new CommonHandlers.Builder()
                                            .OnResult(InitResultCB)
                                            .Build());
}
メディエーションを追加¶
AdizはAdMobメディエーションを使用して広告を表示できます。AdMobメディエーションを追加するには、以下の手順に従ってください。
AdMobのメディエーションの追加¶
AdMobコンソールで広告ソースの統合を進めます。以下の表に従って進んでください。
| AppLovin | Pangle | Unity Ads | |||
|---|---|---|---|---|---|
| ステップ 1: 設定 | Android iOS | Android iOS | Android iOS | Android iOS | Android iOS | 
| ステップ 2: 広告ソースを追加 | Android iOS | Android iOS | Android iOS | Android iOS | |
| ステップ 3 | Adiz アダプターを追加 | ||||
Adizアダプターの追加¶
Assets/HiveAdiz/Editor/Adiz_DefaultDependencies.xml はライブラリ依存関係を追加します。
<dependencies>
  <androidPackages>
      <repositories>
        <repository>https://repo.maven.apache.org/maven2</repository>
        <repository>https://artifact.bytedance.com/repository/pangle/</repository>
      </repositories>
    <androidPackage spec="com.com2us.android.adiz:hive-adiz:2.1.1"/>
    <!-- AppLovin -->
    <androidPackage spec="com.com2us.android.adiz:hive-adiz-adapter-applovin:2.1.1"/>
        <!-- Liftoff -->
    <androidPackage spec="com.com2us.android.adiz:hive-adiz-adapter-liftoff:2.1.1"/>
    <!-- Meta -->
    <androidPackage spec="com.com2us.android.adiz:hive-adiz-adapter-meta:2.1.1"/>
    <!-- Pangle -->
    <androidPackage spec="com.com2us.android.adiz:hive-adiz-adapter-pangle:2.1.1"/>
    <!-- Unity Ads -->
    <androidPackage spec="com.com2us.android.adiz:hive-adiz-adapter-unityads:2.1.1"/>
  </androidPackages>
  <iosPods>
      <sources>
          <source>https://github.com/Com2uSPlatformCorp/HiveAdiz-iOS.git</source>
      </sources>
      <iosPod name="HiveAdizUnityPlugin" version="2.1.1"/>
      <iosPod name="HiveAdizAdapterAppLovin" version="2.1.1"/>
            <iosPod name="HiveAdizAdapterLiftoff" version="2.1.1"/>
      <iosPod name="HiveAdizAdapterMeta" version="2.1.1"/>
      <iosPod name="HiveAdizAdapterPangle" version="2.1.1"/>
      <iosPod name="HiveAdizAdapterUnityAds" version="2.1.1"/>
  </iosPods>
</dependencies>
Adizアダプタの設定が正しく適用されたことを確認するには、アプリを実行し、Ad Inspector画面の設定リストを確認してください。 
Adizの初期化¶
これは、すべてのタイプの広告を表示する前に実行しなければならないステップです。Adizを初期化することで、広告を表示するために必要な広告キーを受け取ります。テストモードの場合、テストキーを受け取ります。Hive SDKを使用している場合は、AuthV4.setupを呼び出した後にAdizの初期化を進めてください。
Warning
もしGDPR設定を使用している場合は、Hive Adizの初期化を完了した後にAuthV4.setupを実行する必要があります。ATT(アプリトラッキング透明性)同意通知を表示した後にGDPR同意画面が表示されると、アプリはAppleのアプリレビュー中に拒否される可能性があります。
using hiveAdiz;
public void Start() {
    /* omitted */
    // HiveAdizコールバックを使用するには、AdizCallbackManagerをGameObjectとして登録する必要があります。    
    Adiz.InitPlugin();
}
Adiz.Initialize(new CommonHandlers.Builder()
                        .OnResult(InitResultCB)
                        .Build());
// コールバックリスナーを初期化する
private void InitResultCB(AdizError error, string jsonString) {
    Debug.Log(TAG + "::InitResultCB:: errorCode : "+error.errorCode+" errorMessage : "+error.errorMessage+" json : "+jsonString);
    if(error.isSuccess()) {
        JSONObject resJsonObject = new JSONObject (jsonString);
        JSONObject jsonArray = resJsonObject.GetField ("keys");
        if (jsonArray != null && jsonArray.count > 0) {
            List interstitialKeyList = new List();
            List bannerKeyList = new List();
            List nativeKeyList = new List();
            List rewardedKeyList = new List();
            List rewardedInterstitialKeyList = new List();
            List appOpenKeyList = new List();
            List jsonList = jsonArray.list;
            foreach (JSONObject jsonItem in jsonList) {
                bool isDefault = false;
                jsonItem.GetField(ref isDefault, "is_default");
                // これは、ゲーム内で広告キーを直接入力する際にis_defaultがfalseであるキーのリストを構築する例です。
                if(isDefault == false) {
                    string hiveAdKey = null;
                    jsonItem.GetField(ref hiveAdKey, "key");
                    string form = null;
                    jsonItem.GetField(ref form, "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;
                    }
                }
            }
            foreach(string hiveAdKey in interstitialKeyList) {
                Debug.Log("onSdkInitialize interstitialKeyList "+hiveAdKey);
            }
            foreach(string hiveAdKey in bannerKeyList) {
                Debug.Log("onSdkInitialize bannerKeyList "+hiveAdKey);
            }
            foreach(string hiveAdKey in nativeKeyList) {
                Debug.Log("onSdkInitialize nativeKeyList "+hiveAdKey);
            }
            foreach(string hiveAdKey in rewardedKeyList) {
                Debug.Log("onSdkInitialize rewardedKeyList "+hiveAdKey);
            }
            foreach(string hiveAdKey in rewardedInterstitialKeyList) {
                Debug.Log("onSdkInitialize rewardedInterstitialKeyList "+hiveAdKey);
            }
            foreach(string hiveAdKey in appOpenKeyList) {
                Debug.Log("onSdkInitialize appOpenKeyList "+hiveAdKey);
            }
        }
    }
}
             
初期化中にコールバックとして受信した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)を入力する必要はありません。デフォルト広告を変更するには、HiveHive コンソールで既存のデフォルト広告を削除し、新しい広告を登録する必要があります。
広告コールバックリスナーの設定¶
各広告インスタンスを作成する際にAdizListenerを実装することで、広告の状態の変化に応じたコールバックを受け取ることができます。
| 名前 | 説明 | 必要な実装 | 
|---|---|---|
| .OnAdLoad(OnAdLoadCB) | 広告の読み込みが成功しました | O | 
| .OnAdFail(OnAdLoadFailedCB) | 失敗(失敗の理由は`error.errorCode()`および`error.errorMessage()`を通じて知ることができます) | O | 
| .OnAdShow(OnAdShowCB) | 広告の表示成功 | O | 
| .OnAdClick(OnAdClickCB) | 広告クリック | O | 
| .OnAdPaidEvent(OnAdPaidEventCB) | 広告の露出後に有料イベントが受信され、広告収益情報が提供されるポイントです。 | O | 
| .OnAdClose(OnAdCloseCB) | 広告終了 
 | X | 
| .OnAdReward(OnAdRewardCB) | 報酬型広告(`rewarded`、`rewarded interstitial`)で広告表示後にユーザーが報酬を受け取るポイント | X | 
private void OnAdLoadCB()
{   
    // This will be called when the ad is loaded.
    // If the ad load is successful, you should call the ad instance's .show() at the desired time to display the ad.
    Debug.Log(TAG + "::OnAdLoadCB");
    // AdizInterstitialが読み込まれ、表示する準備ができました
    // requestShowAd();
}
private void OnAdLoadFailedCB(AdizError error) {
    // これは広告の読み込みに失敗したとき、または他の理由で広告が表示に失敗したときに呼び出されます。
    Debug.Log(TAG + "::OnAdLoadFailedCB errorCode "+error.errorCode);
    Debug.Log(TAG + "::OnAdLoadFailedCB errorMessage "+error.errorMessage);
}
private void OnAdShowCB()
{   
    // この広告が表示されたときに呼び出されます。
    Debug.Log(TAG + "::OnAdShowCB");
}
private void OnAdCloseCB()
{   
    // これは広告が閉じられたときに呼び出されます。
    Debug.Log(TAG + "::OnAdCloseCB");
    // AdizInterstitial広告を表示した後に削除します
    // requestDestroyAd();
}
private void OnAdClickCB()
{   
    // これは広告がクリックされたときに呼ばれます。
    Debug.Log(TAG + "::OnAdClickCB");
}
private void OnAdRewardCB(RewardItem rewardItem)
{   
    // これは、報酬型広告または報酬付きインタースティシャル広告で広告を視聴した際に報酬が与えられたときに呼び出されます。
    Debug.Log(TAG + "::OnAdRewardCB:: rewardItem.itemType : " + rewardItem.getItemType() + " rewardItem.itemAmount : " + rewardItem.getItemAmount());
    // 報酬付き、報酬付きインタースティシャル広告でのみ渡されます
}
private void OnAdPaidEventCB(AdRevenueData adRevenueData)
{   
    // 広告から収益が生成されたときに呼び出されます。
    Debug.Log(TAG + "::OnAdPaidEventCB:: adRevenueData.revenue : " + adRevenueData.getRevenue() + " adRevenueData.currency : " + adRevenueData.getCurrency());
}
エラーコード¶
Adiz.Initialize と AdizListener から OnAdFail() を受信した場合、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同意ポップアップを表示できないか、表示する必要がない状態です | 
広告の露出と広告の終了¶
広告を露出し、終了させるための手順は次のとおりです。
- 表示したい広告の種類ごとに広告クラスで広告インスタンスを作成します。表示したい広告がデフォルト広告でない場合は、初期化から取得した広告キーまたはプレースメントIDを入力する必要があります。広告キー(hiveAdKey)またはプレースメントID(placementId)を入力しない場合、デフォルトの広告インスタンスが作成されます。プレースメントIDはHiveコンソールで設定でき、詳細についてはコンソールガイドのAdmob設定ページを参照してください。
- 表示したい広告を読み込みます(load())。
- 表示したい広告を読み込みます(load())。
- 読み込んだ広告を表示します(show())。広告を再表示するには、再度load()を呼び出し、その後show()を呼び出す必要があります。
- 広告を閉じるには、destroy()を呼び出します。
インタースティシャル広告¶
画面全体を占めるフルスクリーン広告。
// Create AdizInterstitial Instance
private AdizInterstitial InterstitialAd = null;
public void requestInitAd(string interstitialAdKey) {
    AdEventHandlers eventHandlers = new AdEventHandlers.Builder()
                                                    .OnAdLoad(OnAdLoadCB)
                                                    .OnAdShow(OnAdShowCB)
                                                    .OnAdClose(OnAdCloseCB)
                                                    .OnAdClick(OnAdClickCB)
                                                    .OnAdFail(OnAdLoadFailedCB)
                                                    .OnAdPaidEvent(OnAdPaidEventCB)
                                                    .Build();
    if(string.IsNullOrEmpty(interstitialAdKey)) {
        // デフォルトの AdizInterstitial インスタンスを初期化します (AdEventHandlers)
        InterstitialAd = AdizInterstitial.Initialize(eventHandlers);
    } else {
        // AdizInterstitial インスタンスを初期化します (hiveAdKey, AdEventHandlers)
        InterstitialAd = AdizInterstitial.Initialize(interstitialAdKey, eventHandlers);
    }
}
public void requestInitAdWithPlacementId(string interstitialPlacementId) {
    AdEventHandlers eventHandlers = new AdEventHandlers.Builder()
                                                    .OnAdLoad(OnAdLoadCB)
                                                    .OnAdShow(OnAdShowCB)
                                                    .OnAdClose(OnAdCloseCB)
                                                    .OnAdClick(OnAdClickCB)
                                                    .OnAdFail(OnAdLoadFailedCB)
                                                    .OnAdPaidEvent(OnAdPaidEventCB)
                                                    .Build();
    if(string.IsNullOrEmpty(interstitialPlacementId)) {
        // デフォルトのAdizInterstitialインスタンスを初期化します (AdEventHandlers)
        InterstitialAd = AdizInterstitial.Initialize(eventHandlers);
    } else {
        // AdizInterstitialインスタンスを初期化します (placementId, AdEventHandlers)
        InterstitialAd = AdizInterstitial.InitializeWithPlacementId(interstitialPlacementId, eventHandlers);
    }
}
public void requestLoadAd() {
    // Load AdizInterstitial
    if(InterstitialAd != null && InterstitialAd.IsInitialized()) InterstitialAd.Load();
}
public void requestShowAd() {
    // 広告を表示
    if(InterstitialAd != null && InterstitialAd.IsLoaded()) InterstitialAd.Show();
}
public void requestDestroyAd() {
    // 広告インタースティシャルを破棄
    if(InterstitialAd != null) InterstitialAd.Destroy();
    InterstitialAd = null;
}
バナー広告 (Banner)¶
これは特定のサイズのバナーを表示するバナー広告です。バナー広告はOnAdClose()コールバックを受け取りません。したがって、広告を終了するには別の場所からdestroy()を呼び出す必要があります。
BannerSizeは標準のバナーサイズに従います。
| サイズ(幅 x 高さ) | 説明 | 対応デバイス | BannerSize 定数 | 
|---|---|---|---|
| 320x50 | バナー | モバイルフォンとタブレット | BannerSize.NORMAL | 
| 320x100 | 大バナー | モバイルフォンとタブレット | BannerSize.MEDIUM | 
| 300x250 | IAB中矩形 | モバイルフォンとタブレット | BannerSize.LARGE | 
| 468 x 60 | IABフルサイズバナー | タブレット | BannerSize.FULL | 
PositionType は最上位または最下位のいずれかです。デフォルト値は最下位です。
| アライメント | 説明 | PositionType 定数 | 
|---|---|---|
| 上部アライメント | 画面の上部でのアライメントを指定します(iOSはSafeAreaに基づいて上部アライメントを指定します) | PositionType.TOP | 
| 下部アライメント(デフォルト) | 画面の下部でのアライメントを指定します(iOSはSafeAreaに基づいて下部アライメントを指定します) | PositionType.BOTTOM | 
// Create AdizBanner Instance
private AdizBanner BannerAd = null;
public void requestInitAd(string bannerAdKey) {
    // バナーサイズを設定
    private BannerSize bannerSize = BannerSize.NORMAL;
    AdEventHandlers eventHandlers = new AdEventHandlers.Builder()
                                                    .OnAdLoad(OnAdLoadCB)
                                                    .OnAdShow(OnAdShowCB)
                                                    .OnAdClose(OnAdCloseCB)
                                                    .OnAdClick(OnAdClickCB)
                                                    .OnAdFail(OnAdLoadFailedCB)
                                                    .OnAdPaidEvent(OnAdPaidEventCB)
                                                    .Build();
    if(string.IsNullOrEmpty(bannerAdKey)) {
        // デフォルトのAdizBannerインスタンスを初期化します (AdEventHandlers)
        BannerAd = AdizBanner.Initialize(bannerSize, eventHandlers);
    } else {
        // AdizBannerインスタンスを初期化します (hiveAdKey, AdEventHandlers)
        BannerAd = AdizBanner.Initialize(bannerAdKey, bannerSize, eventHandlers);
    }
}
public void requestInitAdWithPlacementId(string bannerPlacementId) {
    // バナーサイズを設定
    private BannerSize bannerSize = BannerSize.NORMAL;
    AdEventHandlers eventHandlers = new AdEventHandlers.Builder()
                                                    .OnAdLoad(OnAdLoadCB)
                                                    .OnAdShow(OnAdShowCB)
                                                    .OnAdClose(OnAdCloseCB)
                                                    .OnAdClick(OnAdClickCB)
                                                    .OnAdFail(OnAdLoadFailedCB)
                                                    .OnAdPaidEvent(OnAdPaidEventCB)
                                                    .Build();
    if(string.IsNullOrEmpty(bannerPlacementId)) {
        // デフォルトのAdizBannerインスタンスを初期化します (AdEventHandlers)
        BannerAd = AdizBanner.Initialize(bannerSize, eventHandlers);
    } else {
        // AdizBannerインスタンスを初期化します (placementId, AdEventHandlers)
        BannerAd = AdizBanner.InitializeWithPlacementId(bannerPlacementId, bannerSize, eventHandlers);
    }
}
public void requestLoadAd() {
    // Load AdizBanner
    if(BannerAd != null && BannerAd.IsInitialized()) BannerAd.Load();
}
public void requestShowAd() {
    // Set position type
    private PositionType bannerPosition = PositionType.TOP;
    // AdizBannerを表示
    if(BannerAd != null && BannerAd.IsLoaded()) BannerAd.Show(bannerPosition);
}
public void requestDestroyAd() {
    // AdizBannerを破棄します
    if(BannerAd != null) BannerAd.Destroy();
    BannerAd = null;
}
ネイティブ広告 (Native)¶
これは特定のサイズのネイティブテンプレートを表示するネイティブ広告です。ネイティブ広告はポートレート画面に最適化されているため、縦型ゲーム(ポートレート画面ゲーム)での使用を推奨します。ネイティブ広告はOnAdClose()コールバックを受け取りません。したがって、広告を閉じるには別の場所からdestroy()を呼び出す必要があります。
現在のテンプレートはsmallまたはmediumサイズをサポートしています。
| サイズポイント (幅 x 高さ) | テンプレート | アライメント | BannerSize 定数 | 
|---|---|---|---|
| 355x91 (アスペクト比調整済み) | 小サイズ | 上 / 下 | BannerSize.NORMAL | 
| 355x370 (アスペクト比調整済み) | 中サイズ | 中央 (固定) | BannerSize.MEDIUM, BannerSize.LARGE, BannerSize.FULL | 
small テンプレートでは、PositionType は上または下のいずれかで、デフォルト値は下です。
| 配置 | 説明 | PositionType 定数 | 
|---|---|---|
| 上部配置 | 画面の上部に配置を指定します(iOSはSafeAreaに基づいて上部配置を指定します) | PositionType.TOP | 
| 下部配置(デフォルト) | 画面の下部に配置を指定します(iOSはSafeAreaに基づいて下部配置を指定します) | PositionType.BOTTOM | 
medium テンプレートは、配置の選択を許可せず、デフォルトで中央揃えを使用します。
// AdizNativeインスタンスを作成
private AdizNative NativeAd = null;
public void requestInitAd(string nativeAdKey) {
    // バナーサイズを設定
    private BannerSize bannerSize = BannerSize.NORMAL;
    AdEventHandlers eventHandlers = new AdEventHandlers.Builder()
                                                    .OnAdLoad(OnAdLoadCB)
                                                    .OnAdShow(OnAdShowCB)
                                                    .OnAdClose(OnAdCloseCB)
                                                    .OnAdClick(OnAdClickCB)
                                                    .OnAdFail(OnAdLoadFailedCB)
                                                    .OnAdPaidEvent(OnAdPaidEventCB)
                                                    .Build();
    if(string.IsNullOrEmpty(nativeAdKey)) {
        // デフォルトのAdizNativeインスタンスを初期化します (AdEventHandlers)
        NativeAd = AdizNative.Initialize(bannerSize, eventHandlers);
    } else {
        // AdizNativeインスタンスを初期化します (hiveAdKey, AdEventHandlers)
        NativeAd = AdizNative.Initialize(nativeAdKey, bannerSize, eventHandlers);
    }
}
public void requestInitAdWithPlacementId(string nativePlacementId) {
    // バナーサイズを設定
    private BannerSize bannerSize = BannerSize.NORMAL;
    AdEventHandlers eventHandlers = new AdEventHandlers.Builder()
                                                    .OnAdLoad(OnAdLoadCB)
                                                    .OnAdShow(OnAdShowCB)
                                                    .OnAdClose(OnAdCloseCB)
                                                    .OnAdClick(OnAdClickCB)
                                                    .OnAdFail(OnAdLoadFailedCB)
                                                    .OnAdPaidEvent(OnAdPaidEventCB)
                                                    .Build();
    if(string.IsNullOrEmpty(nativePlacementId)) {
        // デフォルトのAdizNativeインスタンスを初期化します (AdEventHandlers)
        NativeAd = AdizNative.Initialize(bannerSize, eventHandlers);
    } else {
        // AdizNativeインスタンスを初期化します (placementId, AdEventHandlers)
        NativeAd = AdizNative.InitializeWithPlacementId(nativePlacementId, bannerSize, eventHandlers);
    }
}
public void requestLoadAd() {
    // Load AdizNative
    if(NativeAd != null && NativeAd.IsInitialized()) NativeAd.Load();
}
public void requestShowAd() {
    // Set position type
    private PositionType bannerPosition = PositionType.TOP;
    // AdizNativeを表示
    if(NativeAd != null && NativeAd.IsLoaded()) NativeAd.Show(bannerPosition);
}
public void requestDestroyAd() {
    // Destroy AdizNative
    if(NativeAd != null) NativeAd.Destroy();
    NativeAd = null;
}
報酬広告¶
これは、ユーザーが一定期間広告を視聴することで報酬を受け取る報酬広告です。報酬が付与されると、報酬アイテム情報がOnAdReward()コールバックを通じて受信されます。
// Create AdizRewarded Instance
private AdizRewarded RewardVideoAd = null;
public void requestInitAd(string rewardedAdKey) {
    AdEventHandlers eventHandlers = new AdEventHandlers.Builder()
                                                    .OnAdLoad(OnAdLoadCB)
                                                    .OnAdShow(OnAdShowCB)
                                                    .OnAdClose(OnAdCloseCB)
                                                    .OnAdClick(OnAdClickCB)
                                                    .OnAdFail(OnAdLoadFailedCB)
                                                    .OnAdReward(OnAdRewardCB)
                                                    .OnAdPaidEvent(OnAdPaidEventCB)
                                                    .Build();
    if(string.IsNullOrEmpty(rewardedAdKey)) {
        // デフォルトのAdizRewardedインスタンスを初期化します (AdEventHandlers)
        RewardVideoAd = AdizRewarded.Initialize(eventHandlers);
    } else {
        // AdizRewardedインスタンスを初期化します (hiveAdKey, AdEventHandlers)
        RewardVideoAd = AdizRewarded.Initialize(rewardedAdKey, eventHandlers);
    }
}
public void requestInitAdWithPlacementId(string rewardedPlacementId) {
    AdEventHandlers eventHandlers = new AdEventHandlers.Builder()
                                                    .OnAdLoad(OnAdLoadCB)
                                                    .OnAdShow(OnAdShowCB)
                                                    .OnAdClose(OnAdCloseCB)
                                                    .OnAdClick(OnAdClickCB)
                                                    .OnAdFail(OnAdLoadFailedCB)
                                                    .OnAdReward(OnAdRewardCB)
                                                    .OnAdPaidEvent(OnAdPaidEventCB)
                                                    .Build();
    if(string.IsNullOrEmpty(rewardedPlacementId)) {
        // デフォルトの AdizRewarded インスタンスを初期化します (AdEventHandlers)
        RewardVideoAd = AdizRewarded.Initialize(eventHandlers);
    } else {
        // AdizRewarded インスタンスを初期化します (placementId, AdEventHandlers)
        RewardVideoAd = AdizRewarded.InitializeWithPlacementId(rewardedPlacementId, eventHandlers);
    }
}
public void requestLoadAd() {
    // Load AdizRewarded
    if(RewardVideoAd != null && RewardVideoAd.IsInitialized()) RewardVideoAd.Load();
}
public void requestShowAd() {
    // Show AdizRewarded
    if(RewardVideoAd != null && RewardVideoAd.IsLoaded()) RewardVideoAd.Show();
}
public void requestDestroyAd() {
    // 広告を破棄する
    if(RewardVideoAd != null) RewardVideoAd.Destroy();
    RewardVideoAd = null;
}
報酬付きインタースティシャル広告¶
これは、ユーザーが一定の時間広告を視聴することで報酬を受け取る報酬付きインタースティシャル広告です。報酬が付与されると、報酬アイテムの情報はOnAdReward()コールバックを通じて受け取ります。
// Create AdizRewardedInterstitial Instance
private AdizRewardedInterstitial RewardedInterstitialAd = null;
public void requestInitAd(string rewardedInterstitialAdKey) {
    AdEventHandlers eventHandlers = new AdEventHandlers.Builder()
                                                    .OnAdLoad(OnAdLoadCB)
                                                    .OnAdShow(OnAdShowCB)
                                                    .OnAdClose(OnAdCloseCB)
                                                    .OnAdClick(OnAdClickCB)
                                                    .OnAdFail(OnAdLoadFailedCB)
                                                    .OnAdReward(OnAdRewardCB)
                                                    .OnAdPaidEvent(OnAdPaidEventCB)
                                                    .Build();
    if(string.IsNullOrEmpty(rewardedInterstitialAdKey)) {
        // デフォルトの AdizRewardedInterstitial インスタンスを初期化します (AdEventHandlers)
        RewardedInterstitialAd = AdizRewardedInterstitial.Initialize(eventHandlers);
    } else {
        // AdizRewardedInterstitial インスタンスを初期化します (hiveAdKey, AdEventHandlers)
        RewardedInterstitialAd = AdizRewardedInterstitial.Initialize(rewardedInterstitialAdKey, eventHandlers);
    }
}
public void requestInitAdWithPlacementId(string rewardedInterstitialPlacementId) {
    AdEventHandlers eventHandlers = new AdEventHandlers.Builder()
                                                    .OnAdLoad(OnAdLoadCB)
                                                    .OnAdShow(OnAdShowCB)
                                                    .OnAdClose(OnAdCloseCB)
                                                    .OnAdClick(OnAdClickCB)
                                                    .OnAdFail(OnAdLoadFailedCB)
                                                    .OnAdReward(OnAdRewardCB)
                                                    .OnAdPaidEvent(OnAdPaidEventCB)
                                                    .Build();
    if(string.IsNullOrEmpty(rewardedInterstitialPlacementId)) {
        // デフォルトの AdizRewardedInterstitial インスタンスを初期化します (AdEventHandlers)
        RewardedInterstitialAd = AdizRewardedInterstitial.Initialize(eventHandlers);
    } else {
        // AdizRewardedInterstitial インスタンスを初期化します (placementId, AdEventHandlers)
        RewardedInterstitialAd = AdizRewardedInterstitial.InitializeWithPlacementId(rewardedInterstitialPlacementId, eventHandlers);
    }
}
public void requestLoadAd() {
    // Load AdizRewardedInterstitial
    if(RewardedInterstitialAd != null && RewardedInterstitialAd.IsInitialized()) RewardedInterstitialAd.Load();
}
public void requestShowAd() {
    // Show AdizRewardedInterstitial
    if(RewardedInterstitialAd != null && RewardedInterstitialAd.IsLoaded()) RewardedInterstitialAd.Show();
}
public void requestDestroyAd() {
    // AdizRewardedInterstitialを破棄します
    if(RewardedInterstitialAd != null) RewardedInterstitialAd.Destroy();
    RewardedInterstitialAd = null;
}
アプリオープニング広告 (AppOpen)¶
これは、アプリの状態がバックグラウンドからフォアグラウンドに変わるときにプリロードされた (load()) 広告を表示するアプリオープニング広告です。広告がロードされてから3時間が経過した後に show() が呼び出されると、表示する前に広告を自動的に再ロードします。一度でも広告が表示された場合、それは自動的に再ロードされません。
// Create AdizAppOpen Instance
private AdizAppOpen AppOpenAd = null;
public void requestInitAd(string appOpenAdKey) {
    AdEventHandlers eventHandlers = new AdEventHandlers.Builder()
                                                    .OnAdLoad(OnAdLoadCB)
                                                    .OnAdShow(OnAdShowCB)
                                                    .OnAdClose(OnAdCloseCB)
                                                    .OnAdFail(OnAdLoadFailedCB)
                                                    .OnAdClick(OnAdClickCB)
                                                    .OnAdPaidEvent(OnAdPaidEventCB)
                                                    .Build();
    if(string.IsNullOrEmpty(appOpenAdKey)) {
        // デフォルトの AdizAppOpen インスタンスを初期化します (AdEventHandlers)
        AppOpenAd = AdizAppOpen.Initialize(eventHandlers);
    } else {
        // AdizAppOpen インスタンスを初期化します (hiveAdKey, AdEventHandlers)
        AppOpenAd = AdizAppOpen.Initialize(appOpenAdKey, eventHandlers);
    }
}
public void requestInitAdWithPlacementId(string appOpenPlacementId) {
    AdEventHandlers eventHandlers = new AdEventHandlers.Builder()
                                                    .OnAdLoad(OnAdLoadCB)
                                                    .OnAdShow(OnAdShowCB)
                                                    .OnAdClose(OnAdCloseCB)
                                                    .OnAdFail(OnAdLoadFailedCB)
                                                    .OnAdClick(OnAdClickCB)
                                                    .OnAdPaidEvent(OnAdPaidEventCB)
                                                    .Build();
    if(string.IsNullOrEmpty(appOpenPlacementId)) {
        // デフォルトのAdizAppOpenインスタンスを初期化します (AdEventHandlers)
        AppOpenAd = AdizAppOpen.Initialize(eventHandlers);
    } else {
        // AdizAppOpenインスタンスを初期化します (placementId, AdEventHandlers)
        AppOpenAd = AdizAppOpen.InitializeWithPlacementId(appOpenPlacementId, eventHandlers);
    }
}
public void requestLoadAd() {
    // Load AdizAppOpen
    if(AppOpenAd != null && AppOpenAd.IsInitialized()) AppOpenAd.Load();
}
public void requestShowAd() {
    // Show AdizAppOpen
    Debug.Log("[appOpenAd] appOpenAd don't request Show");
}
public void requestDestroyAd() {
    // AdizAppOpenを破棄します
    if(AppOpenAd != null) AppOpenAd.Destroy();
    AppOpenAd = null;
}
HiveAdizをアンインストールする¶
HiveAdizをアンインストールするには、Unityプロジェクト内の以下のフォルダーを削除してください。
- アセット/HiveAdiz
- アセット/HiveAdiz_Example







