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

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

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

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Unity

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

1937閲覧

Unity アダプティブバナーについて疑問を解消したい。

andoud0220

総合スコア8

AdMob

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Unity

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2021/05/30 11:00

編集2021/05/30 11:03

前提・実現したいこと

イメージ説明

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

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

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

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

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

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

guest

回答1

0

ベストアンサー

1.コメントアウトしたコードの役割となぜエラーになったのか。

SDKのバージョン更新によって関数名や引数が変わったり無くなることは結構あるあるです。今回の件は全て公式のgitのRelease Notesに記載されていますね。
Release Google Mobile Ads Unity Plugin v6.0.0 · googleads/googleads-mobile-unity · GitHub

  • Removed Birthday, Gender, TestDevices, TagForChildDirectedTreatment properties on AdRequest. TagForChildDirectedTreatment and TestDeviceIds properties are available under RequestConfiguration..
  • Removed OnAdLeavingApplication event for all formats.
  • Removed Message from AdErrorEventArgs class in favor of AdError.

2.画像の➀で1920×1080にしているのに➁で2960×1440になっているのはなぜか。

この方の記事がわかりやすいのでぜひ読んでみて下さい。
【Unity】【uGUI】マルチ解像度対応に必須なCanvas Scalerを目的別に理解する - LIGHT11

3.➂の意味。(HeightInPixelsが100とは)

pixelは絶対値。今回だと高さ100ピクセル、横0ピクセルの広告を表示しています。ちなみに、絶対値ではなく相対値(%)で指定する場合もあります。

4.➃の警告の解消の仕方。

MonoBehaviour継承している場合はnewではなくGetComponnetとか[SerializeFiled]とかでGameObjectにアタッチされている状態で割り当てないとダメです、という警告です。GoogleMobileAdsScript.csの41行目書き換えてみてください。


2021/05/18に最新版のv6.0.0がリリースされているのでネットの情報が古くなっている可能性が高いので注意です。
公式のgitにunityのsamplesがあったので、それを動かすのが良いかと思います。※自分は動作確認してないです..
GitHub - googleads/googleads-mobile-unity: Official Unity Plugin for the Google Mobile Ads SDK

投稿2021/05/31 14:12

編集2021/05/31 14:15
u824

総合スコア112

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

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

andoud0220

2021/06/01 21:49

回答ありがとうございます。 1.Release Notesを見るようにします。 2.わかりやすい記事ありがとうございます。 3.横0ピクセルだと目一杯表示するということでしょうか。 4.gitのsamplesをもとに試してみましたが4つ目のエラーは解消されませんでした。 4について別途質問を投稿しましたのでもしお時間あれば回答いただけると嬉しいです。 https://teratail.com/questions/341666
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問