2016-03-20 7 views
0

アンドロイドスタジオでリリースapkを正常に構築できました。Android Googleサービス:リリースとデバッグのためのAPIキーとSHA-1指紋

私のアプリは、Google App InvitesやAndroid用GoogleプレイスのようなGoogleのサービスをいくつか使用しています。

これらのサービスを取得するために、私はこのようになりますGoogleの開発者コンソール上でAPIキーを登録する必要がありました:

enter image description here

私はパッケージ名とのSHA-1指紋部分がわかりませんよAPIキーを取得します。

私のアプリケーションのデバッグバージョンとリリースバージョンの両方がある場合(パッケージ名はcom.myappとします)、com.myappをパッケージ名として2回入れますが、リリースを設定してSHA-パッケージ名ごとに1つずつ?

だから:

com.myapp (SHA-1 fingerprint) S1:2D:3F etc 
com.myapp (SHA-1 fingerprint) D2:1W:2V etc 

は、私はそれを実行しようとしましたが、これまでのアプリのリリースバージョンは、すべての仕事をしたいとは思われません。

APP_INVITEは言う:

ないAndroidのクライアントIDは、パッケージ名com.myappのために発見されました。 (APPINVITE_CLIENT_ID_ERROR)

PLACESオートコンプリートは言う:オートコンプリート予測API呼び出しを取得

エラー: ステータス{からstatusCode = PLACES_API_INVALID_APP、解像度=ヌル}

答えて

0

OK - いくつかの調査の後に、はい、あなたのパッケージ名を2回入れてから、SHA-1の指紋をリリースとデバッグ用に別々に入れます。これにより、PLACESが機能します。

また、調査の結果、APP_INVITEエラーがパッケージのクライアントIDが見つからないことがわかりました。これは、Google Developer ConsoleのAPIキーにあるOAuth 2.0クライアントIDを指しています。 SHA-1キーを変更すると(この場合、開発SHA-1とdebud SHA-1を入れるオプションはありません)、APP_INVITEが動作します。

1

それは少し紛らわしいですが、私はそうあなた(および他のサービス)を区別することができ、このようなシナリオを取り除くために最善の解決策はapplicationIdSuffixを追加することだと思うのビルド:ビルドのcom.myapp.betaとリリースのcom.myappを。

私はこの詳細なチュートリアルを見てみるために、あなたをお勧めします:http://medyo.github.io/2015/different-android-app-resources-gradle-build-type/

希望あなたの質問に答える

+0

は、私はあなたが遅すぎる少しです怖いです。私は私の問題を解決しました。下の私の答えを見てください。 – Simon

+0

はい、私はそれを見ましたが、どちらのキーがどのビルドに対応しているかを区別することはできませんか?id接尾辞を使用することを強くお勧めします。 – Mehdi

+0

良い点。私は残念ながら、最後のリリースのためにアプリを署名して残してしまったので、私は今すぐ私のクイックフィックスメソッドを代わりに使用し、今後あなたのソリューションを使用する必要があります。もう一度ありがとう+1 – Simon

関連する問題