Skip to content

Instantly share code, notes, and snippets.

@todorok1
Last active June 26, 2020 05:31
Show Gist options
  • Save todorok1/5e7d181e05ad2a39fd8d6aefbf635442 to your computer and use it in GitHub Desktop.
Save todorok1/5e7d181e05ad2a39fd8d6aefbf635442 to your computer and use it in GitHub Desktop.
Unity Adsのバージョンが3.3以降の場合のサンプルコード
using UnityEngine;
using UnityEngine.Advertisements;
using UnityEngine.UI;
/// <Summary>
/// 広告のテストを行うサンプルコードです。
/// </Summary>
public class AdSample : MonoBehaviour, IUnityAdsListener
{
// Unity Adsを有効化した時に発行されるIDを記載します。
#if UNITY_IOS
private string gameId = "<ダッシュボードから確認したID>";
#elif UNITY_ANDROID
private string gameId = "<ダッシュボードから確認したID>";
#endif
// 配置IDを定義します。
string myPlacementId = "rewardedVideo";
// テストモードかどうかのフラグです(Trueでテストモード)。
bool testMode = true;
// このサンプル用に作成した広告再生のボタンです。
public Button adButton;
void Start()
{
// リスナーとなるクラスをセットします。
Advertisement.AddListener(this);
// 広告を初期化して準備します。
Advertisement.Initialize(gameId, testMode);
}
void Update()
{
}
/// <Summary>
/// 動画再生のテストボタンが押された時の処理です。
/// </Summary>
public void OnClickAdButton()
{
// 広告を再生します。
Advertisement.Show(myPlacementId);
}
/// <Summary>
/// 広告が準備できた時の処理です。
/// </Summary>
public void OnUnityAdsReady(string placementId)
{
// 広告が準備できたらボタンを押せるようにします。
if (placementId == myPlacementId)
{
adButton.interactable = true;
}
}
/// <Summary>
/// 広告の再生が完了した時の処理です。
/// </Summary>
public void OnUnityAdsDidFinish(string placementId, ShowResult showResult)
{
if(showResult == ShowResult.Finished)
{
// 広告表示が完了した時の処理です。
Debug.Log("広告の再生が終わったのでユーザーにプレゼント!");
}
else if (showResult == ShowResult.Skipped)
{
// 広告表示がスキップ時の処理です。
Debug.Log("キングクリムゾン!");
}
else if (showResult == ShowResult.Failed)
{
// 広告の再生に失敗した時の処理です。
Debug.Log("広告の再生に失敗しました……エラーハンドリングしましょう。");
}
}
/// <Summary>
/// 広告を表示する際にエラーがあった時の処理です。
/// </Summary>
public void OnUnityAdsDidError(string message)
{
// 広告の再生に失敗した時の処理です。
Debug.Log("広告の再生に失敗しました……エラーハンドリングしましょう。");
}
/// <Summary>
/// 広告の再生が開始した時の処理です。
/// </Summary>
public void OnUnityAdsDidStart(string placementId)
{
// 広告の再生を開始したタイミングで何らかの処理を行うならここで。
// 何も処理しなくても、インタフェースで定義されているのでメソッドの記載は必要です。
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment