AdKit Unity for DARO¶
DARO向けAdKit Unityは、DARO APIを適用して開発されたUnity広告モジュールです。SDKまたは個別のモジュールと併用することで、ログが分析サーバーに送信され、別々の広告分析作業を省略できます。さらに、DAROが提供するUnityパッケージを適用する際に発生するエラーを修正し、試行錯誤を減らすことができるのは、SDKユーザーにとってAdKit Unity for DAROを使用する利点です。
このガイドでは、DARO用のAdKit Unityをインストールする方法、各OS Unity環境の前提条件を設定する方法、および各機能の使用方法について説明します。
インストールまたは更新¶
初めてDARO用のAdKitを使用する場合は、次の順序でインストールしてください。
また、既存のAdKitインストールを更新したい場合は、既存のインストール済みバージョンを削除し、次の順序でDARO用の最新バージョンのAdKitをインストールしてください。
- 最新版のAdKitをDARO用にダウンロードしてインストールします。
-
Unityのツールバーで、Assets > Import Package > Custom Package...に移動し、.unitypackageファイルを選択してImportをクリックします。
-
インポート完了後、Hive AdKitおよびDARO関連のファイルとフォルダーがAssetsフォルダー内に作成されていることを確認してください。
-
ダウンロードして、EDM4Uの最新バージョンをインストールしてください。 EDM4UはHive SDK v4に含まれています。Hive SDK v4を使用している場合は、このステップをスキップしてください。
削除¶
DAROのためにHive AdKitを削除するには、Unityプロジェクト内の以下のフォルダーを削除してください:
- Assets/HIVEAdKit
- Assets/HIVEAdKit_Example
前提条件の設定¶
AdKit for DAROのインストールを完了した後、それを適用するための前提条件の設定ステップとして、各OSのDAROキー値を追加し、ビルド設定を確認します。
Android¶
DAROダッシュボードからダウンロードしたキー値をAndroidベースのUnityプロジェクトに追加します。
- ダウンロードした android-daro-key.txt ファイルを HIVEAdKit/Plugins/Android フォルダーにコピーします。
- android-daro-key.txt ファイルは、 DARO ダッシュボード - アプリ画面の「キー ファイル」のダウンロードボタンをクリックすることでダウンロードできます。
- gradleTemplage.properties に
daroAppKey
を次のように追加します:- 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のセクションのコメントを解除し、以下のように内部値を追加します:
// Set GADApplicationIdentifier (Please contact Daro for your own ADMOB APPID) //rootDict.SetString("GADApplicationIdentifier", "YOUR GOOGLE ADMOB APPID"); // DaroAppKeyを設定します(独自のDaro App KeyについてはDAROにお問い合わせください) //rootDict.SetString("DaroAppKey", "YOUR Daro App Key");
- Google Admob appIdとDaro App KeyはDAROダッシュボードからダウンロードできます。
iOSビルド設定の検証¶
iOSプロジェクトを構築する際、UnityFrameworkターゲットがDynamicFrameworkとして動作するように作成されます。
-
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 Exampleの設定が含まれている可能性があります。
DARO Proguard 設定¶
ProguardルールはライブラリAARファイルに含まれて配布されるため、別途設定を行わなくても自動的に構成されます。
使用ガイド¶
このセクションでは、DARO機能のためにAdKit Unityを使用する際の設定とAPI呼び出し方法についてのガイダンスを提供します。
AdKitの初期化¶
- あなたのゲームがヨーロッパおよび英国(EEA & UK)地域を対象とする場合、GDPR同意ポップアップを表示するために
ShowConsentUI
APIを呼び出した後に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));
}
報酬広告機能¶
広告を一定時間以上視聴することで報酬を得られる報酬広告機能を提供します。一度に読み込める広告は1つのみです。報酬広告機能を実装するためのコードは以下の通りです:
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;
}