ข้ามไปที่เนื้อหา

Android

Adiz Android

Adiz Android เป็นโมดูลโฆษณาสำหรับ Android ที่จัดทำโดย Hive เพื่อให้ง่ายต่อการใช้ฟีเจอร์การแสดงโฆษณาที่เสนอโดย AdMob ประเภทของโฆษณาที่จัดทำโดย Adiz Android มีดังนี้:

  • โฆษณาแบบระหว่างหน้า
  • โฆษณาแบบแบนเนอร์
  • โฆษณาแบบเนทีฟ
  • โฆษณาแบบให้รางวัล
  • โฆษณาแบบระหว่างหน้าที่ให้รางวัล
  • โฆษณาเปิดแอป

ในการติดตั้งและใช้ Adiz Android กรุณาอ้างอิงจากคู่มือต่อไปนี้ตามลำดับ

การติดตั้ง

เพิ่มรายการไลบรารี Adiz ลงในไฟล์ Gradle ระดับแอป (app/build.gradle) ของโมดูลของคุณ。

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

เพื่อสนับสนุนฟีเจอร์ Java 8 ให้เพิ่มสิ่งต่อไปนี้ในไฟล์ Gradle ระดับแอปของโมดูลของคุณโดยใช้การตั้งค่า android

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

ใส่ AdMobId ของคุณ (ในรูปแบบ ca-app-pub-XXXXX~YYYYY) ในไฟล์ AndroidManifest.xml

<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 กฎ Proguard สำหรับ Adiz ได้ถูกนำเข้ามาแล้วในโมดูล Adiz ดังนั้นจึงไม่จำเป็นต้องเพิ่มกฎ Proguard ลงในโปรเจกต์ของคุณ  

ในการแสดงโฆษณาวิดีโอ จะต้องเปิดใช้งานการเร่งฮาร์ดแวร์ เพิ่มการตั้งค่าต่อไปนี้สำหรับการเร่งฮาร์ดแวร์ในไฟล์ AndroidManifest.xml การเพิ่มลงในแท็ก application จะใช้การเร่งฮาร์ดแวร์สำหรับทั้งแอปพลิเคชัน การเพิ่มลงในแท็ก activity จะใช้การเร่งฮาร์ดแวร์เฉพาะสำหรับ Activity ที่คุณต้องการแสดงโฆษณา

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

การตั้งค่า test ads

Adiz ช่วยให้คุณแสดงโฆษณาทดสอบได้สองวิธี.

  1. เปิดโหมดทดสอบ: แสดงโฆษณาทดสอบที่ออกโดย AdMob เท่านั้น.
  2. ลงทะเบียนอุปกรณ์ทดสอบและแสดงโฆษณา: แสดงโฆษณาจริงเพื่อวัตถุประสงค์ในการทดสอบ ลงทะเบียนอุปกรณ์เพื่อแสดงโฆษณาทดสอบเพื่อให้แน่ใจว่าไม่มีการเข้าชมที่ไม่ถูกต้องเกิดขึ้นระหว่างการทดสอบ.

เปิดโหมดทดสอบ

ในระยะพัฒนานี้ ให้เปิดโหมดทดสอบเพื่อให้การคลิกที่โฆษณาทดสอบไม่เกิดค่าใช้จ่ายกับผู้โฆษณา เมื่อเปิดโหมดทดสอบ จะมีเฉพาะโฆษณาทดสอบเท่านั้นที่แสดง ในโหมดทดสอบ คุณไม่จำเป็นต้องป้อนคีย์โฆษณา AdMob ใน Hive Console เพื่อแสดงโฆษณาทดสอบ ปิดโหมดทดสอบสำหรับการจัดจำหน่ายเชิงพาณิชย์.

Note

หากคุณคลิกโฆษณามากเกินไปเมื่อไม่ได้อยู่ในโหมดทดสอบในระหว่างขั้นตอนการพัฒนา อาจถือว่าเป็นการเข้าชมที่ไม่ถูกต้องและบัญชี AdMob ของคุณอาจถูกแจ้งรายงาน ซึ่งจะทำให้คุณไม่สามารถแสดงโฆษณาได้

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

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

// เปิดโหมดทดสอบ แสดงความคิดเห็นบรรทัดด้านล่างสำหรับการจัดจำหน่ายเชิงพาณิชย์.
Adiz.setTestMode(true)

// เปิดใช้งานการบันทึกสำหรับโมดูล Adiz การบันทึกควรใช้เฉพาะในโหมดทดสอบ เท่านั้น คอมเมนต์บรรทัดด้านล่างสำหรับการจัดจำหน่ายเชิงพาณิชย์。
Adiz.setLogEnable(true)
import com.hive.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);

// เปิดใช้งานการบันทึกสำหรับโมดูล Adiz การบันทึกควรใช้เฉพาะในโหมดทดสอบ เท่านั้น คอมเมนต์บรรทัดด้านล่างสำหรับการจัดจำหน่ายเชิงพาณิชย์
Adiz.setLogEnable(true);

การตั้งค่าอุปกรณ์ทดสอบสำหรับการแสดงโฆษณา

คุณควรลงทะเบียนอุปกรณ์ทดสอบเพื่อแสดงโฆษณาทดสอบในสถานการณ์ต่อไปนี้:

  • เมื่อทดสอบว่า AdMob คีย์โฆษณาที่ลงทะเบียนใน Hive Console ทำงานได้อย่างถูกต้อง
  • เมื่อคุณต้องการให้แน่ใจว่า GDPR ป๊อปอัพการยินยอมทำงานได้อย่างถูกต้องหลังจากที่คุณเขียน GDPR ข้อความ
  • เมื่อคุณต้องการเรียกใช้ Ad Inspector เพื่อวิเคราะห์และแก้ไขข้อผิดพลาดในการร้องขอโฆษณา

การทดสอบด้วยโฆษณาจริงโดยไม่ลงทะเบียนอุปกรณ์ทดสอบอาจถือว่าเป็นการเข้าชมที่ไม่ถูกต้อง ซึ่งอาจทำให้บัญชี AdMob ของคุณถูกบล็อกและไม่สามารถแสดงโฆษณาได้อีกต่อไป เมื่อคุณลงทะเบียนอุปกรณ์ทดสอบ จะมีการแสดง "Test Mode" หรือ "Test Ad" (สำหรับโฆษณาเนทีฟ) ในระหว่างการแสดงโฆษณา อุปกรณ์ Test ควรปิดใช้งานสำหรับการปรับใช้ในผลิตภัณฑ์

 

