Android13(targetSdkVersion33)対応

ブログ

 Googleさんから2023年8月31日までに、targetSdkVersionを33対応にしろと命令があった。もし対応しないとそのアプリは今後アップデートできなくなるという、恐ろしい警告と共に・・・。

ということで、サボりにサボった私が作業をしたのが2023年8月30日。ギリです。targetSdkVersionを変えるだけではもちろんうまくいくわけもなく、Gradleのバージョンやらアップする羽目になり、また意味がわからないビルドエラーに悩まされながらも10個のアプリの更新を行いました。無事に更新が終了し、神のお告げである「Your update is live」メールを10個受け取りました。これで一安心。

のはずだった・・・

9月4日、Google Play Consoleの画面を見ると、すべてのアプリが「未公開」に・・・(@_@;)
わけがわからず、サポートへメール問い合わせするも、「タイムラグがあるから、特に対処の必要はないよ」とのこと。1週間ほおっておいた。まあ時間が解決するでしょ。

とはいかなかった・・・

更に1週間経った9月11日、Google Play Consoleの画面は相変わらず「未公開」。
もう1回、「ほんとに大丈夫?メール」をスクリーンショットを添えてサポートに送ると、どうやら下書き状態なので、もう1回申請してくれとのこと。
あの神のお告げ「Your update is live」は何だったのか・・・

まあまた申請すればいいやと気を取り直して、申請作業に進むと・・・
「あんたのアプリは広告IDを収集してないって言ってるけど収集してるから申請させんぞ」みたいなエラーが・・・(*´Д`)
いや広告なんて表示してないし、何言うてるんですかと、アップしたBundleの情報を見てみると権限の一覧に「com.google.android.gms.permission.AD_ID」という文字が・・・
色んなキーワードで検索してみると、どうやら「firebase-analytics」が勝手に収集しているらしい。いくつか情報があって対処してみたけど、なかなか権限が消えない。versionCodeをアップしないとGoogleさんが受け付けてくれないから、最初のアプリのversionCodeはとんでもない数に・・・

ネット上にはあーじゃないかこーじゃないかと書いてあるんだけども、私がうまくいった対処方法を書いておきます。

AndroidManifest.xml
xmlns:tools="http://schemas.android.com/tools"

修正は「AndroidManifest.xml」のみです。まずは<manifest>要素に上の1行必要。既にあればOK。

<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove" />

次にパーミッション行を1行追加。これでAD_ID権限を削除するみたい。ネットの書き込みでは、これはいらないって書いてあるところもあるけど、私の場合はこれが肝だった。

<meta-data android:name="google_analytics_adid_collection_enabled" android:value="false" />
<meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="false" />

最後に<application>要素内に上の2行を追加。この2行は本当に必要かどうかわからないけど、この4行を追加することにより、うまく「com.google.android.gms.permission.AD_ID」権限を排除できました。挿入箇所を具体的に書くと以下のようになります。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="jp.main.trl.hoge">


    <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove" />

    <application
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <meta-data android:name="google_analytics_adid_collection_enabled" android:value="false" />
        <meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="false" />

    </application>

</manifest>

結局9月に入ってからアップデートできたわけだけど、あの警告はなんだったのか・・・
アナリティクス使っている人多いし、GoogleのSDKですよね。アナリティクス使っている人もこういうふうに対処してねみたいな情報があってもいいのでは?とつぶやいてみる。

コメント

タイトルとURLをコピーしました