問題
広告表示時にはBGMをOFFにした方が良いようなので、
- 広告を表示したときにBGMをOFF
- 広告を閉じたときにBGMをON
という処理を行いたかったが、後者の処理が行われずに、広告を閉じてもBGMがOFFのままになっていた。
解決策
結論から述べると、広告オブジェクトの Destroy のタイミングの問題だった。
以前は、Show と Destroy をコード上の同じ場所に連続で書いていたが、これを分けて、 OnAdClosed のタイミングで Destroy を行うようにしたら解決した。
おそらく、OnAdClosed が呼ばれるよりも前に Destroy が呼ばれていたのが原因なのではないかと思う。
コード
1 2 3 4 5 6 7 8 9 10 11 |
public void HandleOnAdClosed(object sender, EventArgs args) { MonoBehaviour.print("HandleAdClosed event received"); SoundManager.Instance.BGMStart(); this.interstitial.Destroy(); } if (this.interstitial.IsLoaded()) { this.interstitial.Show(); } |
コメント