Banner, Interstitial, or Rewarded Ad

 

Native Ad

 

ในการลงทะเบียนอุปกรณ์ทดสอบ ให้ระบุ ID ของอุปกรณ์ทดสอบของคุณก่อน คุณสามารถค้นหา ID ของอุปกรณ์ทดสอบ (เช่น 33BE2250B43518CCDA7DE426D04EE231) โดยใช้สองวิธีต่อไปนี้:

  1. หลังจากเรียก Adiz.Initialize() ให้ตรวจสอบบันทึก Logcat:
    ใช้ new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") เพื่อกำหนดให้เป็นอุปกรณ์ดีบัก
  2. หลังจากเรียก Adiz.Initialize() โดยไม่คำนึงถึงประเภทโฆษณา ให้เรียก initialize()load() จากนั้นตรวจสอบบันทึก Logcat:
    I/Ads: ใช้ RequestConfiguration.Builder.setTestDeviceIds(Arrays.asList("33BE2250B43518CCDA7DE426D04EE231")) เพื่อรับโฆษณาทดสอบบนอุปกรณ์นี้."

 

หลังจากระบุอุปกรณ์ทดสอบ ID แล้ว ให้เพิ่มบรรทัด Adiz.setTestDevice(DEVICE_ID) ก่อนที่จะเรียกใช้ Adiz.initialize ในโค้ดการเริ่มต้น Adiz ที่มีอยู่ เปลี่ยน DEVICE_ID เป็น 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?) {
                        // ... skipped
                }
        })
}
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()) {
                                // ... skipped
                        }
                }
        });
}


การใช้ ad inspector

Ad Inspector เป็นเครื่องมือ overlay ในแอปที่วิเคราะห์กระบวนการขอและแสดงโฆษณาจริงบนอุปกรณ์ทดสอบแบบเรียลไทม์ มันจะแจ้งให้คุณทราบถึงเวลาที่ใช้ในการโหลดโฆษณา และหากการแสดงผลล้มเหลว จะให้เหตุผลสำหรับความล้มเหลว นอกจากนี้ คุณสามารถระบุเครือข่ายโฆษณาเฉพาะเพื่อตรวจสอบว่าโฆษณาถูกแสดงอย่างถูกต้องหรือไม่ และหากมีปัญหา คุณสามารถดีบักที่ระดับโค้ด ทั้งหมดนี้ดำเนินการด้วย Ad Inspector UI มันรวมอยู่ใน Google Mobile Ads SDK Android 20.0.0 ขึ้นไป และสามารถใช้งานได้โดยการเรียก AdizDeveloperTool.openAdInspector.

 

ในการใช้ Ad Inspector จะต้องมีเงื่อนไขสองประการดังต่อไปนี้:

import com.hive.adiz.utils.AdizDeveloperTool

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

AdizDeveloperTool.openAdInspector(activity);

การตั้งค่า Adiz AppID

ตั้งค่า Adiz AppID ที่คุณลงทะเบียนใน Hive Console AppCenter หากไม่ได้ตั้งค่า จะใช้ชื่อแพ็คเกจ AndroidManifest.xml

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

การตั้งค่า Hive Console server

ตั้งค่า Hive Console server ที่คุณต้องการใช้ ค่าเริ่มต้นคือ REAL แม้ว่าคุณจะใช้เซิร์ฟเวอร์เชิงพาณิชย์ โฆษณาทดสอบจะแสดงหากเปิดใช้งานโหมดทดสอบ

  • Hive ทดสอบ Console server: ZoneType.TEST
  • Hive sandbox Console server: ZoneType.SANDBOX
  • Hive commercial Console server: ZoneType.REAL
Adiz.setZone(AdizConfiguration.ZoneType.REAL)
Adiz.setZone(AdizConfiguration.ZoneType.REAL);

หากเกมของคุณมุ่งเป้าไปที่ยุโรปและสหราชอาณาจักร (EEA & สหราชอาณาจักร), จะต้องแสดงGDPR (กฎทั่วไปว่าด้วยการคุ้มครองข้อมูล) ป๊อปอัปการยินยอม ป๊อปอัปการยินยอมGDPR จะถูกแสดงเฉพาะเมื่อที่อยู่IP ของอุปกรณ์ของผู้ใช้มาจากยุโรปหรือสหราชอาณาจักร (EEA & สหราชอาณาจักร). Adiz รองรับGoogle's UMP (User Messaging Platform) สำหรับการแสดงป๊อปอัปการยินยอมGDPR

หลังจากสร้าง ข้อความ GDPR ใน คอนโซล AdMob ข้อความป๊อปอัป GDPR จะถูกแสดงให้ผู้ใช้ที่เข้าถึงจากยุโรปและสหราชอาณาจักรเมื่อคุณ เริ่มต้น Adiz.

Warning

แม้ว่าคุณจะมุ่งเป้าไปยังภูมิภาคนอกยุโรปและสหราชอาณาจักร คุณต้องสร้างข้อความ GDPR ในคอนโซล AdMob เพื่อให้การเริ่มต้นของ Adiz ทำงานได้อย่างถูกต้อง.

การสร้างข้อความ GDPR

เข้าถึง Google AdMob console เพื่อสร้างข้อความ GDPR ก่อนที่จะสร้างข้อความ GDPR ให้ดูที่ คู่มือการสร้างข้อความ GDPR

หลังจากสร้างข้อความ GDPR แล้ว ป๊อปอัปการยินยอม GDPR จะถูกแสดงโดยอัตโนมัติในระหว่างการ เริ่มต้นของ Adiz.

การดำเนินการตัวเลือกสำหรับการยินยอม/ถอนตัวตาม GDPR

