

GoogleFit連携機能を持つアプリをアップデートリリースするにあたり、Google Play Store
で内部テスト配信、またはクローズドテスト配信（以降、テスト配信）でアプリのGoogleFit連携機能を確認すると、「
このアプリはGoogleで確認されていません 」の警告が表示され、この原因がわからず困っています。  
（申請が通り、本番の公開準備が完了していても同様になっています。）  
どなたか、アドバイスいただきたいです。

参考: <https://support.google.com/cloud/answer/7454865#unverified-app-screen>

[![表示されるダイアログ](https://i.stack.imgur.com/ANH2A.png)](https://i.stack.imgur.com/ANH2A.png)

## 詳細

  * 前提としてReact-nativeで作成されたアプリです
  * すでにリリース済みのバージョンのテスト配信のバイナリではこの事象は起きない
  * すでにリリース済みのバイナリとアップデート用のテスト配信したバイナリのGoogleによる署名は一致している
  * アップデートバイナリではtargetSdkVersionを29から31にアップデートしており、その都合、必要なライブラリのアップデートのために google-services.json を持つように変更されている 
    * google-services.json は firebase console で今回のアップデートのために作成したプロジェクトからDLしたもので、作成時は既存の Google Cloud Console に登録済みのプロジェクトを連携して作成されたものです。
    * Google Cloud Console でAPI設定されている FitnessAPI は有効になっている 
      * FitnessAPIで登録されている認証情報のOAuthクライアントIDに設定されている署名はPlayStoreで登録しているバイナリの署名と一致しており、変更はしていない
      * FitnessAPIで登録されている認証情報のOAuthクライアントIDに設定されているパッケージはPlayStoreで登録しているバイナリのパッケージと一致しており、変更していない
      * FitnessAPIで登録されている認証情報のOAuthクライアントIDに、google-services.json 追加したことによってか、「Web client (auto created by Google Service)」が追加で登録されている
      * FitnessAPIで登録されている認証情報のAPIキーは、google-services.json 追加したことによってか、「Android key (auto created by Firebase)」「Browser key (auto created by Firebase)」の2つが追加されている。設定は両方ともデフォルトのまま。
      * FitnessAPIで登録されている認証情報の、OAuthクライアントIDに設定されている署名は google-services.json に登録している（FirebaseConsoleからフィンガープリント追加で設定している）
      * FitnessAPI設定のOAuth同意画面設定は既存のバージョンリリース時に、Googleによる検査済みで本番環境となっおり、設定は変更していない（もちろんスコープも変更していない）
  * アプリからFitにアクセスするときのコードは変更していない。

## google-fit関連コード

project/build.gradle の buildscript

[code]

    buildscript {
        ext {
            buildToolsVersion = "33.0.1"
            minSdkVersion = 21
            compileSdkVersion = 31
            targetSdkVersion = 31
            supportLibVersion = "29.0.3"
            excludeAppGlideModule = true
            kotlin_version = '1.6.0'
            androidXCore = "1.6.0"
        }
        repositories {
            google()
            jcenter()
        }
        dependencies {
            classpath('com.android.tools.build:gradle:3.5.4')
            classpath 'com.google.gms:google-services:4.3.15'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        }
    }
    
[/code]

project/app/build.gradle の dependencies 抜粋

[code]

        implementation(project(":react-native-google-fit"), {
            exclude group: "com.google.android.gms", module: 'play-services-auth'
            exclude group: "com.google.android.gms", module: 'play-services-fitness'
        })
        implementation "androidx.work:work-runtime-ktx:$work_version"
        implementation 'com.google.firebase:firebase-analytics:21.2.0'
        implementation "com.google.android.gms:play-services-gcm:17.0.0"
        implementation "com.google.android.gms:play-services-auth:20.4.1"
        implementation "com.google.android.gms:play-services-fitness:21.1.0"
    
[/code]


CC BY-SA 4.0
2023-03-10T21:01:03.947
94128
2023-03-10T21:01:03.947
57446
question
android firebase oauth
androidアプリでGoogleFit連携時に未確認アプリの警告がでます