- Home /
Admob Memory Issues
In my game, I added in ads using AdMob. I have a banner and interstitial ad. Everything works fine on android, but when I use IOS, the entire game will start lagging and it will crash. I get the error in Xcode: terminated because of memory issue.`using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using GoogleMobileAds.Api;
public class DestroyPlayer : MonoBehaviour {
float deathCooldown = 5;
public bool dead;
public int value = 1;
public int yay = 3;
public AudioSource saw;
bool playSawSound = true;
public int index;
public GameObject deathMenu;
public int adShow;
public InterstitialAd interstitial;
void Start () {
saw = GetComponent <AudioSource> ();
index = Random.Range (1, 5);
adShow = Random.Range (1, 3);
RequestInterstitial ();
}
void OnCollisionEnter (Collision col)
{
if (col.gameObject.tag == "cup") {
ScorePoints.score += value;
Destroy (this.gameObject);
}
if (col.gameObject.tag == "Death") {
dead = true;
RequestInterstitial ();
} else {
dead = false;
}
}
void Update()
{
if (dead == true) {
if (playSawSound) {
saw.Play ();
playSawSound = false;
}
deathCooldown -= yay * Time.deltaTime;
GameObject.Find ("Cups").GetComponent <CupMovemnt> ().cupVelocity = 0f;
if (deathCooldown <= 0) {
}
if (adShow == 1) {
if (interstitial.IsLoaded ()) {
interstitial.Show ();
interstitial.Destroy ();
}
}
GameObject.Find ("Canvas1").GetComponent <Canvas> ().enabled = true;
}
}
public void RequestInterstitial()
{
#if UNITY_EDITOR
string adUnitId = "unused";
#elif UNITY_ANDROID
string adUnitId = "xxxxxxxxxxxxxxxxxxxxxxxxxx";
#elif UNITY_IPHONE
string adUnitId = "xxxxxxxxxxxxxxxxxxxxxxxxxx";
#else
string adUnitId = "unexpected_platform";
#endif
// Initialize an InterstitialAd.
interstitial = new InterstitialAd(adUnitId);
// Create an empty ad request.
AdRequest request = new AdRequest.Builder()
.Build();
// Load the interstitial with the request.
interstitial.LoadAd(request);
}
/*void restart () {
//if (dead == true) {
//GameObject.Find ("Canvas1").GetComponent <Canvas> ().enabled = true;
//}
//}*/
}
That had my interstitial ad stuff in it. Now here is my banner ad code: `using System.Collections; using System.Collections.Generic; using UnityEngine; using GoogleMobileAds.Api;
public class AdManager : MonoBehaviour {
void Start () {
RequestBanner ();
}
void RequestBanner()
{
#if UNITY_EDITOR
string adUnitId = "unused";
#elif UNITY_ANDROID
string adUnitId = "xxxxxxxxxxxxxxxxxxx";
#elif UNITY_IPHONE
string adUnitId = "xxxxxxxxxxxxxxxxxxx";
#else
string adUnitId = "unexpected_platform";
#endif
// Create a 320x50 banner at the top of the screen.
BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Bottom);
// Create an empty ad request.
AdRequest request = new AdRequest.Builder()
//.AddTestDevice(AdRequest.TestDeviceSimulator) // Simulator.
//.AddTestDevice(SystemInfo.deviceUniqueIdentifier) // My test device.
.Build();
// Load the banner with the request.
bannerView.LoadAd(request);
}
}
Why are showing the interstitial and destroying it on same execution? Or Why do you need even to destroy the interstitial?
Your answer
![](https://koobas.hobune.stream/wayback/20220612134335im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Unity Admob Implementing Interstitial 1 Answer
Interstitial pause game on Android but not on iOS? 5 Answers
unity 5 2d game admob interstitial not working 0 Answers
Unity ads problem 0 Answers
Admob interstitial ad not showing up 1 Answer