ป๊อปอัพการยินยอมของ GDPR ควรอนุญาตให้ผู้ใช้ปรับเปลี่ยนการยินยอมของตนได้ตลอดเวลา ตัวอย่างเช่น ผู้ใช้ที่เริ่มต้นไม่ยินยอมต่อ GDPR แต่ต้องการรับโฆษณาที่ปรับให้เหมาะสม อาจต้องการยินยอม หรือในทางกลับกัน เพื่อรองรับสถานการณ์ดังกล่าว นักพัฒนาต้องดำเนินการฟังก์ชันการทำงานสำหรับผู้ใช้ในการยินยอมอีกครั้งหรือถอนการยินยอมก่อนหน้านี้ สำหรับการดำเนินการฟังก์ชันการยินยอม/การถอนการยินยอมของ GDPR ให้ทำตามขั้นตอนเหล่านี้:

  1. สร้าง UI ปุ่มในแอปของคุณเพื่อโหลดหน้าต่างป๊อปอัพการยินยอม GDPR ใหม่
  2. เมื่อทำการ เริ่มต้นการใช้งาน Adiz ให้เรียกใช้ isPrivacyOptionsRequired() เพื่อแสดง UI ปุ่มด้านบนสำหรับผู้ใช้ที่เข้าถึงจากยุโรปและสหราชอาณาจักร และไม่แสดงในกรณีอื่น หากผู้ใช้จากยุโรปและสหราชอาณาจักรกดปุ่ม ให้เรียกใช้ showPrivacyOptionsForm เพื่อโหลดหน้าต่างป๊อปอัพการยินยอม GDPR ใหม่ ซึ่งอนุญาตให้ผู้ใช้ปรับเปลี่ยนการยินยอมสำหรับรายละเอียด GDPR ได้ตลอดเวลาผ่านปุ่ม "จัดการตัวเลือก" หรือปุ่มที่คล้ายกันภายในแอป วิธีการ showPrivacyOptionsForm ที่ให้ไว้ด้านล่างเป็นเพียงเพื่อการอ ilustration และสามารถนำไปใช้ในรูปแบบใดก็ได้ตามที่นักพัฒนาต้องการ
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) {
                                // ... ข้าม
                                // กำหนดว่าจะต้องแสดงปุ่มบน UI ของแอปเพื่อแสดงป๊อปอัพการยินยอม 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;
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()) {
                                // ... ข้ามไป
                                // กำหนดว่าจะต้องแสดงปุ่มบน UI ของแอปเพื่อแสดงป๊อปอัปการยินยอม GDPR อีกครั้งหรือไม่
                                boolean isPrivacyOptionsRequired = AdizConsentManager.isPrivacyOptionsRequired();
                                if(isPrivacyOptionsRequired) {
                                        // แสดงปุ่มในแอป (เมื่อคลิกปุ่ม ให้เรียกใช้ showPrivacyOptionsForm() เพื่อแสดงป๊อปอัปการยินยอม GDPR)
                                        showGDPRConsentPopupButton()
                                } else {
                                        // จะไม่แสดงปุ่มในแอป
                                        // ทำการกระทำอื่นๆ ที่ต้องการภายในแอป
                                }
                        }
                }
        });
}


public void showPrivacyOptionsForm(Activity activity) {
        // เรียกใช้ป๊อปอัพความยินยอม GDPR
        if(AdizConsentManager.isPrivacyOptionsRequired()) {
                AdizConsentManager.showPrivacyOptionsForm(activity, new AdizConsentManager.ConsentListener() {
                        @Override
                        public void onResult(@NonNull AdizError error) {
                                // ไม่จำเป็นต้องจัดการข้อผิดพลาดใดๆ
                        }
                });
        }
}

การตั้งค่า tag สำหรับ under อายุ consent

การใช้ Tag สำหรับ Under อายุ Consent (TFUA) คุณสามารถกำหนดการร้องขอโฆษณาให้ถือว่าผู้ใช้ที่อาศัยอยู่ในเขตเศรษฐกิจยุโรป (EEA) สหราชอาณาจักร และสวิตเซอร์แลนด์ เป็นผู้ที่อยู่ภายใต้การประมวลผลข้อมูลที่จำกัด สำหรับแอปที่ให้บริการเด็ก คุณสามารถตั้งค่าผู้ใช้ว่าอยู่ต่ำกว่าหมายอายุที่ต้องมีความยินยอมโดยใช้ AdizConsentManager.setUserPrivacySettings ในขณะที่มีความแตกต่างบางประการระหว่างประเทศในยุโรป GDPR กำหนดอายุที่ต้องการความยินยอมจากผู้ปกครองว่าอยู่ต่ำกว่า 16 ปี การตั้งค่าอายุที่ต้องการความยินยอมต้องถูกกำหนดก่อนที่จะดำเนินการ Adiz.initialize.

Warning

หากทั้งแท็ก GDPR สำหรับผู้ใช้ที่มีอายุต่ำกว่าความยินยอม setTagForUnderAgeOfConsent และแท็ก COPPA สำหรับการรักษาที่มุ่งเป้าไปที่เด็ก setTagForChildDirectedTreatment ถูกตั้งค่าเป็น true แท็ก COPPA จะมีความสำคัญมากกว่า ดังนั้นโปรดอย่าใช้ทั้งสองอย่างพร้อมกันโดยตั้งค่าเป็น 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 // change this to true if the user is a child

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

        Adiz.initialize(activity, object : Adiz.SdkInitializationListener {
                override fun onComplete(error: AdizError, jsonData: JSONObject?) {
                        // ... skipped
                }
        })
}
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; // change this to true if the user is a child

        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()) {
                                // ... skipped
                        }
                }
        });
}

การตั้งค่าอุปกรณ์ทดสอบ GDPR

ป๊อปอัพการยินยอมของ GDPR จะแสดงเฉพาะเมื่อที่อยู่ IP ของอุปกรณ์มาจากยุโรปหรือสหราชอาณาจักร ในระหว่างการพัฒนา คุณสามารถบังคับให้ป๊อปอัพการยินยอมของ GDPR แสดงโดยไม่คำนึงถึงที่อยู่ IP ของอุปกรณ์เพื่อวัตถุประสงค์ในการทดสอบโดยการตั้งค่าอุปกรณ์ทดสอบ GDPR ทำตามขั้นตอนด้านล่างเพื่อตั้งค่าอุปกรณ์ทดสอบ GDPR:

  1. เริ่มต้น Adiz. จุดประสงค์ของการเริ่มต้นนี้คือการตรวจสอบ ID อุปกรณ์ทดสอบ ดังนั้นคุณไม่จำเป็นต้องสร้างข้อความยินยอม GDPR ล่วงหน้า
  2. ค้นหา ID อุปกรณ์ในผลลัพธ์ Logcat log. นี่คือตัวอย่างข้อความ: ใช้ ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") เพื่อตั้งค่านี้เป็นอุปกรณ์ดีบัก.
    รับ ID อุปกรณ์ (ตัวอย่าง: 33BE2250B43518CCDA7DE426D04EE231).
  3. คัดลอก ID อุปกรณ์.
  4. เพิ่ม Adiz.setTestDevice(DEVICE_ID) ก่อนที่จะเรียกใช้ Adiz.initialize ในโค้ดเริ่มต้น Adiz ที่มีอยู่.
  5. สร้างข้อความยินยอม GDPR และเริ่มต้น Adiz ใหม่เพื่อให้แน่ใจว่าป๊อปอัพยินยอม GDPR ปรากฏอย่างถูกต้อง.
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?) {
                        // ... Skipped
                }
        })
}
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()) {
                                // ... Skipped
                        }
                }
        });
}

