ilemontree
@ilemontree

Что делать если не показывается реклама Admob в игре на Unity3D?

Хотелось бы использовать рекламу в приложении на андроид (не выложенное в google play). Сделал скрипт по примерам:
Код
// Все 'adUnitId' и 'appId' указаны верно.
    using UnityEngine;
    using System;
    using System.Collections;
    using GoogleMobileAds.Api;
    
    public class GoogleAdsController : MonoBehaviour {
    
    	private RewardBasedVideoAd rewardBasedVideo;
    
    	public void Show(){
    		if(rewardBasedVideo.IsLoaded()) {
    			rewardBasedVideo.Show();
    		}
    	}
    
    	public void Start(){
    		string appId = "---";
    
    		MobileAds.Initialize(appId);
    
    		this.rewardBasedVideo = RewardBasedVideoAd.Instance;
    
    		rewardBasedVideo.OnAdLoaded += HandleRewardBasedVideoLoaded;
    		rewardBasedVideo.OnAdFailedToLoad += HandleRewardBasedVideoFailedToLoad;
    		rewardBasedVideo.OnAdOpening += HandleRewardBasedVideoOpened;
    		rewardBasedVideo.OnAdStarted += HandleRewardBasedVideoStarted;
    		rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
    		rewardBasedVideo.OnAdClosed += HandleRewardBasedVideoClosed;
    		rewardBasedVideo.OnAdLeavingApplication += HandleRewardBasedVideoLeftApplication;
    
    		this.RequestRewardBasedVideo();
    	}
    	
    	private void RequestRewardBasedVideo(){
    		string adUnitId = "---";
    
    		AdRequest request = new AdRequest.Builder().Build();
    
    		this.rewardBasedVideo.LoadAd(request, adUnitId);
    	}
    
    	public void HandleRewardBasedVideoLoaded(object sender, EventArgs args){
    		Debug.Log("HandleRewardBasedVideoLoaded event received");
    	}
    	
    	public void HandleRewardBasedVideoFailedToLoad(object sender, AdFailedToLoadEventArgs args){
    		Debug.Log("HandleRewardBasedVideoFailedToLoad event received with message: " + args.Message);
    	}
    	
    	public void HandleRewardBasedVideoOpened(object sender, EventArgs args){
    		Debug.Log("HandleRewardBasedVideoOpened event received");
    	}
    	
    	public void HandleRewardBasedVideoStarted(object sender, EventArgs args){
    		Debug.Log("HandleRewardBasedVideoStarted event received");
    	}
    	
    	public void HandleRewardBasedVideoClosed(object sender, EventArgs args){
    		Debug.Log("HandleRewardBasedVideoClosed event received");
    	}
    	
    	public void HandleRewardBasedVideoRewarded(object sender, Reward args){
    		string type = args.Type;
    		double amount = args.Amount;
    		Debug.Log("HandleRewardBasedVideoRewarded event received for " + amount.ToString() + " " + type);
    	}
    	
    	public void HandleRewardBasedVideoLeftApplication(object sender, EventArgs args){
    		Debug.Log("HandleRewardBasedVideoLeftApplication event received");
    	}
    }

Но когда я вызываю метод Show(), в логе пишет Dummy ShowRewardBasedVideoAd и ничего не происходит, рекламы нет. Что делать?
Я видел какие-то testId, но не понял где это взять.
  • Вопрос задан
  • 3768 просмотров
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
вы бы весь лог из приложения скинули. именно с реального деваиса.
там почти наверняка есть строка про то что кампания для вашего приложения пустая и нет еще рекламы.

если только настроили - то появится реклама не сразу. Для того и есть описание про тестовую рекламу и тестовые айдишники устроиств.
https://developers.google.com/admob/unity/test-ads
при запуске на деваисе в консоли увидете в логе
To get test ads on this device, call:
request.testDevices = @[ "2077ef9a63d2b398840261c8221a0c9b" ];

как собственно и описанно..а дальше добавить тестовый деваис..пересобрать . ипосмотреть тестовую рекламу.
айдишники тестовых реклам там тоже указанны

если тестовую будет показывать. то и настоящая реклама тоже будет отображаться. со временем. после N первых запросов и еще чего то)) в общем когда гугл активирует компанию под это приложение..

ну и пометочка. за клики и показы не тестовой рекламы в большом количестве в целях разработки - могу наругать ,а то заблочить (посчитав накруткой). для того и придумали тестовую рекламу.
удачи
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы