AdKit Unity for DARO¶
AdKit Unity for DARO 是一個通過應用 DARO API 開發的 Unity 廣告模塊。當與 SDK 或單獨模塊一起使用時,日誌會發送到分析伺服器,讓您可以跳過單獨的廣告分析工作。此外,使用 AdKit Unity for DARO 可以讓 SDK 用戶修復錯誤並減少在應用 DARO 提供的 Unity 套件時發生的試錯。
本指南解释了如何为DARO安装AdKit Unity,配置每个操作系统Unity环境的先决条件,以及如何使用每个功能。
安裝或更新¶
如果您是第一次使用 AdKit for DARO,請按照以下順序進行安裝。
或者,如果您想要更新現有的 AdKit 安裝,請刪除現有的安裝版本,然後按照以下順序安裝最新版本的 AdKit for DARO。
- 下載並安裝最新版本的 AdKit 用於 DARO。
-
在 Unity 工具欄中,轉到 資產 > 導入包 > 自定義包...,選擇 .unitypackage 文件,然後點擊 導入。
-
下載並安裝最新版本的 EDM4U。 EDM4U 包含在 Hive SDK v4 中。如果您正在使用 Hive SDK v4,請跳過此步驟。
刪除¶
要删除 Hive AdKit for DARO,请删除您 Unity 项目中的以下文件夹:
- 資產/HIVEAdKit
- 資產/HIVEAdKit_範例
先決條件配置¶
在完成 AdKit for DARO 的安裝後,作為應用它的先決條件配置步驟,為每個操作系統添加 DARO 鍵值並驗證構建設置。
Android¶
將從 DARO 儀表板下載的鍵值添加到基於 Android 的 Unity 項目中。
- 將下載的 android-daro-key.txt 檔案複製到 HIVEAdKit/Plugins/Android 資料夾中。
- android-daro-key.txt 檔案可以通過點擊 DARO 儀表板 - 應用程式 畫面上的「下載」按鈕來下載。
- 將
daroAppKey
添加到 gradleTemplage.properties,如下所示:- daroAppKey 可以在 DARO 儀表板 - 應用程式 畫面上的「DARO 應用程式金鑰」中找到。
- daroAppKey 可以在 DARO 儀表板 - 應用程式 畫面上的「DARO 應用程式金鑰」中找到。
iOS¶
將從 DARO 儀表板下載的鍵值添加到基於 iOS 的 Unity 項目中。
- 将下载的 ios-daro-key.txt 文件复制到 HIVEAdKit/Plugins/iOS 文件夹中。
- ios-daro-key.txt 文件可以从 DARO 仪表板 下载。
- 在 HIVEAdKit/Editor/iOSAdKitPostBuildProcessor.cs 文件中,取消注释被注释的 Google Admob appId 和 Daro App Key 部分,并添加内部值,如下所示:
// 设置 GADApplicationIdentifier(请联系 Daro 获取您自己的 ADMOB APPID) //rootDict.SetString("GADApplicationIdentifier", "YOUR GOOGLE ADMOB APPID"); // 設定 DaroAppKey(請聯繫 DARO 獲取您自己的 Daro App Key) //rootDict.SetString("DaroAppKey", "YOUR Daro App Key");
- Google Admob appId 和 Daro App Key 可以從 DARO 儀表板 下載。
iOS 建置設定驗證¶
在构建 iOS 项目时,会创建一个作为动态框架运行的 UnityFramework 目标。
-
EDM4U 配置(基于 1.2.179) 在 Unity 的 iOS Resolver Settings(菜单:Assets > External Dependency Manager > iOS Resolver > Settings)中,确认 static_framework 构建设置已配置。
-
建立專案。建置完成後,從生成的專案根路徑打開Podfile以驗證檔案設定。
Warning
在建立應用AdKit Unity的生產服務之前,您必須刪除Assets/HIVEAdKit_Example資料夾。HIVEAdKit範例設定可能已包含在內。
DARO Proguard 配置¶
Proguard 規則包含在庫 AAR 檔案中並分發,因此它們會自動配置,而無需單獨設置。
使用指南¶
本節提供有關使用 AdKit Unity 進行 DARO 功能的設置和 API 調用方法的指導。
AdKit 初始化¶
- 如果您的游戏目标是欧洲和英国(EEA & UK)地区,您必须在调用
ShowConsentUI
API 以显示 GDPR 同意弹出窗口后初始化 AdKit。如果您仅在国内提供服务,请直接调用HIVEAdKit.Initialize
API 进行初始化。
所有由 HIVEAdKit 提供的 API 功能必须从 Unity 的 主线程 调用。
using hive.adkit.daro;
// Call GDPR popup
public void ShowGDPR(string noticeId)
{
HIVEAdKit.ShowConsentUI(noticeId, () =>
{
initSdk();
});
}
// Hive AdKit initialization
public void initSdk()
{
HIVEAdKit.Initialize(isSuccess =>
{
if (isSuccess)
Debug.Log("AdKit SDK initialization successful!");
else
Debug.Log("AdKit SDK initialization failed!");
});
}
使用回調¶
要使用回調函數,您必須調用 HIVEAdKit.InitPlugin
將 AdKitCallbackManager 註冊為 GameObject。
在應用程序啟動時,請在 Start 代碼區塊中調用此函數。
using hive.adkit.daro;
void Start()
{
HIVEAdKit.InitPlugin(); // Create game object for Hive AdKit callback registration
}
設定附加資訊¶
您可以設定附加資訊。實作代碼如下:
using hive.adkit.daro;
[Serializable]
public class SendInfo
{
public int level;
public int gold;
}
SendInfo addtionalInfo = new SendInfo();
public void SetAdditionalInfo()
{
addtionalInfo.level = 1;
addtionalInfo.gold = 100;
// Send as JSON Object format
HIVEAdKit.SetAdditionalInfo(JsonUtility.ToJson(addtionalInfo));
}
獎勵廣告功能¶
提供獎勵廣告功能,當觀看廣告達到一定時間或更長時間時給予獎勵。一次只能加載一個廣告。實現獎勵廣告功能的代碼如下:
using hive.adkit.daro;
private HIVEAdKit.RewardVideo RewardVideoAd = null;
public void InitRewardedAd()
{
// Set Event Callback
EventHandlers eventHandlers = new EventHandlers.Builder()
.OnAdLoaded(OnRewardVideoAdLoadedCB)
.OnAdOpening(OnRewardVideoAdOpeningCB)
.OnAdClosed(OnRewardVideoAdClosedCB)
.OnAdFailed(OnRewardVideoAdFailedCB)
.OnAdReward(OnRewardVideoAdRewardCB)
.OnAdClick(OnRewardVideoAdClickCB)
.OnAdPaidEvent(OnRewardVideoAdPaidEventCB)
.Build();
// Create RewardVideoAd Instance
RewardVideoAd = HIVEAdKit.RewardVideo.Initialize(rewardVideoUnitId, eventHandlers);
}
public void LoadRewardedAd()
{
// Load RewardVideoAd
HIVEAdKit.RewardVideo.Load(RewardVideoAd, "Unity-RewardVideo-Load-AdPlacementInfo");
}
public void ShowRewardedAd()
{
// Show RewardVideoAd
if( HIVEAdKit.RewardVideo.IsLoaded(RewardVideoAd) ) {
HIVEAdKit.RewardVideo.Show(RewardVideoAd, "Unity-RewardVideo-Show-AdPlacementInfo");
}
}
public void DestroyRewardedAd()
{
// Destroy RewardVideoAd
HIVEAdKit.RewardVideo.Destroy(RewardVideoAd);
RewardVideoAd = null;
}
插播廣告功能¶
提供佔據整個螢幕的插播廣告功能。實現代碼如下:
using hive.adkit.daro;
private HIVEAdKit.Interstitial InterstitialAd = null;
public void InitRewardedAd(string unitId)
{
// Set Event Callback
EventHandlers eventHandlers = new EventHandlers.Builder()
.OnAdLoaded(OnInterstitialAdLoadedCB)
.OnAdOpening(OnInterstitialAdOpeningCB)
.OnAdClosed(OnInterstitialAdClosedCB)
.OnAdFailed(OnInterstitialAdFailedCB)
.OnAdClick(OnInterstitialAdClickCB)
.OnAdPaidEvent(OnInterstitialAdPaidEventCB)
.Build();
// Create InterstitialAd Instance
InterstitialAd = HIVEAdKit.Interstitial.Initialize(unitId, eventHandlers);
}
public void LoadInterstitialAd()
{
// Load InterstitialAd
HIVEAdKit.Interstitial.Load(InterstitialAd, "Unity-Interstitial-Load-AdPlacementInfo");
}
public void ShowInterstitialAd()
{
// Show InterstitialAd
if( HIVEAdKit.Interstitial.IsLoaded(InterstitialAd) ) {
HIVEAdKit.Interstitial.Show(InterstitialAd, "Unity-Interstitial-Show-AdPlacementInfo");
}
}
public void DestroyInterstitialAd()
{
// Destroy InterstitialAd
HIVEAdKit.Interstitial.Destroy(InterstitialAd);
InterstitialAd = null;
}
橫幅廣告功能¶
提供佔據部分螢幕的橫幅廣告功能。您可以通過輸入 BannerPosition
來調整橫幅的位置到螢幕的上方或下方。
橫幅廣告不會接收 OnAdClosed()
回調。
using hive.adkit.daro;
private HIVEAdKit.Banner BannerAd = null;
public void InitBannerAd(string unitId)
{
// Set Event Callback
EventHandlers eventHandlers = new EventHandlers.Builder()
.OnAdLoaded(OnBannerAdLoadedCB)
.OnAdFailed(OnBannerAdFailedCB)
.OnAdClick(OnBannerAdClickCB)
.OnAdPaidEvent(OnBannerAdPaidEventCB)
.Build();
BannerAd = HIVEAdKit.Banner.Initialize(unitId, BannerPosition.Bottom, eventHandlers);
}
public void LoadBannerAd()
{
// Automatic Load & Show BannerAd
HIVEAdKit.AdaptiveBanner.Load(BannerAd, "Unity-AdaptiveBanner-Load-AdPlacementInfo");
}
public void DestroyBannerAd()
{
// Destroy BannerAd
HIVEAdKit.Banner.Destroy(BannerAd);
BannerAd = null;
}