การตั้งค่า tag สำหรับการรักษาที่มุ่งเป้าไปยังเด็ก

ตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคลออนไลน์ของเด็ก (COPPA) นักพัฒนาแอปสามารถกำหนดได้ว่า Google ควรจัดการเนื้อหาเป็นการมุ่งเป้าไปยังเด็กในระหว่างการขอโฆษณาโดยการตั้งค่า tagForChildDirectedTreatment (TFCD) หากคุณต้องการให้เนื้อหาถูกจัดการเป็นการมุ่งเป้าไปยังเด็ก คุณต้องเรียกใช้ AdizConsentManager.setUserPrivacySettings ก่อนที่จะดำเนินการ Adiz.initialize เมื่อใช้ Adiz กับ SDK Hive การตั้งค่าสำหรับการรักษาที่มุ่งเป้าไปยังเด็กจะถูกนำไปใช้โดยอัตโนมัติ ดังนั้นจึงไม่ต้องตั้งค่าเพิ่มเติม

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

fun initialize() {

        val isChildDirectedTreatmentForCOPPA = false // set true if the user is a child

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

        Adiz.initialize(activity, object : Adiz.SdkInitializationListener {
                override fun onComplete(error: AdizError, jsonData: JSONObject?) {
                        // ... skipped
                }
        })
}
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; // set true if the user is a child

        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()) {
                                // ... skipped
                        }
                }
        });
}

เพิ่มการไกล่เกลี่ยสำหรับโฆษณา

Adiz อนุญาตให้แสดงโฆษณาโดยใช้การไกล่เกลี่ย AdMob สำหรับการเพิ่มการไกล่เกลี่ย AdMob ให้ทำตามขั้นตอนด้านล่าง

เพิ่ม AdMob mediation

ดำเนินการรวมแหล่งโฆษณาในคอนโซล AdMob ตามตารางด้านล่าง

AppLovin Pangle Unity Ads Meta
ขั้นตอนที่ 1 ตั้งค่า AppLovin configuration ตั้งค่า Pangle configuration ตั้งค่า Unity Ads configuration ตั้งค่า Meta configuration
ขั้นตอนที่ 2 เพิ่มแหล่งโฆษณา AppLovin ไปยัง AdMob เพิ่มแหล่งโฆษณา Pangle ไปยัง AdMob เพิ่มแหล่งโฆษณา Unity Ads ไปยัง AdMob เพิ่มแหล่งโฆษณา Meta ไปยัง AdMob
ขั้นตอนที่ 3 เพิ่ม Adiz adapter

เพิ่ม adiz adapter

เพิ่มการพึ่งพาของไลบรารีไปยัง build.gradle ระดับแอปของคุณ.


dependencies {
    // ... (omitted)

    implementation 'com.com2us.android.adiz:hive-adiz:2.0.0' // ทั่วไป (ต้องเพิ่ม)

    implementation 'com.com2us.android.adiz:hive-adiz-adapter-applovin:2.0.1' // เพิ่มสำหรับการรวม AppLovin
    implementation 'com.com2us.android.adiz:hive-adiz-adapter-pangle:2.0.1' // เพิ่มสำหรับการรวม Pangle
    implementation 'com.com2us.android.adiz:hive-adiz-adapter-unityads:2.0.1' // เพิ่มสำหรับการรวม Unity Ads
    implementation 'com.com2us.android.adiz:hive-adiz-adapter-meta:2.0.1' // เพิ่มสำหรับการรวม Meta
}

 

เมื่อรวมเข้ากับ Pangle ให้เพิ่มการตั้งค่าต่อไปนี้ หากคุณกำลังใช้ Gradle 7.0 ขึ้นไป ให้เพิ่มการตั้งค่า repository ในส่วน dependencyResolutionManagement ของไฟล์ระดับโปรเจกต์ settings.gradle.


// Settings for Gradle 7.0 or above in settings.gradle

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

 

หากคุณกำลังใช้ Gradle เวอร์ชันต่ำกว่า 7.0 ให้เพิ่มการตั้งค่า repository ในส่วน allprojects ของไฟล์ระดับโปรเจกต์ build.gradle.


// Settings for Gradle version less than 7.0 in build.gradle

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

    }
}

 

เพื่อตรวจสอบว่า Adiz การกำหนดค่าตัวเชื่อมต่อได้ถูกนำไปใช้อย่างถูกต้องหรือไม่ ให้เรียกใช้แอปของคุณและตรวจสอบรายการการกำหนดค่าบนหน้าจอ Ad Inspector.

กำลังเริ่มต้น adiz

การเริ่มต้น Adiz เป็นขั้นตอนที่สำคัญก่อนที่จะเปิดเผยโฆษณาประเภทใดก็ตาม เมื่อคุณเริ่มต้น Adiz คุณจะได้รับคีย์โฆษณาที่จำเป็นในการแสดงโฆษณา หากเปิดโหมดทดสอบ คุณจะได้รับคีย์ทดสอบ หากคุณกำลังใช้ SDK Hive ให้ดำเนินการเริ่มต้น Adiz หลังจากเรียกใช้ AuthV4.setup

Adiz.initialize(activity, 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>()

                                ลอง {
                                        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) {
                                        //...
                                }
                        }
                }
        }
})

Adiz.initialize(activity, 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);

                                                // ตัวอย่างของการสร้างรายการของคีย์ที่ is_default เป็น false หากคุณป้อนคีย์โฆษณาโดยตรงในเกม
                                                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) {

                                }
                        }
                }
        }
});

