C# 显示Unity3d广告,后跟Application.LoadLevel(Application.loadedLevel);
当用户选择在我的Unity3d游戏中重放当前场景时,我试图在Android应用程序上显示一个间隙广告。我的第一次尝试在编辑器中产生了测试广告的闪烁,但在实际设备上没有产生任何东西 以下是我使用的代码(仅包括相关代码): 我认为这可能与C# 显示Unity3d广告,后跟Application.LoadLevel(Application.loadedLevel);,c#,android,unity3d,C#,Android,Unity3d,当用户选择在我的Unity3d游戏中重放当前场景时,我试图在Android应用程序上显示一个间隙广告。我的第一次尝试在编辑器中产生了测试广告的闪烁,但在实际设备上没有产生任何东西 以下是我使用的代码(仅包括相关代码): 我认为这可能与Application.LoadLevel(Application.loadedLevel)有关跟随ShowAd(),因此我创建了一个新的测试按钮来尝试隔离问题: public void ShowAd () { // If ready, show an ad
Application.LoadLevel(Application.loadedLevel)有关代码>跟随ShowAd()代码>,因此我创建了一个新的测试按钮来尝试隔离问题:
public void ShowAd ()
{
// If ready, show an advertisement
if (Advertisement.IsReady ())
{
Advertisement.Show ();
}
}
public void TestAdButton ()
{
ShowAd ();
}
这样可以正确地显示广告;但是,我想在点击重播按钮(这将触发当前场景的重播)之后实现广告。我对Unity员工的说法感到更加困惑
我在这里做错了什么?我看到的错误是,您在调用ShowAd之后调用了LoadLevel,因此显示了add,但随后立即被LoadLevel覆盖。请尝试存储一个PlayerPrefs,以确定该级别是否已重新启动
public void Replay ()
{
PlayerPrefs.SetInt("isReplayed", 1);
Application.LoadLevel (Application.loadedLevel);
}
然后在GameController上添加:
public void Start()
{
if(PlayerPrefs.GetInt("isReplayed") == 1)
{
ShowAd();
}
PlayerPrefs.SetInt("isReplayed", 0);
}
public void Start()
{
if(PlayerPrefs.GetInt("isReplayed") == 1)
{
ShowAd();
}
PlayerPrefs.SetInt("isReplayed", 0);
}