問題ないiOSアプリがAdMob広告絡みの誤解でリジェクトされた話

iOSアプリをストアでリリースするためには審査を通過する必要があるのですが、

今回審査をパスできなかった原因がApple側の誤解によるものだったので、その辺どう誤解を解いて審査を通したかを紹介しておきます。

#審査の返事

送られてきた文
>Guideline 2.5.10 - Performance - Software Requirements
>
>
>We noticed that your app or its screenshots include test advertisements. Apps or metadata items that include features that are for test or demonstration purposes are not appropriate for the App Store.
>
>Next Steps
>
>To resolve this issue, please revise your app to complete, remove, or fully configure any partially implemented features. Please ensure your screenshots do not include any images of demo, test, or other incomplete content.
>
>Please see attached screenshot for details.

要するに

「テスト広告は開発段階でだけ表示されるべきで、リリース段階では表示されてはいけないのに、表示されてしまっている。だからリジェクト。」

と言ってます。

その様子を表すスクリーンショットもつけてくれていました。

スクリーンショットは画面全体分だったのですが、大きいので、広告部分だけにしたものがこちら。

![attachment-3982997879864844378Screenshot-1105-151727.png](https://qiita-image-store.s3.amazonaws.com/0/85139/a07893fa-08d7-3227-d0c1-c65fe9e3731e.png)

#何が誤解なのか

実は、AdMobが配信する「テスト広告」は2種類のものがあります。

一つは、開発用のテスト広告。製品版アプリでこれが表示されていたら、リジェクトです。これをAとします。

もう一つは、「正しく広告配信していても、配信する広告が定まってない間だけ一時的に表示されるテスト広告」です。これをBとします。

そして問題のスクリーンショットに出ている「テスト広告」は、Bの「配信する広告が定まっていないためにAdMob側が配信しているテスト広告」なのです。

このBの広告が出ている場合は、広告配信設定自体は正しく行われています。このことは、下記のGoogleのページに書いてあります。


参考サイト
https://support.google.com/admob/faq/2993017?hl=ja#2993019


ということは、**Bの広告が出ている場合はリジェクトするべきではない**んですよ！

AとBの「テスト広告」をどう区別するかというと、

Aのテスト広告の場合は「Test Ad」という文字が、広告の上に重ねて表示されます。

こんな感じ。

![Simulator Screen Shot - iPad Pro (12.9-inch) (2nd generation) - 2018-11-06 at 19.09.21.png](https://qiita-image-store.s3.amazonaws.com/0/85139/917293fc-c723-ccc2-2d53-de595c7d891a.png)

これが出ていたら、リジェクトですね。



#送った返信

ということで、このことを説明する内容を、リジェクトに対する返信欄から送りました。


送った文
>There is no problem with this test ad.
>
>There are two kinds of test advertisements.
>
>A: Test ad for development. In this type of test advertisement, the word "Test Ad" is superimposed over the advertisement (see attached file). This is what you should reject.
>
>B: What is displayed temporarily when delivering new ad units. If this type of advertisement is showing, ads will be delivered once the ad requests have been made several times over time. (please see https://support.google.com/admob/faq/2993017?hl=en#2993019)
>
>In this case, the letter "Test Ad" is not displayed over the advertisement, so it is the case of B. If you launch the application several times or wait a bit, the correct ads will be delivered. I can not do it as it is not good for me to request advertisements many times as a developer.



日本語訳
>このテスト広告にはなの問題もありません。
>
>テスト広告には2種類のものが存在します。
>
>A: 開発用のテスト広告。この種類のテスト広告では、"Test Ad"という文字が広告の上に重ねて表示されます(添付ファイルを御覧ください)。これは、あなたがリジェクトするべきものです。
>
>B: 新しい広告ユニットを配信する際に一時的に表示されるもの。この種類の広告が表示されている場合は、何度か広告リクエストを行って一定時間が経つと、広告が配信されるようになります。(please see  https://support.google.com/admob/faq/2993017?hl=en#2993019)
>
>今回の場合、"Test Ad"という文字が広告の上に重ねて表示されていないので、Bのケースです。何度かアプリを起動したり、少し待ったりすれば、正しい広告が配信されるはずです。開発者である私が広告を何度もリクエストするのは良くないことなので、私はそれをできません。


Aの広告が出ていて「Test Ad」の文字が重なっている場合のスクリーンショットも添付しておきました。

#返信の結果

2日ほどで、無事アプリが公開されました！めでたしめでたし。

#注意

リジェクトに対して返信をする場合、新たに「Submit for Review」を行ってはいけません。

これをしてしまうと、新しいバージョンが投稿されたものとしてそちらが普通に審査され、

リジェクトに対して送った返信の意味がなくなってしまいます。

アプリの状態は「Rejected」のままになって気持ち悪いですが、返信を送ったならそのまま待ちましょう。


#公開されたアプリ

ということで今回公開されたアプリがこちら。

日本語入力の速さを測定します。よかったらどうぞ。自分のスマホのフリック入力とPCのローマ字入力でどれだけ速さが違うかを調べたりできます。

[iOS](https://itunes.apple.com/us/app/%E3%83%95%E3%83%AA%E3%83%83%E3%82%AF%E3%81%A8%E3%83%AD%E3%83%BC%E3%83%9E%E3%82%B8-%E6%97%A5%E6%9C%AC%E8%AA%9E%E5%85%A5%E5%8A%9B%E3%82%B9%E3%83%94%E3%83%BC%E3%83%89%E6%B8%AC%E5%AE%9A/id1441275882)
[Android](https://play.google.com/store/apps/details?id=oka_ryunoske.work.flickromaji.app)
[Web](https://flickromaji.oka-ryunoske.work/)