開発したアプリの機能を修正して、
アプリのリリース申請したところ、リリース申請が否認されました。
そして、、、
Google社より、「ご対応のお願い: Google Play のポリシーをアプリが遵守していません」
といったタイトルのメールが届きました。
このメールの意味と対処方法について、説明したいと思います。
「ご対応のお願い: Google Play のポリシーをアプリが遵守していません」には、
別の原因で、違う対応が必要なケースがあります。
ポリシー違反
権限の使用が申告されていないか、 間違って申告されています
権限使用の申告とは、新しく追加されたAndroid14以降をターゲットとするアプリについて、使用するフォアグラウンドサービスのタイプを申告することです。
フォアグラウンドサービスに適した用途を見極め、アプリのバックグラウンド処理の目的を明確にするために導入された仕組みです。
アプリの機能を実現するために、必要な権限に絞り、権限の使用目的を明確にせよ、という意図があります。
メール本文
◎問題の概要
必要なご対応: Google Play のポリシーにアプリが準拠していません
いつもご利用いただき、ありがとうございます。
このたびの審査の結果、お客様のアプリ MultiCounter with MusicPlayer(パッケージ名 com.jiseifirm.assistants)は 1 つ以上のデベロッパー プログラム ポリシーを遵守していないと判定されました。
アプリのステータスと問題の修正方法について詳しくは、下記をご参照ください。
ステータス: 否承認
お客様のアプリは、下記のポリシーに関する問題により否承認となり、公開されませんでした。
送信したのがアップデートの場合は、引き続き以前のバージョンのアプリが Google Play に掲載されます。
問題が見つかりました。 権限の使用が申告されていないか、間違って申告されています
アプリ内でフォアグラウンド サービスの権限を使用している 1 つ以上のユースケースが、誤って送信されているか、Google Play Console の申告に含まれていないことが判明いたしました。
アプリ内エクスペリエンスまたは動画が、申告内の Location – Background Location Updates: User Initiated Location Sharing、と一致していません。
問題の詳細
次の項目で問題が見つかりました。
・バージョン コード 93
ポリシーに準拠するようアプリを修正する手順は次のとおりです。
更新した申告を送信してください。
その際、アプリ内でのフォアグラウンド サービスの権限の使用がすべて含まれていることを確認してください。
申告したすべてのユースケースが、実際のアプリの利用や操作に合致していることを確認してください。
フォアグラウンド サービスのタイプの権限のリストを見直して、申告したユースケースごとに適切なタイプが使用されていることを確認してください。
FOREGROUND_SERVICE を使用する必要がない場合は削除してください。
APK / App Bundle レベルを更新する手順は次のとおりです。
App Bundle エクスプローラに移動し、ポリシーに準拠していないバージョン コードを検索します。
詳細ページをクリックして、ポリシーに関する問題を含むトラック(クローズド テスト版、オープンテスト版、製品版)に移動します。
[トラックを管理] と [新しいリリースを作成] をクリックします。
違反している App Bundle / APK を含むリリースが未公開の状態の場合は、そのリリースを破棄します。
それ以外の場合は、ポリシーに準拠したバージョンの App Bundle / APK を追加します。
ポリシーに準拠していないバージョンがこのリリースの [含まれない APK] セクションに表示されていることを確認します。
リリース名を入力して [保存] をクリックします。
保存したら [リリースのレビュー] をクリックし、リリースを 100% 公開に設定して、ポリシーに準拠していない APK を完全に無効化します。
ポリシーに準拠していないバージョンが複数のトラックでリリースされている場合は、トラックごとにステップ 1 を繰り返します。
[App Bundle エクスプローラ] ページにもう一度移動し、ポリシーに準拠していないバージョン コードが詳細ページで「無効」かつ「0 リリース」と表示されていることを確認します。
申告されたすべてのユースケースが影響を受ける場合は、FOREGROUND_SERVICE 権限も削除する必要があります。
フォアグラウンド サービスの権限 について
フォアグラウンド サービス権限は、ユーザー向けのフォアグラウンド サービスが適切に使用されるようにするためのものです。Android 14 以降を対象とするアプリの場合、アプリで使用されるフォアグラウンド サービスごとに有効なタイプを指定し、そのタイプに適したフォアグラウンド サービス権限を申告する必要があります。
たとえば、アプリのユースケースで地図の位置情報が必要な場合は、アプリのマニフェストで FOREGROUND_SERVICE_LOCATION 権限を申告しなければなりません。
systemExempted および shortService フォアグラウンド サービス タイプを除き、以下に該当する場合にのみ、アプリでフォアグラウンド サービス権限を申告できます。
ユーザーにとって有益な、アプリのコア機能に関連する機能を提供する場合。
ユーザーによって開始された場合、またはユーザーが認識できる場合(例: 曲の再生、別のデバイスへのメディアのキャスト、正確で明確なユーザー通知、ユーザーによるクラウドへの写真のアップロード要求)。
ユーザーが終了または停止できる場合。
ユーザー エクスペリエンスに悪影響を与える場合や、ユーザーが求めている機能が意図したとおりに動作しなくなる場合にのみ、システムによって中断または保留することができる場合(たとえば、電話はすぐに開始する必要があり、システムによって保留することはできません)。
タスクを完了するために必要な期間だけ実行される場合。
フォアグラウンド サービスの使用について詳しくは、こちらの Google Play Console ヘルプセンター記事をご覧ください。
サポートへのお問い合わせ
ポリシーをご確認のうえ、今回の否承認が誤りだと思われる場合は、
お手数ですが Google のポリシー サポートチームにお問い合わせください。
2営業日以内にご連絡いたします。
ポリシー違反とその対処
●ポリシー違反
最初にメールの内容にあるポリシー違反を確認する必要があります。
「ステータス」に「否承認」とあるので、申請したアプリのリリースについて、ポリシー違反があるのでリリース申請を否認すると読みとれます。
今回のリリース申請で加えた変更または、変更があったポリシーに対して、違反が発見されたと考えられます。
「問題が見つかりました。権限の使用が申告されていないか、間違って申告されています」とありますので、マニュフェストファイルで宣言している権限に申請漏れあるいは、申請している権限が不適切と判断できます。
その次にある「アプリ内エクスペリエンスまたは動画が、申告内の Location – Background Location Updates: User Initiated Location Sharing、と一致していません」の「動画」・「申告」というキーワードから、Android14のコア機能の変更「フォアグラウンドサービスタイプは必須」に関係していると読み取れます。
Android14より、マニフェストファイルにフォアグラウンドサービスタイプの宣言を追加する場合、Google Play Consoleからフォアグラウンドサービスタイプの申告が必要になりました。
申告では、使用するフォアグラウンドサービス機能がわかる動画のリンクが必要になりました。
動画では、ユーザーがその機能を使用するために、アプリで行う手順を示す必要があります。
●対処
今回のポリシー違反ですが、フォアグラウンドサービスタイプの宣言に誤りがあると判断しました。
よって、フォアグラウンドサービスタイプの宣言部分の確認と訂正することが、対処になります。
ポリシー違反の対処
問題が見つかったアプリですが、経過時間や移動距離をカウントダウンするアプリです。
また、カウントダウン中に音楽プレイヤーとして動作し、カウントダウンを音声案内します。
移動距離をカウントダウンする場合、位置情報を使用して、移動距離を算出しています。
移動距離(経過)は音声で案内するため、アプリ画面が非表示であっても動作する必要がありますので、位置情報へのアクセスは、Foreground serviceで動作させる必要があります。
音楽と音声でお知らせマルチカウンターアプリ(Assistants)
このアプリでは、フォアグラウンドサービスで位置情報へのアクセス、音楽を再生します。
このため、マニフェストファイルのフォアグラウンドサービスタイプは、FOREGROUND_SERVICE_LOCATION、FOREGROUND_SERVICE_MEDIA_PLAYBACKを宣言していました。
Google Play Consoleからのフォアグラウンドサービスタイプの申告では、FOREGROUND_SERVICE_LOCATION、FOREGROUND_SERVICE_MEDIA_PLAYBACKの2つ申告していました。
●ソースの確認
Android14から、指定が必要なフォアグラウンドサービスは開始時にフォアグランドサービスタイプの指定が必須になりました。
サービスの開始部分を確認したら、FOREGROUND_SERVICE_LOCATIONを指定していますが、FOREGROUND_SERVICE_MEDIA_PLAYBACKは指定していませんでした。
:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
:
// Notification
notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationChannel channel = new NotificationChannel(TAG, TAG, NotificationManager.IMPORTANCE_DEFAULT);
channel.setDescription("Silent Notification");
channel.setSound(null, null);
channel.enableLights(false);
channel.setLightColor(R.color.blue);
channel.enableVibration(false);
if (notificationManager != null) {
notificationManager.createNotificationChannel(channel);
Notification notification;
:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
startForeground(ID, notification, FOREGROUND_SERVICE_TYPE_LOCATION);
} else {
startForeground(ID, notification);
}
}
フォアグラウンドサービスで音楽を再生しているので、必要と思い込んでいましたが、指定しなくても動作しています。
音楽のバックグラウンド再生の解釈が間違っていたようで、FOREGROUND_SERVICE_MEDIA_PLAYBACKの権限は不要だったようです。
●ポリシー違反の対処
マニフェストファイルのuses-permissionはFOREGROUND_SERVICE_LOCATIONのみに変更。
また、foregroundServiceTypeは”location“のみに変更しました。
そして、アプリをビルドしました。
次に、Google Play Consoleの「アプリのコンテンツ」でフォアグラウンド サービスの権限を変更しました。
念のために、Foreground service permissions申告用動画の説明を見直しました。
ポリシー違反の解消
マニフェストファイルの修正とフォアグラウンドサービスタイプの申告を変更後、リリース申請を行いました。
否承認からの再申請の場合、7日間程度とかかるとありましたが、2日後にリリース完了のメールが届きました。
まとめ
マニフェストファイルに宣言する権限は、追加しないとビルドできない、動作しない場合のみ追加が良いと思います。
必要という思い込みだけで追加して、実は使っていなかった場合、今回のようなポリシー違反の対応が必要になります。
今回は、ここまでです。
参考 : デベロッパー プログラム ポリシー
個人でアプリを開発するなら、マーケティングは重要です↓↓↓
誤字脱字、意味不明でわかりづらい、
もっと詳しく知りたいなどのご意見は、
このページの最後にあるコメントか、
こちらから、お願いいたします♪
ポチッとして頂けると、
次のコンテンツを作成する励みになります♪
参考になったら、💛をポッチとしてね♪
コメント欄