AdjustSDKなどを利用している場合 GooglePlayからのポリシー警告への対応について
前提
1ヶ月ほど前にGooglePlayから以下のような警告を受けました。
デバイス上のアプリ情報なんて送信していませんでしたが、AdjustSDK
などを利用していると
実際には利用していなくても送信できるコードがSDKに含まれているため、警告の対象となりやすいようです。
問題が見つかりました。 データ セーフティ フォームが無効です
お客様のアプリがユーザーデータを収集、共有する方法が、データ セーフティ フォームで申告された方法と一致していません。アプリのデータ セーフティ フォームで収集することが開示されていないユーザーデータが、デバイスから転送されていることを検出しました。
..省略..
問題の詳細
次の項目で問題が見つかりました。
- バージョン コード xxx: ポリシーに関する申告 - データ セーフティ セクション: データの種類: アプリのアクティビティ - デバイス上のアプリ
ここでちゃんと修正すれば良かったんですが、当時は対処方法がわからなかったため
とりあえずアプリのアクティビティ
でデバイス上のアプリ
にチェックを入れて申請してしまいました。
再警告
そんな中途半端な対応をしたせいで再警告を受けて、1週間以内にユーザーに認識できる形で
デバイス上のアプリについて送信していることを開示しないとストアからリジェクトするぞと警告を受けました。当たり前ですね。
問題が見つかりました。 APK には認識しやすい開示が必要
お客様のアプリは、ユーザーデータに関するポリシーに準拠していません。
- お客様のアプリは、認識しやすい開示が行われない状態で、ユーザーの Installed Application に関する情報をアップロードしています。
修正内容
Googleが「アップロードしています」と断定的な表現を使っているのは、おそらくAdjustSDKなどが、実際にインストール済みアプリの情報を取得し、自社のサーバーに送信する処理を過去に検知したためだと思われる。
AndroidManifest.xml
へ修正を行い、その根本原因である「インストール済みアプリの情報を取得する権限」そのものをアプリケーションから明示的に削除することで対象のコードが無効であることを示す必要がある。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:node="remove" />
//... other permissions
結果
こちらの修正を加えたバイナリをGooglePlayStoreに提出して審査通過後、
データセーフティフォームからアプリのアクティビティ
でデバイス上のアプリ
のチェックを外して申請を行いました。
こちらの審査も通過後、再審査請求を行なったところ警告が解除されました。
安易にデータセーフティフォームから使っていない情報を送信していると言うのはやめましょう。
Discussion