M2DAI Ответов: 1

Как исправить этот файл C#?


using UnityEngine;
using System.Collections;
using GoogleMobileAds.Api;

public class InterstitialAdScript : MonoBehaviour
{

    bool hasShownAdOneTime;

    void Start()
    {
        if (GameScript.isGameOver)
        {
            if (!hasShownAdOneTime)
            {
                hasShownAdOneTime = true;
                Invoke("showInterstitialAd", 60.0f);
            }
        }
    }
    
    public void showInterstitialAd()
    {
		 string adID = "ca-app-pub-";

      showInterstitialAd();

            //Stop Sound
            //

            Debug.Log("SHOW AD");
        }

    }
       
#if UNITY_ANDROID
        string adUnitId = adID;
    private static string adID;
    public object interstitialAd;
#elif UNITY_IOS
        string adUnitId = adID;
#else
        string adUnitId = adID;
#endif

   }


Что я уже пробовал:

string adUnitId = adID;
private static string adID;
public object interstitialAd;


Я не знаю, как это исправить ... ..

FernandoUY

В чем же заключается ошибка? Что вам нужно для завершения работы?

Gerry Schmitz

Таргетинг на несколько платформ; Unity; Плагины. Слишком далеко в передовой.

1 Ответов

Рейтинг:
2

Richard MacCutchan

Вы заявили: hasShownAdOneTime как тип bool, но не задали начальное значение.

Линия:

string adUnitId = adID;
пытается обратиться к локальной переменной, которая существует только в showInterstitialAd метод, который, кстати, содержит рекурсивный цикл.

У вас также есть декларации для string adUnitId = adID; во всех трех случаях вашего препроцессора #IF предложения; вы должны поместить одну копию вне блока, так как она всегда будет сгенерирована.