「Unity/GoogleMobileAds/RewardedVideo古い」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→サンプル再生方法) |
(→サンプルコード) |
||
行63: | 行63: | ||
{ | { | ||
MonoBehaviour.print("HandleRewardBasedVideoLoaded event received"); | MonoBehaviour.print("HandleRewardBasedVideoLoaded event received"); | ||
+ | // ここで広告表示ボタンを出すと良いかも | ||
} | } | ||
public void HandleRewardBasedVideoFailedToLoad(object sender, AdFailedToLoadEventArgs args) | public void HandleRewardBasedVideoFailedToLoad(object sender, AdFailedToLoadEventArgs args) | ||
行81: | 行82: | ||
{ | { | ||
MonoBehaviour.print("HandleRewardBasedVideoClosed event received"); | MonoBehaviour.print("HandleRewardBasedVideoClosed event received"); | ||
+ | // 次回用事前loadはここですると良いかも(this.RequestRewardBasedVideo();) | ||
} | } | ||
public void HandleRewardBasedVideoRewarded(object sender, Reward args) | public void HandleRewardBasedVideoRewarded(object sender, Reward args) |
2019年4月14日 (日) 05:54時点における版
サンプル再生方法
以下を対応した後
unity/GoogleMobileAds/基本 [ショートカット]
以下公式の組み方を追加
https://developers.google.com/admob/unity/rewarded-video
HandleRewardBasedVideoLoadedやEventArgsが読み込めない場合は、
using System;
を追加すれば直る
サンプルコード
- AssetsにCreate/C#でGoogleMobileAdsDemoScriptを追加し以下コード追加
- HierarchyにCanvasを追加し、Button追加で"ShowButton"を追加
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using GoogleMobileAds.Api; using System; public class GoogleMobileAdsDemoScript : MonoBehaviour { private RewardBasedVideoAd rewardBasedVideo; public void Start() { // Get singleton reward based video ad reference. this.rewardBasedVideo = RewardBasedVideoAd.Instance; // Called when an ad request has successfully loaded. rewardBasedVideo.OnAdLoaded += HandleRewardBasedVideoLoaded; // Called when an ad request failed to load. rewardBasedVideo.OnAdFailedToLoad += HandleRewardBasedVideoFailedToLoad; // Called when an ad is shown. rewardBasedVideo.OnAdOpening += HandleRewardBasedVideoOpened; // Called when the ad starts to play. rewardBasedVideo.OnAdStarted += HandleRewardBasedVideoStarted; // Called when the user should be rewarded for watching a video. rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded; // Called when the ad is closed. rewardBasedVideo.OnAdClosed += HandleRewardBasedVideoClosed; // Called when the ad click caused the user to leave the application. rewardBasedVideo.OnAdLeavingApplication += HandleRewardBasedVideoLeftApplication; this.RequestRewardBasedVideo(); GameObject.Find("ShowButton").GetComponent<Button>().onClick.AddListener(OnClickShow); } private void RequestRewardBasedVideo() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/5224354917"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/1712485313"; #else string adUnitId = "unexpected_platform"; #endif // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the rewarded video ad with the request. this.rewardBasedVideo.LoadAd(request, adUnitId); } public void HandleRewardBasedVideoLoaded(object sender, EventArgs args) { MonoBehaviour.print("HandleRewardBasedVideoLoaded event received"); // ここで広告表示ボタンを出すと良いかも } public void HandleRewardBasedVideoFailedToLoad(object sender, AdFailedToLoadEventArgs args) { MonoBehaviour.print( "HandleRewardBasedVideoFailedToLoad event received with message: " + args.Message); } public void HandleRewardBasedVideoOpened(object sender, EventArgs args) { MonoBehaviour.print("HandleRewardBasedVideoOpened event received"); } public void HandleRewardBasedVideoStarted(object sender, EventArgs args) { MonoBehaviour.print("HandleRewardBasedVideoStarted event received"); } public void HandleRewardBasedVideoClosed(object sender, EventArgs args) { MonoBehaviour.print("HandleRewardBasedVideoClosed event received"); // 次回用事前loadはここですると良いかも(this.RequestRewardBasedVideo();) } public void HandleRewardBasedVideoRewarded(object sender, Reward args) { string type = args.Type; double amount = args.Amount; MonoBehaviour.print( "HandleRewardBasedVideoRewarded event received for " + amount.ToString() + " " + type); } public void HandleRewardBasedVideoLeftApplication(object sender, EventArgs args) { MonoBehaviour.print("HandleRewardBasedVideoLeftApplication event received"); } void OnClickShow() { if (rewardBasedVideo.IsLoaded()) { rewardBasedVideo.Show(); } } }