เมื่อเริ่มต้น ไฟล์ JSON ที่ได้รับเป็น callback จะรวมรายการของคีย์โฆษณา รูปแบบของรายการคีย์โฆษณามีดังนี้:

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

หากคุณเริ่มต้นในโหมดทดสอบ คุณจะได้รับรายการคีย์โฆษณาทดสอบแม้ว่าคุณจะยังไม่ได้ลงทะเบียนคีย์โฆษณา AdMob ใน Hive Console หากคุณเริ่มต้นในโหมดเชิงพาณิชย์ คุณจะได้รับรายการคีย์โฆษณา AdMob ที่ลงทะเบียนใน Hive Console

รูปแบบโฆษณาทุกแบบมีโฆษณาหนึ่งรายการเป็นโฆษณาเริ่มต้น (โฆษณาที่มี "is_default":true) โฆษณาแรกที่ลงทะเบียนจะกลายเป็นโฆษณาเริ่มต้นสำหรับรูปแบบโฆษณานั้น คุณไม่จำเป็นต้องป้อนคีย์โฆษณา (hiveAdKey) เมื่อสร้างอินสแตนซ์โฆษณา (initialize()) สำหรับโฆษณาเริ่มต้น หากต้องการเปลี่ยนโฆษณาเริ่มต้น คุณต้องลบโฆษณาเริ่มต้นที่มีอยู่ใน Hive Console และลงทะเบียนโฆษณาใหม่อีกครั้ง

การตั้งค่าตัวฟังการเรียกกลับโฆษณา

คุณสามารถรับการเรียกกลับตามการเปลี่ยนแปลงสถานะของโฆษณาโดยการใช้ 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) จุดที่ผู้ใช้ได้รับรางวัลหลังจากแสดงโฆษณาสำหรับโฆษณาที่มีรางวัล (rewarded, rewarded interstitial) X
var adizListener = object : AdizListener() {
        override fun onLoad() {
                // Called when the ad is loaded.
                // If the ad load is successful, you need to call the ad instance's .show() at the desired point to display the ad.
        }

        override fun onFail(loadError: AdizError) {
                // Called if the ad load failed or the ad display failed for some other reason.
        }

        override fun onShow() {
                // Called when the ad is displayed.
        }

        override fun onClick() {
                // Called when the ad is clicked.
        }

        override fun onPaidEvent(adRevenueData: AdRevenueData) {     
        // Called when revenue is generated for the ad.

        var revenue = adRevenueData.revenue // Revenue at the time of ad display
                var currency = adRevenueData.currency // Currency code for the revenue at the time of ad display     
    }

        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() {
        // Called when the ad is loaded.
                // If the ad load is successful, you need to call the ad instance's .show() at the desired point to display the ad.
        }

        @Override
        public void onFail(@NonNull AdizError loadError) {
        // หากการโหลดโฆษณาล้มเหลวหรือการแสดงโฆษณาล้มเหลวด้วยเหตุผลอื่น
        }

        @Override
        public void onShow() {
        // Called when the ad is displayed.
        }

        @Override
        public void onClick() {
        // Called when the ad is clicked.
        }

        @Override
        public void onPaidEvent(@NonNull AdRevenueData adRevenueData) {         
        double revenue = adRevenueData.getRevenue(); // Revenue at the time of ad display
        String currency = adRevenueData.getCurrency(); // Currency code for the revenue at the time of ad display      
    }

        @Override
        public void onClose() {
        // ถูกเรียกเมื่อโฆษณาถูกปิด
        // แบนเนอร์และโฆษณาเนทีฟไม่มีปุ่มปิดและดังนั้นจึงไม่มีการเรียกกลับ onClose
        }

    @Override
    public void onRewarded(@NonNull RewardItem rewardItem) {
        // Called when a reward occurs for watching the ad in rewarded, rewarded interstitial ads.
            String rewardType = rewardItem.getItemType(); // Reward item type
        int rewardAmount = rewardItem.getItemAmount(); // Reward item quantity
    }
};

รหัสข้อผิดพลาด

รหัสข้อผิดพลาดและข้อความข้อผิดพลาดสำหรับ Adiz.Initialize และ AdizListener เมื่อได้รับ onFail() มีดังนี้:

รหัสทั่วไป

หมายเลข กรณี คำอธิบาย
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 รหัสหน่วยไม่ถูกต้อง
-107 MediationNoFill ตัวปรับการจัดการไม่สามารถจัดการคำขอโฆษณาได้
-108 AlreadyLoaded โหลดแล้ว
-109 CannotRequestAds ไม่สามารถขอโฆษณาได้
-201 GdprConsentError ข้อผิดพลาดการยินยอม GDPR
-202 IsNotPrivacyOptionsRequired ไม่จำเป็นต้องแสดงหรือไม่สามารถแสดงป๊อปอัปการยินยอม GDPR

การเปิดเผยโฆษณาและการสิ้นสุด

