当前位置: 首页 > 知识库问答 >
问题:

Unity3d Admob奖励视频广告

杨起运
2023-03-14

我在Unity3d中显示admob插件的奖励视频广告时遇到问题。首先,这是我的脚本:

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

public class AdManager : MonoBehaviour {
    private RewardBasedVideoAd rewardBasedVideo;

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {

    }

    public void RequestRewardBasedVideo()
    {
#if UNITY_EDITOR
        string adUnitId = "unused";
#elif UNITY_ANDROID
        string adUnitId = "INSERT_AD_UNIT_HERE";
#elif UNITY_IPHONE
        string adUnitId = "INSERT_AD_UNIT_HERE";
#else
        string adUnitId = "unexpected_platform";
#endif

        RewardBasedVideoAd rewardBasedVideo = RewardBasedVideoAd.Instance;

        AdRequest request = new AdRequest.Builder().Build();
        rewardBasedVideo.LoadAd(request, adUnitId);

        //Show Ad
        showAdd(rewardBasedVideo);
    }

    private void showAdd(RewardBasedVideoAd rewardBasedVideo)
    {
        if (rewardBasedVideo.IsLoaded())
        {
            //Subscribe to Ad event
            rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
            rewardBasedVideo.Show();
        }
    }

    private void HandleRewardBasedVideoRewarded(object sender, Reward e)
    {
        Debug.Log("30 monedas ;)");
        Debug.Log(e);
    }
}

我用一个按钮运行RequestRewardVideo()方法,但什么也没发生。我尝试运行按钮中的start()showAdd()中的requestrewardvideo()方法,但只显示了视频1/3次。。。这个怎么了?

提前感谢

共有2个答案

汪晨
2023-03-14

如果您正在使用此插件https://github.com/unity-plugins/Unity-Admob那么代码将如下所示。

加载视频

   Admob.Instance().loadRewardedVideo("ca-app-pub-3940256099942544/1712485313");

游戏结束时显示,请检查视频是否已准备就绪,然后再显示:

   if (Admob.Instance().isRewardedVideoReady()) {
     Admob.Instance().showRewardedVideo();
   }

处理ad事件

Admob.Instance().videoEventHandler += onInterstitialEvent;
    void onInterstitialEvent(string eventName, string msg)
    {
    Debug.Log("handler onAdmobEvent---" + eventName + "   " + msg);
    if (eventName == AdmobEvent.onAdLoaded)
    {
        Admob.Instance().showRewardedVideo();
    }
    if(eventName==AdmobEvent.onAdFail){
    Debug.log(msg);
    }

}
卢光誉
2023-03-14

我用一个按钮运行Request estRewardVideo()方法,但什么也没发生。

您必须在加载和显示广告之间保持一定的时间差,因为加载广告需要一些时间。当您在加载rewardBasedVideo后调用showAd时。IsLoaded()返回false。

因此,从start()和按钮上调用Request est奖励视频()点击callshow Add()

private void showAdd(RewardBasedVideoAd rewardBasedVideo) {
        if (rewardBasedVideo.IsLoaded())
        {
            //Subscribe to Ad event
            rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
            rewardBasedVideo.Show();
        }else {
            AdRequest request = new AdRequest.Builder().Build();
            rewardBasedVideo.LoadAd(request, adUnitId);
        }
}

当Ad关闭时,也会为侦听器添加Ad,并请求在此处再次加载Ad。因此,每次rewardBasedVideo。IsLoaded()返回true。

编辑

rewardBasedVideo.OnAdClosed += HandleOnAdClosed;  //Ad listener to your rewardBasedVideo

public void HandleOnAdClosed(object sender, EventArgs args)
{ 
    //   Load it here
}
 类似资料:
  • 我正在尝试使用Admob在我的android应用程序中显示奖励视频广告。如果我用谷歌示例广告单元ID运行应用程序,它工作得很好,但如果我将其更改为我的奖励广告单元ID,则不会加载广告。

  • 我正在尝试使用AdMob显示奖励视频广告。我添加了2个广告网络(AdColony、InMobi)并提供了所有必需的详细信息,如帐户ID等。 我还下载并编译了所需的网络SDK和适配器。 广告代码: 问题是我总是从AdMob那里得到同样的回应: 获取广告回复时出现问题。错误代码:0 有什么办法解决这个问题吗? 更新: 我通过从AdRequest中删除“addTestDevice()”克服了加载广告的问

  • 我正在尝试整合Facebook奖励视频。但是在获得放置ID时,奖励视频没有放置位置。只有本机、横幅、间隙和中矩形。我正在使用Facebook文档中的这些步骤 我的logcat给出以下错误: 05-25 18:27:22.530 6932-6932奖励视频广告加载失败:广告请求中的显示格式与为此放置指定的显示格式不匹配。每个放置只能与一种显示格式一起使用。您可以创建多个放置以使用多种显示格式。

  • 我已经发布了一个iOS应用程序,但我在使用谷歌移动广告SDK加载奖励视频广告时遇到了问题。 当玩家点击按钮查看视频广告时,玩家很少会看到视频。大多数时候,用户会看到Admob无法填写请求的错误: 有时,他们需要点击几下才能获得一个,有时,无论点击多少次,他们都无法获得一个。这个问题更多发生在我的奖励视频中,但也发生在我的横幅广告中。有时谷歌无法为我提供横幅广告。有人知道为什么这不起作用吗? 我的广

  • 我正在尝试使用ionic admobFree本机插件在ionic 3中显示奖励视频广告。我可以显示横幅和插页广告,但RewardedVideo广告并非每次都显示。因为RewardedVideo广告有时会出现,这意味着我必须把事情做对。我也尝试过显示测试广告,但rewardedVideo广告也没有显示为测试广告。admob中是否存在导致这种行为的某种设置,因为我没有收到任何错误,而是收到了错误。这是

  • 除了横幅广告和插页广告外,Admob还提供一种叫做奖励视频广告的广告。奖励视频广告有什么特别之处?难道我们不能将AdOpen事件处理程序附加到普通横幅或中间视频广告上,然后奖励那里的玩家吗?这是谷歌允许的吗? 此外,为什么我的Chartboost源在Admob中介中的状态为“挂起”?我已经在Chartboost中设置了我的帐户、广告和活动,并等待了6个小时。我要等多久?我必须先在Unity 5.3