在我的团结应用中,我整合了Admob。 这是我的“广告”类中的代码:
public static InterstitialAd interstitial;
private void Start()
{
RequestInterstitial();
}
public void StartAds()
{
RequestInterstitial();
if (interstitial.IsLoaded())
{
interstitial.Show();
}
else
{
Debug.Log("Interstitial wasn't loaded yet");
}
interstitial.Show();
}
public static void onAdLeftApplication()
{
ChangeCoinValue.actualCoinValue += 33;
PlayerPrefs.SetInt("TotalCoinValue", ChangeCoinValue.actualCoinValue);
}
private void RequestInterstitial()
{
// 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);
}
当我在另一个班级并且打电话时(例如按下按钮时),广告确实显示完全正确:
Ads.Interstitial.Show();
我这样做,因为在单声道开发中你不能使用对象所以它需要是静态的。但尽管如此:
所以我认为我的广告类“OnAdLeftApplication()”中的函数 每次用户点击广告时都会触发,然后离开应用程序。如果他或她这样做,我会用33个硬币奖励这个人!
但它不起作用。也许不是因为我只是在我的插页式广告中调用“show()”功能,但我不知道。
您能否向我解释一下,当用户点击其中一个广告时,如何用硬币奖励用户?
Thansk!
答案 0 :(得分:4)
您可以将admobEventHandler
用于特定事件类型onAdOpened
和onAdLeftApplication
,查看github wiki page了解更多活动类型。
在致电interstitial.LoadAd
之前,您必须订阅该事件的空间。像interstitial.OnAdLeavingApplication += HandleInterstitialLeftApplication;
public void HandleInterstitialLeftApplication(object sender, EventArgs args)