เพื่อเปิดเผยและยุติการโฆษณา ให้ทำตามขั้นตอนเหล่านี้:

  1. สร้างอินสแตนซ์โฆษณาจากคลาสโฆษณาสำหรับแต่ละประเภทของโฆษณาที่คุณต้องการเปิดเผย หากโฆษณาที่คุณต้องการเปิดเผยไม่ใช่ โฆษณาเริ่มต้น คุณต้องป้อนคีย์โฆษณาที่ได้รับจาก การเริ่มต้น หากคุณไม่ป้อนคีย์โฆษณา (hiveAdKey) จะมีการสร้างอินสแตนซ์โฆษณาเริ่มต้น
  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)
        }

        fun requestInitAd(activity: Activity, hiveAdKey: String? = null) {
                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 // revenue when ad is exposed
                                var currency = adRevenueData.currency // currency code for revenue when ad is exposed
                        }

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

                if(hiveAdKey == null) {
                        // สร้างอินสแตนซ์โฆษณาแบบเต็มหน้าจอ
                        interstitialAd = AdizInterstitial.initialize(activity, adizListener)
                } else {
                        // คุณสามารถสร้างอินสแตนซ์โฆษณาแบบเต็มหน้าจอโดยการป้อน hiveAdKey
                        interstitialAd = AdizInterstitial.initialize(activity, hiveAdKey, adizListener)
                }

                // requestLoadAd()
        }

        fun requestLoadAd() {
                // โหลดโฆษณาแบบเต็มจอ
                interstitialAd?.load()
        }

        fun requestShowAd() {
                // แสดงโฆษณาแบบเต็มจอ
                interstitialAd?.show()
        }

        fun requestDestroyAd() {
                // Remove the interstitial ad.
                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);
        }

        public void requestInitAd(Activity activity, String hiveAdKey) {

                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(); // revenue when ad is exposed
                                String currency = adRevenueData.getCurrency(); // currency code for revenue when ad is exposed
                        }
                };

                if(TextUtils.isEmpty(hiveAdKey)) {
                        // สร้างอินสแตนซ์โฆษณาแบบแทรก
                        interstitialAd = AdizInterstitial.initialize(activity, adizListener);
                } else {
                        // คุณสามารถสร้างอินสแตนซ์โฆษณาแบบแทรกโดยการป้อน hiveAdKey
                        interstitialAd = AdizInterstitial.initialize(activity, hiveAdKey, adizListener);
                }

                // requestLoadAd();
        }

        private void requestLoadAd() {
                // โหลดโฆษณาแบบเต็มหน้าจอ
                if(interstitialAd != null) interstitialAd.load();
        }

        private void  requestShowAd() {
                // แสดงโฆษณาแบบเต็มหน้าจอ
                if(interstitialAd != null) interstitialAd.show();
        }

        private void  requestDestroyAd() {
                // ลบโฆษณาแบบเต็มหน้าจอ
                if(interstitialAd != null) interstitialAd.destroy();
        }
}

โฆษณาแบนเนอร์จะแสดงแบนเนอร์ขนาดเฉพาะ โฆษณาแบนเนอร์จะไม่ได้รับการเรียกกลับ onClose() ดังนั้นคุณต้องเรียก destroy() จากตำแหน่งอื่นเพื่อยุติการโฆษณา

BannerSize ปฏิบัติตามขนาดแบนเนอร์มาตรฐาน.

ขนาดจุด (ความกว้าง x ความสูง) คำอธิบาย อุปกรณ์ที่รองรับ ค่าขนาดแบนเนอร์
320x50 แบนเนอร์ โทรศัพท์มือถือและแท็บเล็ต BannerSize.NORMAL
320x100 แบนเนอร์ขนาดใหญ่ โทรศัพท์มือถือและแท็บเล็ต BannerSize.MEDIUM
300x250 IAB ขนาดกลางสี่เหลี่ยม โทรศัพท์มือถือและแท็บเล็ต BannerSize.LARGE
468x60 IAB แบนเนอร์ขนาดเต็ม แท็บเล็ต BannerSize.FULL

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)
        }

        fun requestInitAd(activity: Activity, hiveAdKey: String? = null) {
                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 // revenue when ad is exposed
                                var currency = adRevenueData.currency // currency code for revenue when ad is exposed
                        }
                }

                if(hiveAdKey == null) {
                        // สร้างอินสแตนซ์โฆษณาแบนเนอร์
                        banner = AdizBanner.initialize(activity, bannerSize, adizListener)
                } else {
                        // คุณสามารถสร้างอินสแตนซ์โฆษณาแบนเนอร์โดยการป้อน hiveAdKey
                        banner = AdizBanner.initialize(activity, hiveAdKey, bannerSize, adizListener)
                }

                // requestLoadAd()
        }

        fun requestLoadAd() {
                // โหลดโฆษณาแบนเนอร์
                banner?.load()
        }

        fun requestShowAd() {
                // แสดงโฆษณาแบนเนอร์
                banner?.show()

                // ตั้งค่าตำแหน่งแบนเนอร์
                // var position = PositionType.TOP
                // banner?.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);
        }

        public void requestInitAd(Activity activity, String hiveAdKey) {

                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 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
                        }
                };

                if(TextUtils.isEmpty(hiveAdKey)) {
                        // สร้างตัวอย่างโฆษณาแบนเนอร์
                        banner = AdizBanner.initialize(activity, bannerSize, adizListener);
                } else {
                        // คุณสามารถสร้างตัวอย่างโฆษณาแบนเนอร์โดยการป้อน hiveAdKey
                        banner = AdizBanner.initialize(activity, hiveAdKey, bannerSize, adizListener);
                }

                // requestLoadAd();
        }

        private void requestLoadAd() {
                // โหลดโฆษณาแบนเนอร์
                if(banner != null) banner.load();
        }

        private void  requestShowAd() {
                // แสดงโฆษณาแบนเนอร์
                if(banner != null) banner.show();

                // ตั้งค่าตำแหน่งแบนเนอร์
                // PositionType position = PositionType.TOP;
                // if(banner != null) banner.show(position);
        }

        private void  requestDestroyAd() {
                // ลบโฆษณาแบนเนอร์
                if(banner != null) banner.destroy();
        }
}

โฆษณาพื้นเมือง (Native)

โฆษณาเนทีฟจะแสดงขนาดเฉพาะของเทมเพลตเนทีฟ โฆษณาเนทีฟได้รับการปรับให้เหมาะสมสำหรับหน้าจอแนวตั้ง ดังนั้นจึงแนะนำให้ใช้ในเกมแนวตั้ง (เกมหน้าจอแนวตั้ง) โฆษณาเนทีฟจะไม่ได้รับการเรียกคืน onClose() ดังนั้นคุณต้องเรียก destroy() จากตำแหน่งอื่นเพื่อยุติการโฆษณา

ขณะนี้ เทมเพลตสนับสนุนขนาด small หรือ medium

เทมเพลต การจัดตำแหน่ง ขนาดแบนเนอร์ คงที่
ขนาดเล็ก ด้านบน / ด้านล่าง BannerSize.NORMAL
ขนาดกลาง ตรงกลาง (คงที่) BannerSize.MEDIUM

