質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AdMob

AdMobは、事前に指定した条件に従ってアプリに広告を表示するGoogleのサービス。開発者の向けのサービスで、広告を掲載することにより、収益を得ることが可能です。その他、見た目や雰囲気などアプリに合う広告に変更したり、広告表示の場所を指定することもできます。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

1回答

220閲覧

Unity : AndroidアプリでGoogleAdmobのHandleRewardBasedVideoRewarded関数が2回目以降呼び出されない。

komorebi

総合スコア4

AdMob

AdMobは、事前に指定した条件に従ってアプリに広告を表示するGoogleのサービス。開発者の向けのサービスで、広告を掲載することにより、収益を得ることが可能です。その他、見た目や雰囲気などアプリに合う広告に変更したり、広告表示の場所を指定することもできます。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2018/07/25 03:10

前提・実現したいこと

通常は動画広告を最後まで視聴するとHandleRewardBasedVideoRewardedが呼び出されます。
1回目は問題なく処理が行われますが、2回目になるとこの関数が呼ばれません。(動画は正常に視聴できます。)

発生している問題・エラーメッセージ

エラーメッセージなし。

該当のソースコード

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

public class RewardAbs : MonoBehaviour
{
public string adUnitId ;
private AdRequest adRequest;
private RewardBasedVideoAd rewardBasedVideo;
private Action rewardedHandler;

public GameObject notationReward; public GameObject absIcon; // Use this for initialization void Start() { RequestRewardBaseVide(); } private void RequestRewardBaseVide() { this.rewardBasedVideo = RewardBasedVideoAd.Instance; rewardBasedVideo.OnAdLoaded += HandleRewardBasedVideoLoaded; // ad has been received. rewardBasedVideo.OnAdFailedToLoad += HandleRewardBasedVideoFailedToLoad; // ad has failed to load. rewardBasedVideo.OnAdOpening += HandleRewardBasedVideoOpened; // ad is opened. rewardBasedVideo.OnAdStarted += HandleRewardBasedVideoStarted; // ad has started playing. rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded; // ad has rewarded the user. rewardBasedVideo.OnAdClosed += HandleRewardBasedVideoClosed; // ad is closed. rewardBasedVideo.OnAdLeavingApplication += HandleRewardBasedVideoLeftApplication; // ad is leaving the application. // 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 ShowAbs() { AiredAbs(rewardedHandler); } private void AiredAbs(Action handler) { if (rewardBasedVideo.IsLoaded()) { Debug.Log("広告表示"); rewardedHandler = handler; rewardBasedVideo.Show(); } } public void HandleRewardBasedVideoLoaded(object sender, EventArgs args) { } public void HandleRewardBasedVideoFailedToLoad(object sender, EventArgs args) { } public void HandleRewardBasedVideoOpened(object sender, EventArgs args) { } public void HandleRewardBasedVideoStarted(object sender, EventArgs args) { } public void HandleRewardBasedVideoRewarded(object sender, Reward args) { Debug.Log("報酬受け取り時の処理"); PlayerData.goldPoint += 30; notationReward.SetActive(true); absIcon.SetActive(false); } public void HandleRewardBasedVideoClosed(object sender, EventArgs args) { this.RequestRewardBaseVide(); } public void HandleRewardBasedVideoLeftApplication(object sender, EventArgs args) { }

}

補足情報(FW/ツールのバージョンなど)

Unity バージョン 2018.1.0f2
Google Mobile Ads Unity Plugin v3.15.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

約1年前の記事のようですが、気づきましたので、書かせて頂きます。

イベント登録の部分なのですが
rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
2回目よばれた時、問題ないでしょうか、
2回目というのが、シーンなどを切り替えて、 RewardAbsクラスが一度、破棄された状況だったとしたら
RewardBasedVideoAdはシングルトンらしいので、ここい登録されたメソッドは、どうなるのでしょうか?
つまり
RewardAbsクラスが破棄される時、イベント登録の解除処理がきちんといるのではないでしょうか?

投稿2019/06/04 11:58

Tuffy

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問