teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コード追記

2019/12/09 05:21

投稿

sakura_hana
sakura_hana

スコア11429

answer CHANGED
@@ -4,4 +4,54 @@
4
4
 
5
5
  これを(一時変数ではなく)メンバ変数に変更し、Novelクラスからアクセス出来るようにして、
6
6
  例えば`admob.bannerView.Hide();`という形でメソッドを呼び出せばいいのではと思います。
7
- (一般的な「別クラスの変数へアクセスする」方法と一緒です)
7
+ (一般的な「別クラスの変数へアクセスする」方法と一緒です)
8
+
9
+ ---
10
+
11
+ (2019/12/09追記)
12
+ ```C#
13
+ //前略
14
+ public class AdMob : MonoBehaviour {
15
+ //バナービューに外からアクセス出来るようにしておく(インスペクタには出さない)
16
+ [HideIninspector]
17
+ public BannerView bannerView;
18
+
19
+ // Use this for initialization
20
+ void Start () {
21
+ //省略
22
+ }
23
+
24
+ private void RequestBanner(){
25
+
26
+ // 広告ユニットID これはテスト用
27
+ string adUnitId = "ca-app-pub-3940256099942544/6300978111";
28
+
29
+ // Create a 320x50 banner at the top of the screen.
30
+ //※メンバ変数(Startの前に書いた変数)に入れる
31
+ bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);
32
+
33
+ //以下略
34
+ }
35
+ }
36
+ ```
37
+ ```C#
38
+ //前略
39
+ namespace Novel{
40
+
41
+ //バナー表示用処理
42
+ public class AdshowComponent:AbstractComponent {
43
+
44
+ //インスペクタから設定しておく
45
+ public Admob admob;
46
+
47
+ public AdshowComponent()
48
+ {
49
+ //AdmobのインスタンスにあるbannerView変数を使う
50
+ admob.bannerView.Show();
51
+ }
52
+ //以下略
53
+ }
54
+
55
+ //バナー非表示用処理も同様
56
+ }
57
+ ```