สำหรับเทมเพลต small 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)
        }

        fun requestInitAd(activity: Activity, hiveAdKey: String? = null) {
                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 // รหัสสกุลเงินสำหรับรายได้เมื่อแสดงโฆษณา
                        }
                }

                if(hiveAdKey == null) {
                        // สร้างอินสแตนซ์โฆษณาเนทีฟ
                        nativeAd = AdizNative.initialize(activity, bannerSize, adizListener)
                } else {
                        // คุณสามารถสร้างอินสแตนซ์โฆษณาเนทีฟโดยการป้อน hiveAdKey
                        nativeAd = AdizNative.initialize(activity, hiveAdKey, bannerSize, adizListener)
                }

                // requestLoadAd()
        }

        fun requestLoadAd() {
                // โหลดโฆษณาพื้นเมือง
                nativeAd?.load()
        }

        fun requestShowAd() {
                // แสดงโฆษณาท้องถิ่น
                nativeAd?.show()

                // ตั้งค่าตำแหน่งแบนเนอร์
                // var position = PositionType.TOP
                // nativeAd?.show(position)
        }

        fun requestDestroyAd() {
                // Remove the native ad.
                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);
        }

        public void requestInitAd(Activity activity, String hiveAdKey) {

                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(); // รหัสสกุลเงินสำหรับรายได้เมื่อแสดงโฆษณา
                        }
                };

                if(TextUtils.isEmpty(hiveAdKey)) {
                        // สร้างอินสแตนซ์โฆษณาพื้นเมือง (ถ้าไม่มี AdKey ถูกป้อน อินสแตนซ์จะถูกสร้างด้วยคีย์เริ่มต้นที่ตั้งค่า is_default=true ซึ่งได้รับระหว่างการเริ่มต้นของ Adiz.)
                        nativeAd = AdizNative.initialize(activity, bannerSize, adizListener);
                } else {
                        // คุณสามารถสร้างอินสแตนซ์โฆษณาพื้นเมืองโดยการป้อน hiveAdKey.
                        nativeAd = AdizNative.initialize(activity, hiveAdKey, bannerSize, adizListener);
                }

                // requestLoadAd();
        }

        private void requestLoadAd() {
                // โหลดโฆษณาเนทีฟ
                if(nativeAd != null) nativeAd.load();
        }

        private void  requestShowAd() {
                // แสดงโฆษณาแบบเนทีฟ
                if(nativeAd != null) nativeAd.show();

                // ตั้งค่าตำแหน่งแบนเนอร์
                // PositionType position = PositionType.TOP;
                // if(nativeAd != null) nativeAd.show(position);
        }

        private void  requestDestroyAd() {
                // ลบโฆษณาพื้นเมือง
                if(nativeAd != null) nativeAd.destroy();
        }
}

โฆษณาที่ได้รับรางวัล (Rewarded)

นี่คือโฆษณาที่มีรางวัลซึ่งผู้ใช้จะได้รับรางวัลเมื่อดูโฆษณาเป็นระยะเวลาหนึ่ง เมื่อมีการมอบรางวัลสำเร็จ ข้อมูลรายการรางวัลจะถูกส่งผ่านการเรียกกลับ 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)
        }

        fun requestInitAd(activity: Activity, hiveAdKey: String? = null) {
                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 // จำนวนของรางวัล
                        }
                }

                if(hiveAdKey == null) {
                        // สร้างอินสแตนซ์โฆษณาที่ได้รับรางวัล
                        rewardedAd = AdizRewarded.initialize(activity, adizListener)
                } else {
                        // คุณสามารถสร้างอินสแตนซ์โฆษณาที่ได้รับรางวัลโดยการป้อน hiveAdKey
                        rewardedAd = AdizRewarded.initialize(activity, hiveAdKey, adizListener)
                }

                // requestLoadAd()
        }

        fun requestLoadAd() {
                // โหลดโฆษณาที่ได้รับรางวัล
                rewardedAd?.load()
        }

        fun requestShowAd() {
                // แสดงโฆษณาที่ได้รับรางวัล
                rewardedAd?.show()
        }

        fun requestDestroyAd() {
                // Remove the rewarded ad.
                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);
        }

        public void requestInitAd(Activity activity, String hiveAdKey) {

                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 shown
                                String currency = adRevenueData.getCurrency(); // Currency code for revenue when ad is shown
                        }

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

                        @Override
                        public void onRewarded(@NonNull RewardItem rewardItem) {
                                String rewardType = rewardItem.getItemType(); // ประเภทของรางวัล
                                int rewardAmount = rewardItem.getItemAmount(); // จำนวนของรางวัล  
                        }
                };

                if(TextUtils.isEmpty(hiveAdKey)) {
                        // สร้างอินสแตนซ์โฆษณาที่ให้รางวัล (ถ้าไม่มี AdKey ถูกป้อน อินสแตนซ์จะถูกสร้างด้วยคีย์เริ่มต้น (is_default=true) ซึ่งได้รับในระหว่างการเริ่มต้นของ Adiz.)
                        rewardedAd = AdizRewarded.initialize(activity, adizListener);
                } else {
                        // คุณสามารถสร้างอินสแตนซ์โฆษณาที่ให้รางวัลโดยการป้อน hiveAdKey.
                        rewardedAd = AdizRewarded.initialize(activity, hiveAdKey, adizListener);
                }

                // requestLoadAd();
        }

        private void requestLoadAd() {
                // โหลดโฆษณาที่ได้รับรางวัล
                if(rewardedAd != null) rewardedAd.load();
        }

        private void  requestShowAd() {
                // แสดงโฆษณาที่ได้รับรางวัล
                if(rewardedAd != null) rewardedAd.show();
        }

        private void  requestDestroyAd() {
                // Remove the rewarded ad.
                if(rewardedAd != null) rewardedAd.destroy();
        }
}

โฆษณาแบบเต็มหน้าจอที่ได้รับรางวัล (Rewarded interstitial)

