前提・実現したいこと
Unityでアダプティブバナーを表示させようとしました。
googleのサンプルコードをそのままコピペするとコンパイルエラーになり、
コメントアウトすると問題なく動作したように思います。
下記4つについて知りたいです。
1つ目
コメントアウトしたコードの役割となぜエラーになったのか。
2つ目
画像の➀で1920×1080にしているのに➁で2960×1440になっているのはなぜか。
3つ目
➂の意味。(HeightInPixelsが100とは)
4つ目
➃の警告の解消の仕方。
よろしくお願いします。
発生している問題・エラーメッセージ
太字の部分がコンパイルエラーになりました。
1
this.bannerView.OnAdLeavingApplication += this.HandleAdLeftApplication;
2
.AddTestDevice(AdRequest.TestDeviceSimulator)
3
MonoBehaviour.print(
"HandleFailedToReceiveAd event received with message: " + args.Message);
該当のソースコード
C#
1 2using UnityEngine; 3using System; 4using GoogleMobileAds.Api; 5 6public class AdaptiveBanner : MonoBehaviour 7{ 8 private BannerView bannerView; 9 10 // Use this for initialization 11 void Start() 12 { 13 RequestBanner(); 14 } 15 16 /* 17 public void OnGUI() 18 { 19 GUI.skin.label.fontSize = 60; 20 Rect textOutputRect = new Rect( 21 0.15f * Screen.width, 22 0.25f * Screen.height, 23 0.7f * Screen.width, 24 0.3f * Screen.height); 25 GUI.Label(textOutputRect, "Adaptive Banner Example"); 26 } 27 */ 28 29 private void RequestBanner() 30 { 31 // These ad units are configured to always serve test ads. 32#if UNITY_EDITOR 33 string adUnitId = "unused"; 34#elif UNITY_ANDROID 35 string adUnitId = "ca-app-pub-3212738706492790/6113697308"; 36#elif UNITY_IPHONE 37 string adUnitId = "ca-app-pub-3212738706492790/5381898163"; 38#else 39 string adUnitId = "unexpected_platform"; 40#endif 41 42 // Clean up banner ad before creating a new one. 43 if (this.bannerView != null) 44 { 45 this.bannerView.Destroy(); 46 } 47 48 AdSize adaptiveSize = 49 AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(AdSize.FullWidth); 50 51 this.bannerView = new BannerView(adUnitId, adaptiveSize, AdPosition.Bottom); 52 53 // Register for ad events. 54 this.bannerView.OnAdLoaded += this.HandleAdLoaded; 55 this.bannerView.OnAdFailedToLoad += this.HandleAdFailedToLoad; 56 this.bannerView.OnAdOpening += this.HandleAdOpened; 57 this.bannerView.OnAdClosed += this.HandleAdClosed; 58 this.bannerView.OnAdLeavingApplication += this.HandleAdLeftApplication; 59 60 AdRequest adRequest = new AdRequest.Builder() 61 .AddTestDevice(AdRequest.TestDeviceSimulator) 62 .AddTestDevice("0123456789ABCDEF0123456789ABCDEF") 63 .Build(); 64 65 // Load a banner ad. 66 this.bannerView.LoadAd(adRequest); 67 } 68 69 #region Banner callback handlers 70 71 public void HandleAdLoaded(object sender, EventArgs args) 72 { 73 MonoBehaviour.print("HandleAdLoaded event received"); 74 MonoBehaviour.print(String.Format("Ad Height: {0}, width: {1}", 75 this.bannerView.GetHeightInPixels(), 76 this.bannerView.GetWidthInPixels())); 77 } 78 79 public void HandleAdFailedToLoad(object sender, AdFailedToLoadEventArgs args) 80 { 81 //MonoBehaviour.print( 82 //"HandleFailedToReceiveAd event received with message: " + args.Message); 83 } 84 85 public void HandleAdOpened(object sender, EventArgs args) 86 { 87 MonoBehaviour.print("HandleAdOpened event received"); 88 } 89 90 public void HandleAdClosed(object sender, EventArgs args) 91 { 92 MonoBehaviour.print("HandleAdClosed event received"); 93 } 94 95 public void HandleAdLeftApplication(object sender, EventArgs args) 96 { 97 MonoBehaviour.print("HandleAdLeftApplication event received"); 98 } 99 100 #endregion 101} 102
試したこと
1つ目の質問について
AddTestDeviceはテストに使うデバイスを指定していること。
(おそらく本番広告をテストデバイスで押したときに違反にしないため?)
4つ目の質問について
下記リンク先のサイトを参考にコピペしてみましたがエラーは解消されませんでした。
https://stackoverflow.com/questions/65955147/you-are-trying-to-create-a-monobehaviour-using-the-new-keyword-this-is-not-al
補足情報(FW/ツールのバージョンなど)
Unity 2020.3.9f1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/01 21:49