なんで自分のアプリが?

     2019年6月某日の早朝に「5五将棋 についてのご連絡」というタイトルでgoogle playからメールが来ました。なんと自分のアプリをgoogle playから削除したと言うのです。理由がわからなかったので、すぐにメールにあったリンクから異議申し立てしました。異議申し立てのページには異議申し立ての理由(「アプリを再度有効にすべきとお考えの理由」)を書く欄があったのですが、「有効にすべき理由じゃないだろ?まず削除した理由を言え(#゚Д゚)ゴルァ!!」1と書いて送信しました。

    削除理由は書いてあるけど、わからん

     サポートからの返信には「広告目的のアプリ」と判断されたと書かれていて、そのリンク先に

    広告表示を主目的とするアプリは認められません。

     違反の例: ユーザーがクリックやスワイプなどの操作を行うたびにインタースティシャル広告を表示するアプリ

     と書かれています。
     「広告目的のアプリ」と判断されたと言うことは最初のメールにも既に書かれていたのですが、自分のアプリの広告は寧ろ控えめにしているつもりだったので、全然納得出来ませんでした。でも、違反の例に「インタースティシャル」と書いてあったので、冷静になって考えてみるとAdMobプラグインを変更したことを思い出しました。前回書いた記事に書きましたが、Firebase導入+AndroidX移行に伴って広告表示するプラグインをcordova-plugin-admobからcordova-plugin-admob-freeに置き換えました。そしてそれまではインタースティシャル広告は使っていなかったのですが、ソースを修正するついでにautoShow = trueの設定でインタースティシャル広告も出すように変更していたことを思い出しました。でも、変更後も自分のスマホで動作確認していますので、インタースティシャル広告の表示頻度も体感しています。自分のスマホやエミュレータで確認している限りでは、起動時に一回表示されるだけだったので「これぐらいならユーザーに我慢して貰えるだろう」と判断してリリースしました2autoShow = trueという設定がどの程度の頻度で広告が表示されるかについては深く考えてなくて、autoShowという設定の方が作るのが楽だからやっていただけです。

    そう言えば思い当たる節が…

     自分でテストしている限りでは起動時に一回表示されるだけなのですが、以前google playの「リリース前テスト」の結果を見て「海外製の端末は結構な頻度でインタースティシャル広告が表示されているなぁ」と感じたことを思い出しました。ここに来てようやく「これがまずかったのかも」と思い至って、autoShow = falseの設定でアプリをビルドし直してapkファイルを送信したら、翌日にはサポートとのやり取りもなく勝手にアプリのページが復活していました。google play consoleの「アプリの掲載情報」に書かれている内容やgoogle playに登録しているプライバシーポリシーのページの内容も一切変更していません。ビルドファイル(*.apk)を更新しただけです。

    結局、原因ははっきりしない

     ビルドファイル(*.apk)を更新しただけで復活したということは、やはりcordova-plugin-admob-freeプラグインのautoShow = true設定が悪かったのだと思っているのですが、私の他のアプリ(3三将棋アプリ7七将棋アプリ禽将棋アプリ歩なし将棋アプリ)はautoShow = trueのままで同じプラグインを使っていても審査には引っかかっていないので、結局はっきりとした原因は分かりません3。ただ、広告の表示頻度をプラグイン任せにしているのは確かによくないので、ゲームが一回終了する毎に表示するとか、自分で制御するべきだったと思います。
     以前の記事で「デリケートなカテゴリに分類される広告」をブロック設定していなくて慌てたことを書きましたが、こういう自分が気づいていないことが原因でアプリを削除される人も多いんでしょうね。

    まだ続きます

     この記事を書いた後、今度はAdMobから警告が来ました。ここに書いてあるようにアプリの起動時や終了時にインタースティシャル広告を出してはいけないそうです。このページには画面が切り替わるタイミングでしかインタースティシャル広告を出してはいけないと書いてあります。5五将棋アプリで言えば右上のボタンをタップして将棋盤面からメニュー画面に切り替える時になると思いますが、起動時に一回だけ表示するよりメニュー画面に切り替わる時に広告表示される方がユーザーにとってはウザいし誤クリックを誘発すると思うのですがどうなんでしょう?
     とりあえず起動時に出すのは止めて、棋譜出力時に出すようにして様子見ることにしました。他のアプリも順次変更していく予定です。棋譜出力機能にも開発に時間かかったのでご了承ください。
     ※棋譜をクリップボードや他のアプリに送信するときに操作の邪魔をすることがあるので、棋譜入力時に変更しました。


    1. 実際には「先に削除した理由を教えてください」だったと思います。 

    2. 今でも違反とされたバージョンで試しているのですが、自分の端末や複数のエミュレータで試している限りインタースティシャル広告(全画面広告)に関しては、起動時に一回表示されるだけです。国によって何か広告に関するネットワーク規制でもあるのでしょうか? 

    3. 次回のバージョンアップ時には全てのアプリでautoShow = falseにしていくつもりです。