![見出し画像](https://assets.st-note.com/production/uploads/images/71665336/rectangle_large_type_2_41579c0ef78b576ecc2ed8419726c064.png?width=800)
MMORTBS開発記-034 広告ガチャ作成
いつもありがとうございます。
スキマ時間開発のお時間です。よろしくお願いします。
前回までのあらすじ
課金アイテム周りが完成しました。
では、次はリワードガチャ。広告を使えるようにしていきます。
まずは、Admobにアプリを追加。
![](https://assets.st-note.com/img/1644204567142-2exVCurSAE.png?width=800)
![](https://assets.st-note.com/img/1644205480095-77UlPmdm3u.png?width=800)
![](https://assets.st-note.com/img/1644205525896-j1Jkm8YAxh.png?width=800)
私自身が、ゲームで望まない広告出されると基本即アンインストールの人なので。。。
![](https://assets.st-note.com/img/1644205578137-hipxq5v1Iy.png?width=800)
![](https://assets.st-note.com/img/1644205594057-oxWIbsxHb6.png?width=800)
![](https://assets.st-note.com/img/1644205629752-KXE6jcY6Kz.png?width=800)
次はUnityにAdmod用のプラグインを追加します。
まずは、gitからモジュールを取得します。
![](https://assets.st-note.com/img/1644301168991-ozcrP105EK.png?width=800)
gitから取得したパッケージをインポートします。
![](https://assets.st-note.com/img/1644205861122-0DIes4hq46.png?width=800)
![](https://assets.st-note.com/img/1644205890298-R38IOqK0Xj.png)
![](https://assets.st-note.com/img/1644206195905-0sU3HzVcsG.png)
![](https://assets.st-note.com/img/1644206246768-hizDVqvleW.png)
![](https://assets.st-note.com/img/1644206282365-dddwdcpCT4.png)
![](https://assets.st-note.com/img/1644297709734-h8g7HmYxGJ.png)
![](https://assets.st-note.com/img/1644297791605-75sw5SW87X.png)
設定はここまで。
次はC#です。
参考サイトはこちら
まずはこれらのコードをそっくり移植。
public bool ShowRewardAd()
{
if (rewardedAd.IsLoaded()) {
rewardedAd.Show();
return true;
} else {
Debug.Log("not loaded");
return false;
}
}
void LoadRewardAd()
{
// Clean up banner ad before creating a new one.
if (rewardedAd != null) {
rewardedAd = null;
}
rewardedAd = new RewardedAd(adId);
// Register for ad events.
rewardedAd.OnAdLoaded += HandleRewardAdLoaded;
rewardedAd.OnAdFailedToLoad += HandleRewardAdFailedToLoad;
rewardedAd.OnAdOpening += HandleRewardedAdAdOpened;
rewardedAd.OnAdClosed += HandleRewardedAdAdClosed;
rewardedAd.OnUserEarnedReward += HandleUserEarnedReward;
rewardedAd.OnAdFailedToShow += HandleRewardedAdFailedToShow;
AdRequest adRequest = new AdRequest.Builder().Build();
this.rewardedAd.LoadAd(adRequest);
}
public void HandleRewardAdLoaded(object sender, EventArgs args)
{
Debug.Log("HandleRewardAdLoaded event received with message: " + args);
rewardedAdRetry = false;
}
public void HandleRewardAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
LoadAdError loadAdError = args.LoadAdError;
int code = loadAdError.GetCode();
string message = loadAdError.GetMessage();
Debug.Log("Load error string: " + loadAdError.ToString());
Debug.Log("code: " + code.ToString());
MonoBehaviour.print(
"HandleRewardedAdFailedToLoad event received with message: "
+ message);
if (code == 2 || code == 0) {
Debug.Log("error");
} else {
Debug.Log("error no fill");
}
rewardedAdRetry = true;
}
public void HandleRewardedAdAdOpened(object sender, EventArgs args)
{
Debug.Log("HandleRewardedAdAdOpened event received");
}
public void HandleRewardedAdFailedToShow(object sender, AdErrorEventArgs args)
{
MonoBehaviour.print(
"HandleRewardedAdFailedToShow event received with message: "
+ args.AdError.GetMessage());
}
public void HandleUserEarnedReward(object sender, Reward args)
{
string type = args.Type;
double amount = args.Amount;
MonoBehaviour.print(
"HandleRewardedAdRewarded event received for "
+ amount.ToString() + " " + type);
}
public void HandleRewardedAdAdClosed(object sender, EventArgs args)
{
Debug.Log("HandleRewardedAdClosed event received");
rewardedAdRetry = true;
}
広告処理を広告ガチャに組み込んで、動かしてみます。
![](https://assets.st-note.com/production/uploads/images/71768145/picture_pc_d6d340e69a194107081b3653d8f672de.gif)
さて。マネタイズ周りも作成したところで、しばらくは細かいゲーム仕様追加を入れていきましょう。
最後まで読んでいただきありがとうございました。
この記事が気に入ったらサポートをしてみませんか?