ページへ戻る

 印刷 

StarlingでAdmobのインタースティシャル広告を表示すると画面が黒くなる場合の回避方法 :: NJF Wiki

xpwiki:StarlingでAdmobのインタースティシャル広告を表示すると画面が黒くなる場合の回避方法

AndroidでStarlingで描画するアプリでAdmobなどのインタースティシャル広告を使うと一瞬広告が表示されたかと思うとすぐに黒い画面が表示されてしまうことがあります。 これは広告の種類やゲームの負荷、端末などによって起こったり起こらなかったりするのでやっかいです。 エラーログをみるとopenGL関連のエラーが出ているので、StarlingとAdmobの描画が何らかのコンフリクトを起こしているようです。 よってこれを回避するにはStarlingの描画を止める必要があります。

具体的には以下のようにアプリがバックグラウンドに回ったときにStarlingを停止、戻ったときに再開します。

private void init():void{
	NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, onActivateHandler);
	NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, onDeActivateHandler);
}

private function onActivateHandler(e:Event):void {
	Starling.current.start(); 
}
private function onDeActivateHandler(e:Event):void {
	Starling.current.stop(true);
}

広告が無くても負荷軽減のためにやっておいた方が良いでしょう。


Last-modified: 2015-09-03 (木) 14:20:29 (JST) (3151d) by njf