質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AdMob

AdMobは、事前に指定した条件に従ってアプリに広告を表示するGoogleのサービス。開発者の向けのサービスで、広告を掲載することにより、収益を得ることが可能です。その他、見た目や雰囲気などアプリに合う広告に変更したり、広告表示の場所を指定することもできます。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

4368閲覧

リワード広告を実装したいがNo overloadというエラーが起きた

Lemon_0715

総合スコア60

AdMob

AdMobは、事前に指定した条件に従ってアプリに広告を表示するGoogleのサービス。開発者の向けのサービスで、広告を掲載することにより、収益を得ることが可能です。その他、見た目や雰囲気などアプリに合う広告に変更したり、広告表示の場所を指定することもできます。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/09/02 10:01

こちらのサイトを参考にコピペでリワード広告を実装しようとしたところ33行目に

error CS0123: No overload for 'HandleRewardedAdFailedToLoad' matches delegate 'EventHandler<AdErrorEventArgs>'

というエラーが発生しました。
今まで見たことないエラーで調べても情報があまり無かったです。
翻訳しても『「HandleRewardedAdFailedToLoad」のオーバーロードがデリゲート「EventHandler <AdErrorEventArgs>」に一致しません』とあるものの、66行目にあるpublic void HandleRewardedAdFailedToLoadにどうすれば一致させればいいのかもわからず手詰まりになっています。

C#

1using UnityEngine.Events; 2using UnityEngine; 3using GoogleMobileAds.Api; 4using GoogleMobileAds.Common; 5using UnityEngine.UI; 6using System; 7using System.Collections.Generic; 8 9 10public class RewardAd : MonoBehaviour 11{ 12 13 private RewardedAd rewardedAd; 14 15 // Start is called before the first frame update 16 void Start() 17 { 18 string adUnitId; 19 #if UNITY_ANDROID 20 adUnitId = "ca-app-pub-3940256099942544/5224354917"; 21 #elif UNITY_IPHONE 22 adUnitId = "ca-app-pub-3940256099942544/1712485313"; 23 #else 24 adUnitId = "unexpected_platform"; 25 #endif 26 27 this.rewardedAd = new RewardedAd(adUnitId); 28 29 30 // Called when an ad request has successfully loaded. 31 this.rewardedAd.OnAdLoaded += HandleRewardedAdLoaded; 32 33//下でエラーが出てます 34 // Called when an ad request failed to load. 35 this.rewardedAd.OnAdFailedToLoad += HandleRewardedAdFailedToLoad; 36 37 38 // Called when an ad is shown. 39 this.rewardedAd.OnAdOpening += HandleRewardedAdOpening; 40 // Called when an ad request failed to show. 41 this.rewardedAd.OnAdFailedToShow += HandleRewardedAdFailedToShow; 42 // Called when the user should be rewarded for interacting with the ad. 43 this.rewardedAd.OnUserEarnedReward += HandleUserEarnedReward; 44 // Called when the ad is closed. 45 this.rewardedAd.OnAdClosed += HandleRewardedAdClosed; 46 47 48 // Create an empty ad request. 49 AdRequest request = new AdRequest.Builder().Build(); 50 // Load the rewarded ad with the request. 51 this.rewardedAd.LoadAd(request); 52 } 53 54 55 56 private void UserChoseToWatchAd() 57 { 58 if (this.rewardedAd.IsLoaded()) 59 { 60 this.rewardedAd.Show(); 61 } 62 } 63 64 65 public void HandleRewardedAdLoaded(object sender, EventArgs args) 66 { 67 MonoBehaviour.print("HandleRewardedAdLoaded event received"); 68 } 69 70 71 72 public void HandleRewardedAdFailedToLoad(object sender, AdFailedToLoadEventArgs args) 73 { 74 MonoBehaviour.print( 75 "HandleRewardedAdFailedToLoad event received with message: " 76 + args.Message); 77 } 78 79 80 81 public void HandleRewardedAdOpening(object sender, EventArgs args) 82 { 83 MonoBehaviour.print("HandleRewardedAdOpening event received"); 84 } 85 86 public void HandleRewardedAdFailedToShow(object sender, AdErrorEventArgs args) 87 { 88 MonoBehaviour.print( 89 "HandleRewardedAdFailedToShow event received with message: " 90 + args.Message); 91 } 92 93 public void HandleRewardedAdClosed(object sender, EventArgs args) 94 { 95 MonoBehaviour.print("HandleRewardedAdClosed event received"); 96 } 97 98 public void HandleUserEarnedReward(object sender, Reward args) 99 { 100 string type = args.Type; 101 double amount = args.Amount; 102 MonoBehaviour.print( 103 "HandleRewardedAdRewarded event received for " 104 + amount.ToString() + " " + type); 105 } 106 107}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。

ソースを参照したところ、過去に以下のように定義に変更が加えられているのが見つかりました。
https://github.com/googleads/googleads-mobile-unity/commit/920ca8111a17feb6866fa79dfda6ca24b5063adb#diff-be585c31a50d300ba29dcf632bbe2360f0b0b2e938aba1cd3191ee198447ee4fL92-R101
Mobile Ads SDK のバージョンを確認してください。

投稿2021/09/02 10:37

tamoto

総合スコア4110

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lemon_0715

2021/09/02 10:57

リンクへ飛んでからは一体どうすればいいんでしょうか...? 全くわかっていないもので申し訳ないです
Lemon_0715

2021/09/02 11:33

解決しました。ありがとうございました!
退会済みユーザー

退会済みユーザー

2021/09/09 04:04

僕も同じような問題に直面していますが、どうすればいいか分かりません。 スクリプトに対し具体的にどのようなことを行いましたか?
tamoto

2021/09/09 06:15

「同じような問題」というのがどのようなものかが正確に分からなければ回答のしようがないですね。 質問者さんが実際にどのようにして解決したのかは書かれていないので分かりませんが、本回答で提示した情報は、「パッケージのバージョン間差分との不整合」なので、解決策としては、スクリプトに対しては一切手を加えないまま「インストールしたパッケージのバージョンを更新するだけで勝手に直る」ことを想定しています。 この情報では解決しない問題であるなら、情報を集めて質問を立てると良いと思います。
Takeshoot

2022/02/06 03:10

HandleRewardedAdFailedToLoad(object sender, AdErrorEventArgs args) の引数の型を↓に変更 HandleRewardedAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問