借金ナシ副業大家きりたろう

副業で現金を増やして不動産を全額現金一括買い

Admobのインタースティシャル広告が表示されない解決策 Startメソッド 起動時 Android iOS Unity

ゲーム開発

「アプリ起動時に毎回インタースティシャル広告を出そう」というユーザビリティ最悪な思いつきを実践してみてTestFlightで実機で動かしても、Androidにapkファイルを送って動かしてもインタースティシャル広告が表示されないので原因を調べてみました。

Admob禁止事項

ぐぐってみると以下のページに遭遇。

アプリの読み込み時や終了時の表示は禁止されているそうだ。

まあ確かにユーザーにとって全然よろしくないので禁止されていても納得するw

解決策

しかし、あまり作り込まれていないシンプル系アプリなんかだと、あまりインタースティシャル広告を仕込む場所も無いので、やはり起動時的なポジションに仕込みたい。

こんなときは、ローディング画面を作ればいいとグーグル先生の公式にある。

つまり実際の画面遷移が

【これだと駄目】
アプリ起動→インタースティシャル広告→アプリ画面

【これだとOK】
アプリ起動→Loading画面→インタースティシャル広告→アプリ画面

ということですね。

多くのカジュアルゲームは広告を入れるためにニセローディング画面(実際には通信していないけど)広告を表示する画面を作るために入れているという話も聞いていたのでこうゆうことかとw

私はUnityで開発しているのでSceneをひとつ作って「Now Loading…」とか表示して3秒後くらいに本来のアプリの使用される画面に遷移するみたいな構造に変えて対応します。

追記:本当の解決策

上記の解決策を実施しても表示されなくて駄目じゃねえか!と思いいろいろ検索していたらどうやらStartメソッドの中だとインタースティシャルが表示されない的な記事を発見。

インタースティシャルで躓いてわかったポイントは以下。

①バナー広告はLoadAd()で表示されるがインタースティシャルの場合はさらにShow()メソッドまで書かないといけない。

②Startメソッドの中に入れるとインタースティシャルが表示されない、OnGUI()だと表示される

正しいソースコードはこんな感じ。

Tagged , , , ,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です