発生している問題・エラーメッセージ
AndroidアプリでGoogleFITのAPIを利用して歩数取得するアプリを作成したいと思っていますが以下状況です。
・ローカル上で作成したapkファイルをインストールすると連携成功して歩数が取得できる状況
・一方で、GooglePlayの内部テストでDLした場合には連携が失敗する
・Google連携部分は公式のGitHubをほぼ丸コピーしている
なお、ローカルで成功しているので、GoogleAPIで、SHA1のフィンガープリントを元にクライアントIDの作成は成功していると思います。
該当のソースコード
Kotlin
1 /** 2 * Checks that the user is signed in, and if so, executes the specified function. If the user is 3 * not signed in, initiates the sign in flow, specifying the post-sign in function to execute. 4 * 5 * @param requestCode The request code corresponding to the action to perform after sign in. 6 */ 7 private fun fitSignIn(requestCode: FitActionRequestCode) { 8 if (oAuthPermissionsApproved()) { 9 performActionForRequestCode(requestCode) 10 } else { 11 requestCode.let { 12 GoogleSignIn.requestPermissions( 13 this, 14 requestCode.ordinal, 15 getGoogleAccount(), fitnessOptions) 16 } 17 } 18 } 19 20 21 /** 22 * Runs the desired method, based on the specified request code. The request code is typically 23 * passed to the Fit sign-in flow, and returned with the success callback. This allows the 24 * caller to specify which method, post-sign-in, should be called. 25 * 26 * @param requestCode The code corresponding to the action to perform. 27 */ 28 private fun performActionForRequestCode(requestCode: FitActionRequestCode) = when (requestCode) { 29 FitActionRequestCode.READ_DATA -> readData() 30 FitActionRequestCode.SUBSCRIBE -> subscribe() 31 } 32 33 private fun oAuthPermissionsApproved() = GoogleSignIn.hasPermissions(getGoogleAccount(), fitnessOptions) 34 35 /** 36 * Gets a Google account for use in creating the Fitness client. This is achieved by either 37 * using the last signed-in account, or if necessary, prompting the user to sign in. 38 * `getAccountForExtension` is recommended over `getLastSignedInAccount` as the latter can 39 * return `null` if there has been no sign in before. 40 */ 41 private fun getGoogleAccount() = GoogleSignIn.getAccountForExtension(this, fitnessOptions)
考えられる原因など
上で貼ったのと同じリンクですが、公式のGitHubでは作成した作成したクライアントIDを特に送信しておりません。それが原因で本番環境だとエラーになるのでは等考えておりますが、、APIについて理解が足りていない部分があり、わかる方がいればアドバイスをいただける助かります。
どうぞよろしくお願いいたします。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。