我尝试了很多东西,但我无法在Unity中显示插页式广告。我想在用户选择错误答案之后和分数页面("通知"场景)显示之前显示插页式广告。这是我的代码,我刚刚复制了相关部分:
using UnityEngine;
using UnityEngine.UI;
using System.Text;
using System.Xml;
using System.Collections;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Serialization;
using System.IO;
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class responder : MonoBehaviour
{
private InterstitialAd interstitial;
private int gecis;
public Text questionsorular;
public Text responseA;
public Text responseB;
public Text responseC;
public Text responseD;
public Text infoResponses;
public Text infoResponses1;
public Text example;
public Text dogrusayisi;
private float corrects;
private float questoesquestions;
private float media;
private int Notice;
}
void Start()
{
RequestInterstitial();
}
public void response(string alternative)
{
RequestInterstitial();
if (alternative == "A")
{
if (responseA.text == infoResponses.text)
{
corrects += 1;
nextQuestion();
}
else
{
Invoke("wrong", 1);
}
}
else if (alternative == "B")
{
if (responseB.text == infoResponses.text)
{
corrects += 1;
nextQuestion();
}
else
{
Invoke("wrong", 1);
}
}
else if (alternative == "C")
{
if (responseC.text == infoResponses.text)
{
corrects += 1;
nextQuestion();
}
else
{
Invoke("wrong", 1);
}
}
else if (alternative == "D")
{
if (responseD.text == infoResponses.text)
{
corrects += 1;
nextQuestion();
}
else
{
Invoke("wrong", 1);
}
}
}
void wrong()
{
ShowInterstitial();
Application.LoadLevel("Notice");
}
private void RequestInterstitial()
{
#if UNITY_EDITOR
string adUnitId = "unused";
#elif UNITY_ANDROID
string adUnitId = "MY ADS ID";
#elif UNITY_IPHONE
string adUnitId = "INSERT_IOS_INTERSTITIAL_AD_UNIT_ID_HERE";
#else
string adUnitId = "unexpected_platform";
#endif
// Create an interstitial.
interstitial = new InterstitialAd(adUnitId);
// Load an interstitial ad.
interstitial.LoadAd(createAdRequest());
}
private AdRequest createAdRequest()
{
return new AdRequest.Builder()
.AddTestDevice(AdRequest.TestDeviceSimulator)
.AddTestDevice("0123456789ABCDEF0123456789ABCDEF")
.AddKeyword("game")
.SetGender(Gender.Male)
.SetBirthday(new DateTime(1985, 1, 1))
.TagForChildDirectedTreatment(false)
.AddExtra("color_bg", "9B30FF")
.Build();
}
private void ShowInterstitial()
{
if (interstitial.IsLoaded())
{
interstitial.Show();
}
}
以下代码适用于横幅广告,当我将其附加到相机时:
using UnityEngine;
using GoogleMobileAds.Api;
public class Ads : MonoBehaviour
{
void Start()
{
BannerView adsObject = new BannerView(
"MY ADS ID", AdSize.SmartBanner, AdPosition.Bottom);
AdRequest getAds = new AdRequest.Builder().Build();
adsObject.LoadAd(getAds);
}
}
答案 0 :(得分:0)
我终于做到了!
using UnityEngine;
using UnityEngine.UI;
using System.Text;
using System.Xml;
using System.Collections;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Serialization;
using System.IO;
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class responder : MonoBehaviour
{
private InterstitialAd adObject;
private int gecis;
public Text questionsorular;
public Text responseA;
public Text responseB;
public Text responseC;
public Text responseD;
public Text infoResponses;
public Text infoResponses1;
public Text example;
public Text dogrusayisi;
private float corrects;
private float questoesquestions;
private float media;
private int Notice;
}
void Start()
{
GetNewAds( null, null );
}
public void response(string alternative)
{
if (alternative == "A")
{
if (responseA.text == infoResponses.text)
{
corrects += 1;
nextQuestion();
}
else
{
Invoke("wrong", 1);
}
}
else if (alternative == "B")
{
if (responseB.text == infoResponses.text)
{
corrects += 1;
nextQuestion();
}
else
{
Invoke("wrong", 1);
}
}
else if (alternative == "C")
{
if (responseC.text == infoResponses.text)
{
corrects += 1;
nextQuestion();
}
else
{
Invoke("wrong", 1);
}
}
else if (alternative == "D")
{
if (responseD.text == infoResponses.text)
{
corrects += 1;
nextQuestion();
}
else
{
Invoke("wrong", 1);
}
}
}
void wrong()
{
StartCoroutine(ShowAds());
Application.LoadLevel("Notice");
}
IEnumerator ShowAds()
{
while( !adObject.IsLoaded() )
yield return null;
adObject.Show();
}
public void GetNewAds( object sender, EventArgs args )
{
if( adObject != null )
adObject.Destroy();
adObject = new InterstitialAd( "AD UNIT ID" );
adObject.AdClosed += GetNewAds;
AdRequest GetAds = new AdRequest.Builder().Build();
adObject.LoadAd( GetAds );
}
}