Skip to content

Commit 67c4523

Browse files
committed
fix(bannerAd): Add a new state to track loaded ads
1 parent 091c740 commit 67c4523

File tree

1 file changed

+25
-14
lines changed

1 file changed

+25
-14
lines changed

Assets/Scripts/Max/BannerAdController.cs

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@
1111
public class BannerAdController : MonoBehaviour
1212
{
1313
private string _adUnitId;
14-
private bool _created;
15-
private bool _visible;
14+
private bool _created;
15+
private bool _visible;
16+
private bool _isLoaded;
1617
private MaxAdSettings _settings;
1718

1819
/// <summary>
@@ -40,7 +41,12 @@ public void Initialize(MaxAdSettings settings)
4041
// --- Event: Banner successfully loaded ---
4142
MaxSdkCallbacks.Banner.OnAdLoadedEvent += (id, info) =>
4243
{
43-
if (id == _adUnitId) Debug.Log($"[Banner] Loaded {id}");
44+
if (id == _adUnitId)
45+
{
46+
_isLoaded = true;
47+
Debug.Log($"[Banner] Loaded {id}");
48+
if (_visible) MaxSdk.ShowBanner(_adUnitId);
49+
}
4450
};
4551

4652
// --- Event: Banner failed to load ---
@@ -75,14 +81,8 @@ public void Initialize(MaxAdSettings settings)
7581

7682
MaxSdk.LoadBanner(_adUnitId);
7783

78-
// Show or hide banner
79-
if (_settings.startBannerHidden)
80-
MaxSdk.HideBanner(_adUnitId);
81-
else
82-
{
83-
MaxSdk.ShowBanner(_adUnitId);
84-
_visible = true;
85-
}
84+
// Record initial intent; DO NOT show immediately
85+
_visible = !_settings.startBannerHidden;
8686

8787
_created = true;
8888
}
@@ -93,9 +93,20 @@ public void Initialize(MaxAdSettings settings)
9393
public void Show()
9494
{
9595
if (!_created) return;
96-
MaxSdk.ShowBanner(_adUnitId);
96+
9797
_visible = true;
98-
Debug.Log("[Banner] Shown");
98+
99+
if (_isLoaded)
100+
{
101+
MaxSdk.ShowBanner(_adUnitId);
102+
Debug.Log("[Banner] Shown");
103+
}
104+
else
105+
{
106+
// Not ready yet → load; OnAdLoaded will show when ready
107+
Debug.Log("[Banner] Not loaded yet...");
108+
MaxSdk.LoadBanner(_adUnitId);
109+
}
99110
}
100111

101112
/// <summary>
@@ -104,8 +115,8 @@ public void Show()
104115
public void Hide()
105116
{
106117
if (!_created) return;
107-
MaxSdk.HideBanner(_adUnitId);
108118
_visible = false;
119+
MaxSdk.HideBanner(_adUnitId);
109120
Debug.Log("[Banner] Hidden");
110121
}
111122

0 commit comments

Comments
 (0)