Android
Adkit for ADOP: Android¶
安裝¶
- 下載並解壓最新版本的 AdKit 文件。
- 將 AdKit.gradle 文件複製到項目應用程序的路徑。
- 將以下內容添加到您的項目應用程序的 build.gradle 文件中:
設定¶
添加格式為 ca-app-pub-XXXXX~YYYYY
的 AdMobId,以及 ADOP APP_KEY 到在 Android 專案中生成的 AndroidManifest.xml 文件。ADOP APP_KEY 可以在登錄 ADOP Insight 後的帳戶管理 > 我的資訊 > 詳情中找到。
<application>
…
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-XXXXX~YYYYY"/>
<meta-data
android:name="com.google.android.gms.ads.AD_MANAGER_APP"
android:value="true"/>
<meta-data
android:name="com.adop.sdk.APP_KEY"
android:value="6933aab2-7f78-11ed-a117-XXXXXXXXX"/>
…
</application>
如何使用¶
ADOP Proguard 設定¶
如果您正在使用 Proguard,请添加以下 ADOP Proguard 设置。
-keep class com.adop.sdk.** { *; }
-keep class ad.helper.openbidding.** { *; }
-keep class com.adop.sdk.adapter.**{ *; }
-keepnames class * implements java.io.Serializable
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
!static !transient ;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
-keepclassmembers class * {
@android.webkit.JavascriptInterface ;
}
# Pangle
-keep class com.bytedance.sdk.** { *; }
-keep class com.bykv.vk.openvk.component.video.api.** { *; }
# Tapjoy
-keep class com.tapjoy.** { *; }
-keep class com.moat.** { *; }
-keepattributes JavascriptInterface
-keepattributes *Annotation*
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
-keep class com.google.android.gms.ads.identifier.** { *; }
-dontwarn com.tapjoy.**
測試廣告金鑰在 ADOP 中¶
使用 ADOP 發出的測試廣告金鑰是必需的。
var bannerZoneId = "944fe870-fa3a-4d1b-9cc2-38e50b2aed43"
var interstitialZoneID = "e9acd7fc-a962-40e4-aaad-9feab1b4f821"
var rewardVideoZoneId = "7d9a2c9e-5755-4022-85f1-6d4fc79e4418"
var appOpenAdZoneId = "33906f96-dae8-4790-8ce4-d1f287ba00b2"
初始化 AdKit¶
執行 AdKit 初始化。
在進行重置時,如果您位於歐洲和英國(EEA 和英國)地區,將自動顯示 GDPR 同意彈出窗口。在其他地區,重置會立即執行。
- 如果您的遊戲針對EEA和英國地區,請確保您的GDPR同意彈出窗口根據GDPR消息指南設置。
import com.com2us.hive.adkit.*
// Commercial
AdKit.InitializeWithShowGDPRConsent(this.activity, false, null)
// GDPR EEA test mode
AdKit.InitializeWithShowGDPRConsent(this.activity, true, gdprTestDeviceId)
在發生分析日誌時,可以包含用戶的附加信息,並且數據以JSONObject類型傳遞。
獎勵視頻類型¶
獎勵視頻類型廣告會對觀看視頻一段時間的用戶進行獎勵,並且每次只能加載一個廣告。
// RewardVideo Instance Create
var rewardVideo:RewardVideo? = null
rewardVideo = RewardVideo.Initialize(this.activity, rewardVideoZoneId, object : EventHandlers() {
override fun onAdLoaded() {}
override fun onAdOpening() {}
override fun onAdClosed() {}
override fun onAdFailed() {}
override fun onAdClick() {}
override fun onAdReward() {}
})
// RewardVideo Load
rewardVideo?.LoadAd("NativeRewardVideo-Load")
// RewardVideo Show
rewardVideo?.Show("NativeRewardVideo-Show")
此外,adPlacementInfo
可以作为字符串传递,该字符串在成功 Load
或通过 Show
展示广告时设置。
插播類型¶
插播類型廣告使用全螢幕,覆蓋遊戲的介面。
// Interstitial Instance Create
var interstitial:Interstitial? = null
interstitial = Interstitial.Initialize(this.activity, interstitialZoneId, object : EventHandlers() {
override fun onAdLoaded() {}
override fun onAdOpening() {}
override fun onAdClosed() {}
override fun onAdFailed() {}
override fun onAdClick() {}
})
// Interstitial Load
interstitial?.LoadAd("NativeInterstitial-Load")
// Interstitial Show
interstitial?.Show("NativeInterstitial-Show")
此外,adPlacementInfo
可以作为字符串传递,该字符串在成功 Load
或通过 Show
显示广告时设置。
自適應橫幅類型¶
自適應橫幅類型廣告是一種佔據螢幕位置的滾動橫幅。您可以使用 BannerPosition 或 yPos 值來調整橫幅位置。 如果您提供 yPos 來調整橫幅位置,橫幅將對齊螢幕底部,然後將根據您指定的 yPos 值向上移動。
// the example codes using the BannerPosition
var adaptiveBanner: AdaptiveBanner? = null
// Create AdaptiveBanner Instance at Top of View
adaptiveBanner = AdaptiveBanner.Initialize(this.activity, bannerZoneId, AdaptiveBanner.BannerPosition.Top, object : EventHandlers() {
override fun onAdLoaded() {}
override fun onAdOpening() {}
override fun onAdClosed() {}
override fun onAdFailed() {}
override fun onAdClick() {}
})
// Create AdaptiveBanner Instance at Bottom of View
adaptiveBanner = AdaptiveBanner.Initialize(this.activity, bannerZoneId, AdaptiveBanner.BannerPosition.Bottom, object : EventHandlers() {
override fun onAdLoaded() {}
override fun onAdOpening() {}
override fun onAdClosed() {}
override fun onAdFailed() {}
override fun onAdClick() {}
})
// AdaptiveBanner Load & Automatic show
adaptiveBanner?.LoadAd("NativeAdaptiveBanner-Load")
// Destroy AdaptiveBanner
adaptiveBanner?.Destroy()
// This example shows adjusting the banner position with specifiying the yPos value.
var adaptiveBanner: AdaptiveBanner? = null
adaptiveBanner = AdaptiveBanner.Initialize(this.activity, bannerZoneId, yPos, object : EventHandlers() {
override fun onAdLoaded() {}
override fun onAdOpening() {}
override fun onAdClosed() {}
override fun onAdFailed() {}
override fun onAdClick() {}
})
// Banner Load
adaptiveBanner?.LoadAd("NativeAdaptiveBanner-Load")
// Banner Show
adaptiveBanner?.Show("NativeAdaptiveBanner-Show")
// Banner Hide
adaptiveBanner?.Hide()
// The position is adjusted following the yPos value.
adaptiveBanner?.setPosition(yPos)
此外,adPlacementInfo
可以作为字符串传递,该字符串在成功 Load
或通过 Show
显示广告时设置。
AppOpen 類型廣告¶
當應用程式狀態從背景變為前景時,會顯示廣告的類型。
// Create AppOpenAd Instance
var appOpenAd: AppOpenAd? = null
appOpenAd = AppOpenAd.Initialize(this.activity, appOpenAdZoneId, object : EventHandlers() {
override fun onAdLoaded() {}
override fun onAdOpening() {}
override fun onAdClosed() {}
override fun onAdFailed() {}
})
// Automatically load & show AppOpenAd when the app comes to the foreground
appOpenAd?.LoadAd("NativeAppOpen-Load")
// Destroy AppOpenAd
appOpenAd?.Destroy()
測試廣告¶
對於廣告主來說,在開發過程中點擊測試廣告時不被收費是很重要的。如果您在測試模式之外過多地點擊廣告,則會被視為無效行為。因此,請注意不要成為被報告的目標帳戶。請參考Google Developers以使用測試廣告。
卸載¶
將安裝期間設置的文件恢復到其原始狀態。