前提・実現したいこと
お世話になります。当方、Unityを使用してアプリ制作をしております。
無料のノベル制作ツール(JokerScript)を使用しアプリを制作、リリースをしていますが広告を付けたいと思い、admobを実装してみました。その際の広告の表示/非表示について質問させてください。
こちらのサイト(https://uni.gas.mixh.jp/unity/android-admob.html)を参考に実装し、バナー広告の表示については行う事が出来ました。
バナー広告は何もしなければ表示され続けてしまうため、表示/非表示を切り替えるコンポーネントを作成し、ノベル制作ツール上のスクリプトで表示の切り替えを行えるようにしたいと考えていますが、下記のエラーが解決できない状況になっていて困っています。
発生している問題・エラーメッセージ
Assets/JOKER/Scripts/Novel/Components/AdbunnerComponent.cs(15,14): error CS0120: An object reference is required to access non-static member `GoogleMobileAds.Api.BannerView.Show()' Assets/JOKER/Scripts/Novel/Components/AdbunnerComponent.cs(33,14): error CS0120: An object reference is required to access non-static member `GoogleMobileAds.Api.BannerView.Hide()'
該当のソースコード
c#
1using UnityEngine; 2using System.Collections; 3using System.Collections.Generic; 4 5using GoogleMobileAds.Api; 6 7namespace Novel{ 8 9//バナー表示用処理 10 11 public class AdshowComponent:AbstractComponent 12 { 13 public AdshowComponent() 14 { 15 BannerView.Show(); 16 17// 案2ゲームオブジェクトの切り替えで何とか出来ないか? 18// adBunner.SetActive(true); 19 20 } 21 22 public override void start () 23 { 24 //次のシナリオに進む処理 25 this.gameManager.nextOrder (); 26 27 } 28 } 29 30//バナー非表示用処理 31 public class AdhideComponent:AbstractComponent 32 { 33 public AdhideComponent() 34 { 35 BannerView.Hide(); 36 37// 案2ゲームオブジェクトの切り替えで何とか出来ないか? 38// adBunner.SetActive(false); 39 40 } 41 42 public override void start () 43 { 44 //次のシナリオに進む処理 45 this.gameManager.nextOrder (); 46 47 } 48 49 } 50}
試したこと
上記のコードはツール(jokerscript)のコードを元に組んでみたものです。
ツール(JokerScript)上のスクリプトで[adshow][adhide]のタグで広告の表示/非表示が切り替わるようにしたいです。
▼試してみた事1
BannerView.Show();
BannerView.Hide();
で他のスクリプト内のstaticでないメソッドにアクセスしようとしているのが原因で、インスタンス化して参照するようにとの事らしいのですが。
BannerViewは、Assets\GoogleMobileAds\Api\BannerView.cs に入っている事を確認しており、そこから表示/非表示の処理を受け取って処理を行っていると考えています。
インスタンス化について調べて該当部分を変更してみたのですが、別のエラー( error CS0103: The name `GetClass' does not exist in the current context 名前がコンテキスト内にありません)が表示されてしまいお手上げとなっています。
▼試してみた事2
バナーの表示/非表示について、上記はadmobの機能を使用して表示/非表示をする方法ですが、admobが空のGameObjectに追加をして表示させていることから、そのGameObject自体の表示/非表示を切り替えてみてはどうかと思ったのですが、そちらはゲームオブジェクトの設定が上手くいかずに断念しました。
どちらかの方法で実現できると思っています。
1のエラーを解消する方法、もしくは2の不足部分(ゲームオブジェクトの設定?)をご教示いただけますと幸いです。
補足情報(FW/ツールのバージョンなど)
Unity Version 2019.1.13
AdmobSDK GoogleMobileAds-v4.1.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/26 12:19
2019/12/01 05:02
2019/12/02 02:18
2019/12/04 14:54
2019/12/06 13:02
2019/12/09 05:43
2019/12/11 15:44