โฆษณาแบบเต็มหน้าจอที่ได้รับรางวัลช่วยให้ผู้ใช้ได้รับรางวัลหลังจากดูโฆษณาเป็นระยะเวลาหนึ่ง เมื่อได้รับรางวัล ข้อมูลรายการรางวัลจะถูกส่งผ่านการเรียกกลับ 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)
        }

        fun requestInitAd(activity: Activity, hiveAdKey: String? = null) {
                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 // Revenue generated when ad is shown
                                var currency = adRevenueData.currency // Currency code for revenue when ad is shown
                        }

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

                        override fun onRewarded(rewardItem: RewardItem) {
                                var itemType = rewardItem.itemType // ประเภทของรางวัล
                                var itemAmount = rewardItem.itemAmount // จำนวนของรางวัล
                        }
                }

                if(hiveAdKey == null) {
                        // สร้างอินสแตนซ์ของโฆษณาแบบอินเตอร์สเตเชียลที่มีรางวัล
                        rewardedInterstitialAd = AdizRewardedInterstitial.initialize(activity, adizListener)
                } else {
                        // คุณสามารถสร้างอินสแตนซ์ของโฆษณาแบบอินเตอร์สเตเชียลที่มีรางวัลโดยการป้อน hiveAdKey
                        rewardedInterstitialAd = AdizRewardedInterstitial.initialize(activity, hiveAdKey, adizListener)
                }

                // requestLoadAd()
        }

        fun requestLoadAd() {
                // โหลดโฆษณาแบบอินเตอร์สเตเชียลที่ให้รางวัล
                rewardedInterstitialAd?.load()
        }

        fun requestShowAd() {
                // แสดงโฆษณาแบบอินเตอร์สเตเชียลที่ได้รับรางวัล
                rewardedInterstitialAd?.show()
        }

        fun requestDestroyAd() {
                // Removes the rewarded interstitial ad.
                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);
        }

        public void requestInitAd(Activity activity, String hiveAdKey) {

                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 generated when ad is shown
                                String currency = adRevenueData.getCurrency(); // Currency code for when ad is shown
                        }

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

                        @Override
                        public void onRewarded(@NonNull RewardItem rewardItem) {
                                String rewardType = rewardItem.getItemType(); // ประเภทของรางวัล
                                int rewardAmount = rewardItem.getItemAmount(); // จำนวนของรางวัล
                        }
                };

                if(TextUtils.isEmpty(hiveAdKey)) {
                        // สร้างอินสแตนซ์ของโฆษณาแบบอินเตอร์สเตเชียลที่ได้รับรางวัล (ถ้าคีย์โฆษณา (HiveAdKey) ไม่ถูกป้อน อินสแตนซ์จะถูกสร้างด้วยคีย์เริ่มต้น (is_default=true) ในระหว่างการเริ่มต้น Adiz.)
                        rewardedInterstitialAd = AdizRewardedInterstitial.initialize(activity, adizListener);
                } else {
                        // คุณสามารถสร้างอินสแตนซ์ของโฆษณาแบบอินเตอร์สเตเชียลที่ได้รับรางวัลโดยการป้อน hiveAdKey.
                        rewardedInterstitialAd = AdizRewardedInterstitial.initialize(activity, hiveAdKey, adizListener);
                }

                // requestLoadAd();
        }

        private void requestLoadAd() {
                // โหลดโฆษณาแบบอินเตอร์สเตเชียลที่ได้รับรางวัล
                if(rewardedInterstitialAd != null) rewardedInterstitialAd.load();
        }

        private void  requestShowAd() {
                // แสดงโฆษณาแบบอินเตอร์สเตเชียลที่ได้รับรางวัล
                if(rewardedInterstitialAd != null) rewardedInterstitialAd.show();
        }

        private void  requestDestroyAd() {
                // ลบโฆษณาแบบอินเตอร์สเตเชียลที่ได้รับรางวัล
                if(rewardedInterstitialAd != null) rewardedInterstitialAd.destroy();
        }
}

นี่คือเนื้อหาที่แปลแล้ว:

โฆษณาเปิดแอป (App open)

โฆษณาเปิดแอปจะแสดงโฆษณาที่โหลดล่วงหน้า (load()) เมื่อสถานะแอปเปลี่ยนจากพื้นหลังเป็นพื้นหน้า หากเรียกใช้ show() 3 ชั่วโมงหลังจากที่โฆษณาถูกโหลด โฆษณาจะถูกโหลดใหม่โดยอัตโนมัติก่อนที่จะถูกแสดง เมื่อโฆษณาแสดงอย่างน้อยหนึ่งครั้ง จะไม่ถูกโหลดใหม่โดยอัตโนมัติ

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)
        }

        fun requestInitAd(activity: Activity, hiveAdKey: String? = null) {
                val adizListener = object : AdizListener() {
                        override fun onLoad() {
                                //
                        }

                        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 // Revenue when ad is shown
                                var currency = adRevenueData.currency // Currency code for revenue when ad is shown
                        }

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

                if(hiveAdKey == null) {
                        // สร้างตัวอย่างโฆษณาเปิดแอป
                        appOpen = AdizAppOpen.initialize(activity, adizListener)
                } else {
                        // คุณสามารถสร้างตัวอย่างโฆษณาเปิดแอปโดยการป้อน hiveAdKey
                        appOpen = AdizAppOpen.initialize(activity, hiveAdKey, adizListener)
                }

                // requestLoadAd()
        }

        fun requestLoadAd() {
                // โหลดโฆษณาเปิดแอป หลังจากโหลดเสร็จแล้ว โฆษณาจะถูกแสดงโดยอัตโนมัติเมื่อแอปเคลื่อนจากพื้นหลังไปยังพื้นหน้า
                // เมื่อโฆษณาแสดงอย่างน้อยหนึ่งครั้ง จะไม่แสดงอีก ดังนั้นหากคุณต้องการแสดงโฆษณาต่อไป คุณต้องเรียก appOpen.load() อีกครั้งใน callback onClose()
                appOpen?.load()
        }

        fun requestDestroyAd() {
                // ลบโฆษณาที่เปิดแอป
                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);
        }

        public void requestInitAd(Activity activity, String hiveAdKey) {

                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(); // Revenue when ad is shown
                                String currency = adRevenueData.getCurrency(); // Currency code for revenue when ad is shown
                        }

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

                if(TextUtils.isEmpty(hiveAdKey)) {
                        // สร้างอินสแตนซ์โฆษณาเปิดแอป (หากไม่ป้อนคีย์โฆษณา (HiveAdKey) อินสแตนซ์จะถูกสร้างด้วยคีย์เริ่มต้น (is_default=true) ในระหว่างการเริ่มต้น Adiz.)
                        appOpen = AdizAppOpen.initialize(activity, adizListener);
                } else {
                        // คุณสามารถสร้างอินสแตนซ์โฆษณาเปิดแอปโดยการป้อน hiveAdKey.
                        appOpen = AdizAppOpen.initialize(activity, hiveAdKey, adizListener);
                }

                // requestLoadAd();
        }

        private void requestLoadAd() {
                // โหลดโฆษณาเปิดแอป
                if(appOpen != null) appOpen.load();
        }

        private void  requestDestroyAd() {
                // ลบโฆษณาเปิดแอป
                if(appOpen != null) appOpen.destroy();
        }
}