28-08-2019, Saat: 09:24
Merhabalar,
Unity içerisinde oynayabildiğim oyunu build edip aynı şekilde oynayabiliyordum. Admob ile banner için script oluşturdum ve 1. Levelda test için konumlandırdım ancak oyunumu tekrar build etiğimde nezaman 1. Levela başlamak istesem oyun beni atıyor ve kapanıyor. Admob öncesi levela giriş yapabiliyordum hatta şuan level dışında oyunun diğer işlemlerinide buildde kullanabiliyorum sebebi ne olabilir acaba. Not: Scripti leveldan kaldırıp build ettiğimde tekrardan giriş yapabiliyorum. Script ise klasik her forumda görebileceğiniz banner scripti. Yardımlarınızı bekliyorum teşekkürler
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds;
using GoogleMobileAds.Api;
using System;
using UnityEngine.UI;
public class Admob_Manager : MonoBehaviour
{
public string Rewarded_ID;
public Text Log;
RewardBasedVideoAd rewardBasedVideo;
void Start()
{
rewardBasedVideo = RewardBasedVideoAd.Instance;
// RewardBasedVideoAd is a singleton, so handlers should only be registered once.
this.rewardBasedVideo.OnAdLoaded += this.HandleRewardBasedVideoLoaded;
this.rewardBasedVideo.OnAdFailedToLoad += this.HandleRewardBasedVideoFailedToLoad;
this.rewardBasedVideo.OnAdOpening += this.HandleRewardBasedVideoOpened;
this.rewardBasedVideo.OnAdStarted += this.HandleRewardBasedVideoStarted;
this.rewardBasedVideo.OnAdRewarded += this.HandleRewardBasedVideoRewarded;
this.rewardBasedVideo.OnAdClosed += this.HandleRewardBasedVideoClosed;
this.rewardBasedVideo.OnAdLeavingApplication += this.HandleRewardBasedVideoLeftApplication;
}
void Update()
{
}
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();
}
public void RequestRewardBasedVideo()
{
#if UNITY_EDITOR
string adUnitId = "unused";
#elif UNITY_ANDROID
string adUnitId = Rewarded_ID;
#elif UNITY_IPHONE
string adUnitId = Rewarded_ID;
#else
string adUnitId = "unexpected_platform";
#endif
this.rewardBasedVideo.LoadAd(this.CreateAdRequest(), adUnitId);
}
public void ShowRewardBasedVideo()
{
if (rewardBasedVideo.IsLoaded())
{
rewardBasedVideo.Show();
}
else
{
Log.text += "Yüklenemedi.\n";
}
}
#region RewardBasedVideo callback handlers
public void HandleRewardBasedVideoLoaded(object sender, EventArgs args)
{
Log.text += "Yüklendi.\n";
}
public void HandleRewardBasedVideoFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
Log.text += "Yüklenemedi.\n";
}
public void HandleRewardBasedVideoOpened(object sender, EventArgs args)
{
Log.text += "Açıldı.\n";
}
public void HandleRewardBasedVideoStarted(object sender, EventArgs args)
{
Log.text += "Başladı. \n";
}
public void HandleRewardBasedVideoClosed(object sender, EventArgs args)
{
Log.text += "Kapatıldı.\n";
}
public void HandleRewardBasedVideoRewarded(object sender, Reward args)
{
string type = args.Type;
double amount = args.Amount;
Log.text += "Ödül : " + type + "-" + amount + "\n" ;
}
public void HandleRewardBasedVideoLeftApplication(object sender, EventArgs args)
{
Log.text += "Yüklenemedi.\n";
}
#endregion
}
Unity içerisinde oynayabildiğim oyunu build edip aynı şekilde oynayabiliyordum. Admob ile banner için script oluşturdum ve 1. Levelda test için konumlandırdım ancak oyunumu tekrar build etiğimde nezaman 1. Levela başlamak istesem oyun beni atıyor ve kapanıyor. Admob öncesi levela giriş yapabiliyordum hatta şuan level dışında oyunun diğer işlemlerinide buildde kullanabiliyorum sebebi ne olabilir acaba. Not: Scripti leveldan kaldırıp build ettiğimde tekrardan giriş yapabiliyorum. Script ise klasik her forumda görebileceğiniz banner scripti. Yardımlarınızı bekliyorum teşekkürler
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds;
using GoogleMobileAds.Api;
using System;
using UnityEngine.UI;
public class Admob_Manager : MonoBehaviour
{
public string Rewarded_ID;
public Text Log;
RewardBasedVideoAd rewardBasedVideo;
void Start()
{
rewardBasedVideo = RewardBasedVideoAd.Instance;
// RewardBasedVideoAd is a singleton, so handlers should only be registered once.
this.rewardBasedVideo.OnAdLoaded += this.HandleRewardBasedVideoLoaded;
this.rewardBasedVideo.OnAdFailedToLoad += this.HandleRewardBasedVideoFailedToLoad;
this.rewardBasedVideo.OnAdOpening += this.HandleRewardBasedVideoOpened;
this.rewardBasedVideo.OnAdStarted += this.HandleRewardBasedVideoStarted;
this.rewardBasedVideo.OnAdRewarded += this.HandleRewardBasedVideoRewarded;
this.rewardBasedVideo.OnAdClosed += this.HandleRewardBasedVideoClosed;
this.rewardBasedVideo.OnAdLeavingApplication += this.HandleRewardBasedVideoLeftApplication;
}
void Update()
{
}
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();
}
public void RequestRewardBasedVideo()
{
#if UNITY_EDITOR
string adUnitId = "unused";
#elif UNITY_ANDROID
string adUnitId = Rewarded_ID;
#elif UNITY_IPHONE
string adUnitId = Rewarded_ID;
#else
string adUnitId = "unexpected_platform";
#endif
this.rewardBasedVideo.LoadAd(this.CreateAdRequest(), adUnitId);
}
public void ShowRewardBasedVideo()
{
if (rewardBasedVideo.IsLoaded())
{
rewardBasedVideo.Show();
}
else
{
Log.text += "Yüklenemedi.\n";
}
}
#region RewardBasedVideo callback handlers
public void HandleRewardBasedVideoLoaded(object sender, EventArgs args)
{
Log.text += "Yüklendi.\n";
}
public void HandleRewardBasedVideoFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
Log.text += "Yüklenemedi.\n";
}
public void HandleRewardBasedVideoOpened(object sender, EventArgs args)
{
Log.text += "Açıldı.\n";
}
public void HandleRewardBasedVideoStarted(object sender, EventArgs args)
{
Log.text += "Başladı. \n";
}
public void HandleRewardBasedVideoClosed(object sender, EventArgs args)
{
Log.text += "Kapatıldı.\n";
}
public void HandleRewardBasedVideoRewarded(object sender, Reward args)
{
string type = args.Type;
double amount = args.Amount;
Log.text += "Ödül : " + type + "-" + amount + "\n" ;
}
public void HandleRewardBasedVideoLeftApplication(object sender, EventArgs args)
{
Log.text += "Yüklenemedi.\n";
}
#endregion
}