Unityで遊ぶ 広告を実装する(UnityAds)
Unityで遊んでます。
広告の実装方法についてのnoteです。
こんな方はぜひ。
・ゲームが好き
・プログラミングに興味がある
・Unityで広告を実装したい
・ゲームエンジンに興味がある
・インディゲームクリエイターに興味がある
広告にも種類があります。
今回はUnityAdsの広告実装です。
広告の種類については、こちらのnoteで書いてます。
UnityAdsのバナー広告を実装する
UnityAdsのバナー広告を実装する方法について、以下に手順とサンプルコードを示します。
UnityAdsのバナー広告を実装するには、以下のような手順で行います。
1.Unity Adsを設定する
まずは、Unity Adsを設定します。Unity Adsのサイトにアクセスし、アカウントを作成します。そして、UnityプロジェクトにUnity Ads SDKをインポートします。
・Unityでの設定
Unityを起動し、 Window > General > Service
「Create」ボタンを押下する。
サービスの一覧が表示されるので「Ads」を選択して有効にする。
13歳未満を対象にするかを聞かれるので、子供向けのゲームの場合はチェックをいれる。
(子供向けのゲームで大人向けの広告が表示されないようにするため)
「Continue」ボタンを押下するとUnity Adsがインポートされる。
インポートが終わったら「Go to Dashboard」ボタンでダッシュボードを開く。
・ダッシュボードでの設定
「Set Mediation Partner」ボタンを押下する。
Unity Ads以外の広告サービスを利用しているか聞かれるので、Admobなどを同時に利用する場合は設定する。
今回は、Unity Ads しか使わないので、右側を選択。右下の「OK」ボタンを押下。
Ad Units画面で自分のGame IDとAd Unit IDを確認する。
「Game ID」:アプリを識別するID
「Ad Unit ID」:広告の種類を識別するID
2.バナー広告を実装する
次に、バナー広告を実装します。以下のスクリプトを作成し、Canvasにアタッチします。
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Advertisements;
public class UnityAdsBanner : MonoBehaviour, IUnityAdsBannerListener
{
public string gameId = "YOUR_GAME_ID";
public string placementId = "BANNER_PLACEMENT_ID";
public Button showBannerButton;
public Button hideBannerButton;
private void Start()
{
// Initialize Unity Ads
Advertisement.Initialize(gameId, true);
// Set the banner listener
Advertisement.Banner.SetBannerListener(this);
// Load the banner
Advertisement.Banner.Load(placementId);
}
public void OnUnityAdsBannerLoaded(string placementId, BannerLoadOptions bannerLoadOptions)
{
// Show the banner when it is loaded
Advertisement.Banner.Show(placementId);
}
public void OnUnityAdsBannerClick(string placementId, BannerClickOptions bannerClickOptions)
{
// Handle banner click event
}
public void OnUnityAdsBannerFailedToLoad(string placementId, BannerLoadOptions bannerLoadOptions, BannerErrorInfo bannerErrorInfo)
{
// Handle banner load failure event
}
public void OnUnityAdsBannerScreenDismissed(string placementId, BannerErrorInfo bannerErrorInfo)
{
// Handle banner dismissed event
}
public void OnUnityAdsBannerScreenShow(string placementId, BannerOptions bannerOptions)
{
// Handle banner shown event
}
public void ShowBanner()
{
// Show the banner
Advertisement.Banner.Show(placementId);
}
public void HideBanner()
{
// Hide the banner
Advertisement.Banner.Hide(false);
}
}
上記スクリプトでは、UnityAdsBannerクラス内で下記を行います。
・Unity Adsの設定
・バナー広告のロードと表示
・イベントハンドラの設定 など
具体的には、StartメソッドでUnity Adsを初期化し、バナー広告のリスナーを設定し、バナー広告をロードします。
また、バナー広告のロードが完了したら、OnUnityAdsBannerLoadedメソッドが呼び出されてバナー広告を表示します。
その他のイベントハンドラ(OnXXXの名称のメソッド)では、バナー広告の表示やクリック、ロード失敗、非表示などのイベントを処理します。
3.ビルドと実行を行う
最後に、Unityプロジェクトをビルドし、実行します。
すると、画面下部にUnity Adsのバナー広告が表示されるはずです。
なお、実際にバナー広告を表示するには、広告ユニットIDを設定する必要があります。また、広告の位置やサイズ、表示されるタイミングなども細かく設定できますので、必要に応じて調整してください。
UnityでUnityAdsのインタースティシャル広告を実装する
Unity Adsのインタースティシャル広告を実装する方法について、以下に手順とサンプルコードを示します。
UnityAdsのインタースティシャル広告を実装するには、以下のような手順で行います。
1.Unity Adsを設定する
まずは、Unity Adsを設定します。Unity Adsのサイトにアクセスし、アカウントを作成します。そして、UnityプロジェクトにUnity Ads SDKをインポートします。
2.インタースティシャル広告を実装する
次に、インタースティシャル広告を実装します。
以下のスクリプトを作成し、任意のシーンにアタッチします。
csharpCopy codeusing UnityEngine;
using UnityEngine.Advertisements;
public class UnityAdsInterstitial : MonoBehaviour, IUnityAdsInterstitialListener
{
public string gameId = "YOUR_GAME_ID";
public string placementId = "INTERSTITIAL_PLACEMENT_ID";
private void Start()
{
// Initialize Unity Ads
Advertisement.Initialize(gameId, true);
// Set the interstitial listener
Advertisement.AddListener(this);
// Load the interstitial
Advertisement.Load(placementId);
}
public void OnUnityAdsInterstitialLoaded(string placementId)
{
// Interstitial ad is loaded and ready to be displayed
}
public void OnUnityAdsInterstitialShowStart(string placementId)
{
// Interstitial ad has started to show
}
public void OnUnityAdsInterstitialShowComplete(string placementId, ShowResult showResult)
{
// Interstitial ad has finished showing
if (showResult == ShowResult.Finished)
{
// Reward the player for watching the ad
}
}
public void OnUnityAdsInterstitialClick(string placementId)
{
// Player clicked on the interstitial ad
}
public void OnUnityAdsInterstitialFailed(string placementId, AdError error)
{
// Interstitial ad failed to load
}
public void ShowInterstitial()
{
if (Advertisement.IsReady(placementId))
{
// Show the interstitial
Advertisement.Show(placementId);
}
}
}
上記スクリプトでは、UnityAdsInterstitialクラス内で以下を行います。
・Unity Adsの設定
・インタースティシャル広告のロードと表示
・イベントハンドラの設定 など
具体的には、StartメソッドでUnity Adsを初期化し、インタースティシャル広告のリスナーを設定し、インタースティシャル広告をロードします。
また、インタースティシャル広告がロードされたら、OnUnityAdsInterstitialLoadedメソッドが呼び出します。
ShowInterstitialメソッドでは、インタースティシャル広告がロードされている場合に、Advertisement.Showメソッドを呼び出してインタースティシャル広告を表示します。
その他のイベントハンドラ(OnXXXの名称のメソッド)では、インタースティシャル広告の表示やクリック、ロード失敗、再生完了などのイベントを処理しています。
3.ビルドと実行を行う
上記のスクリプトを作成したら、ビルドして実行してみましょう。
Unityエディターでビルドする場合は、Unityエディター上部のメニューバーから「File」→「Build Settings」を選択し、ビルド対象のプラットフォームを選択します。その後、「Build」ボタンをクリックしてビルドします。
ビルドが完了したら、実際のデバイス上でアプリを実行して、インタースティシャル広告が表示されるか確認してください。なお、Unity Adsのインタースティシャル広告は、Unity Adsダッシュボードから設定したテストデバイスでのみ表示される場合があります。広告の表示状況を確認するには、Unity Adsダッシュボードで広告の状態を確認することができます。
UnityでUnityAdsのリワード広告を実装する
Unity Adsのリワード広告を実装する方法について、以下に手順とサンプルコードを示します。
UnityAdsのリワード広告を実装するには、以下のような手順で行います。
Unity Adsの設定を行う
リワード広告を実装する
ビルドと実行を行う
1.Unity Adsの設定を行う
まずは、Unity Adsを設定します。Unity Adsのサイトにアクセスし、アカウントを作成します。そして、UnityプロジェクトにUnity Ads SDKをインポートします。
3.リワード広告の実装
次に、リワード広告を実装します。
以下のスクリプトを作成し、任意のシーンにアタッチします。
具体的なサンプルコードを以下に示します。
using System.Collections;
using UnityEngine;
using UnityEngine.Advertisements;
public class RewardedAdScript : MonoBehaviour, IUnityAdsListener
{
private string gameId = "your_game_id";
private string myPlacementId = "rewardedVideo";
private bool testMode = true;
private int rewardAmount = 100;
private string rewardType = "gems";
private bool adReady = false;
void Start()
{
if (Advertisement.isSupported && !Advertisement.isInitialized)
{
Advertisement.Initialize(gameId, testMode);
}
Advertisement.AddListener(this);
}
public void ShowRewardedAd()
{
if (Advertisement.IsReady(myPlacementId))
{
Advertisement.Show(myPlacementId);
}
}
public void OnUnityAdsReady(string placementId)
{
if (placementId == myPlacementId)
{
adReady = true;
}
}
public void OnUnityAdsDidError(string message)
{
Debug.Log("Unity Ads error: " + message);
}
public void OnUnityAdsDidStart(string placementId)
{
}
public void OnUnityAdsDidFinish(string placementId, ShowResult showResult)
{
if (placementId == myPlacementId && showResult == ShowResult.Finished)
{
// リワード付与処理を実装
RewardPlayer();
}
}
private void RewardPlayer()
{
// リワード付与処理を実装
// ここでは、100個のジェムを付与する例を示しています。
Debug.Log("You earned " + rewardAmount + " " + rewardType + "!");
}
}
このサンプルコードでは、リワード広告を表示するための ShowRewardedAd() メソッドが定義されています。このメソッドを呼び出すことで、myPlacementId で指定されたリワード広告を表示することができます。リワード広告が再生された場合、OnUnityAdsDidFinish メソッドが呼び出され、ShowResult.Finished が渡されます。ここで、リワード付与処理を実装することができます。
また、このサンプルコードでは、Unity AdsのSDKを初期化し、IUnityAdsListener インターフェースを実装して、リワード広告の状態を受け取るようにしています。
4.ビルドと実行を行う
上記のスクリプトを作成したら、ビルドして実行してみましょう。
Unityエディターでビルドする場合は、Unityエディター上部のメニューバーから「File」→「Build Settings」を選択し、ビルド対象のプラットフォームを選択します。その後、「Build」ボタンをクリックしてビルドします。
、、、、
時間がなくなったので、今日はここまで、すいません。
もし、つづきに興味が湧いたら、あなたのワンコインお願いします。
そのワンコインで、がんばります。
何について、詳しいか
何について、きわめたいか
は
何について興味を持つか
面白そうっと思えるか
最後まで読んでいただき、感謝です(ペコリ)
ここから先は
¥ 500
この記事が気に入ったらサポートをしてみませんか?