そういうのがいいブログ

アプリ個人開発 まるブログ

アプリ開発覚え書き

【Unity】iOSの実機でリワード広告時にアプリの動作を止める方法

要件

Unityバージョン 2022.3.16f1
Google Mobile Ads SDK v9.1.0

はじめに

iOSの実機にてリワード広告を再生した際、
アプリが一時停止せずに動き続けていることに気がつきました。(今更)

現在開発中のアプリ内ではアイテム使用時にタイマーを使用しており、
動画広告再生中にタイマーが進行してしまうため動画再生中は動作を止める必要がありました。

今回、対応した内容を紹介します。

対応方法

方法は簡単でAdMob広告のスクリプトのスタート関数に以下を呼び出すだけです。

#if UNITY_IOS
    //iOSでフルスクリーン広告が表示されている間、Unityアプリを一時停止 (デフォルト設定では停止しないため)
    MobileAds.SetiOSAppPauseOnBackground(true);
#endif


上記を実行することでアプリが停止したままになるという情報があったため
リワード広告が表示終了した時に実行された時に以下を呼び出す。

#if UNITY_IOS
            //アプリ内時間が停止していることがあるようなので、再開する
            Time.timeScale = 1;
#endif

上記のコード抜きで3回ほど広告を再生してみましたが
アプリが停止するようなことはありませんでした。
一応いれておきます。

Udemy講座

リワード広告が表示終了した時に実行するスクリプト
広告実装講座で公開しています。

marumaro7.hatenablog.com

参考

note.com

developers.google.com