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); }
広告が無くても負荷軽減のためにやっておいた方が良いでしょう。
ぺージ情報 | |
---|---|
ぺージ名 : | StarlingでAdmobのインタースティシャル広告を表示すると画面が黒くなる場合の回避方法 |
ページ別名 : | 未設定 |
ページ作成 : | njf |
閲覧可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
編集可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
Counter: 2938,
today: 2,
yesterday: 0
初版日時: 2015-09-03 (木) 14:18:50
最終更新: 2015-09-03 (木) 14:20:29 (JST) (3129d) by njf