前書き
この記事は GoogleMap を表示するアプリ( 東京公共交通オープンデータチャレンジ - サンプルアプリ - )
をリリースするまでの過程の中、実際リリースされた後 GoogleMap が表示されなかった体験とその解決方法を記述したものです。
同じ問題にぶつかっている方、ぜひ参考にしてみてください。
GoogleMap が表示されない
ワクワクしながらコードを実行してみると、GoogleMap が表示されない…
こういう経験してないでしょうか?
私は SHA-1 証明書のフィンガープリント問題でこのような経験をしていました。
debug での GoogleMap 表示
ビルド設定 debug で GoogleMap 表示に失敗している場合は AndroidStudio の Logcat から簡単に表示設定ができます。
このようにエラーログを吐き出してくれるので、Google Developer Console リンクをタップし
API Key と SHA-1 証明書のフィンガープリントを設定するようにします。
API Key は、タップした Google Developer Console にて作れます。
SHA-1 証明書のフィンガープリントは、Logcat に出力されている FE:68(省略):46:83 までが SHA-1 証明書のフィンガープリントになりますので、コピーして APIキーで保存してください。
設定を保存してから 5分以内で GoogleMap は無事表示されます!
(プロジェクトと API Key の設定方法がよくわからない方は GoogleMap を表示するアプリを 0から作ってみよう! を参考してください)
release での GoogleMap 表示
debug で GoogleMap の表示を確認してからリリースしたけど、ストアでインストールしたアプリの GoogleMap が表示されない!!
という問題が自分にはありましたが、これも同じく SHA-1 証明書のフィンガープリントの問題でした…
release は debug とはまた違う APIキーと SHA-1 証明書のフィンガープリントを設定しないといけません。
debug でやったように、今回は release 用の APIキーを作り、そのキーを app/src/release/res/values/google_maps_api.xml
に入れてあげます。
そして release 用の APIキーで使う SHA-1 証明書のフィンガープリントは Logcat では確認できず、リリースしたアプリの Google Store Console から確認できました。
ここで SHA-1 証明書のフィンガープリントをコピーし、release 用の APIキーに保存してあげるとちゃんとリリースしたアプリにも GoogleMap が表示されるようになりました。
めでたいめでたい
関連リンク
初めて GoogleMap のアプリを作る方は必読! GoogleMap を表示するアプリを 0から作ってみよう!