「Unity/GoogleMobileAds/RewardedVideo古い」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→サンプルコード) |
(→サンプルコード) |
||
行27: | 行27: | ||
public void Start() | public void Start() | ||
{ | { | ||
− | // Get singleton reward based video ad reference. | + | if (rewardBasedVideo == null) { |
− | + | // 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. | |
− | this.RequestRewardBasedVideo(); | + | rewardBasedVideo.OnAdLeavingApplication += HandleRewardBasedVideoLeftApplication; |
+ | } | ||
+ | if (rewardBasedVideo.IsLoaded()) | ||
+ | { | ||
+ | MonoBehaviour.print("HandleRewardBasedVideoLoaded IsLoaded"); | ||
+ | } else { | ||
+ | this.RequestRewardBasedVideo(); | ||
+ | } | ||
GameObject.Find("ShowButton").GetComponent<Button>().onClick.AddListener(OnClickShow); | GameObject.Find("ShowButton").GetComponent<Button>().onClick.AddListener(OnClickShow); | ||
} | } |
2019年4月26日 (金) 21: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() { if (rewardBasedVideo == null) { // 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; } if (rewardBasedVideo.IsLoaded()) { MonoBehaviour.print("HandleRewardBasedVideoLoaded IsLoaded"); } else { 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(); } } }