メニューを閉じる

テクノデジタルグループ

メニューを開く

2017.04.28

プログラミング

Google Maps API for Androidの初期化は最後の最後に

坂東です。

以前、こういう記事を書きました。
GoogleMapsAPIのクレジット使用料が増えるのは、「com.google.android.gms.maps.SupportMapFragment」などフラグメントがonCreate()されるタイミング

これって通信状況が悪く地図が表示できないときはどうなるのかなーと思って試しました。

機内モードにして地図を10回onCreate。
Google Maps API Consoleで使用量を確認、増えてない。

機内モード解除して地図をonCreate。
Google Maps API Consoleで使用量を確認、11回とカウントされてた。

地図の表示に関わらずカウントされ、オンラインになったら一気に送信される、という挙動のようです。

これで何が困るかというと、通信状況が不安定な時のユーザーの操作。
「地図を見よう、あれ見えないアプリ再起動。やっぱり見えない、再起動…」
とアプリをまともに使ってもらえないのに地図のカウントだけが増えていきます。

私はこれを防止するために、以下のような処理を入れました。
1. NetworkInfoとかで通信状況を確認
2. APIを叩くなど通信が必要な処理を走らせる
3. アプリが動作するための条件をすべて満たす
4. そして初めてSupportMapFragmentをonCreate()する

地図が表示されるまでに少しラグが増えましたが、クレジット消費しきるとアプリが動作しなくなるのでそれよりマシです。

おわり。


【記事への感想募集中!】

記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!
  • こんな記事が読んでみたい、こんなことが知りたい、調べてほしい!という意見も募集中!
  • いただいた感想は今後の記事に活かしたいと思います!

感想フォームはこちら


【テクノデジタルではエンジニア/デザイナーを積極採用中です!】

下記項目に1つでも当てはまる方は是非、詳細ページへ!
  • 自分でアプリを作ってみたい
  • ITで世の中にワクワクを生み出したい
  • 使いやすさ、デザインにこだわったWebサイトを開発したい

採用情報の詳細はこちら


Qangaroo(カンガルー)

  • 徹底した見やすさと優れた操作性で、テストの「見える化」を実現。
  • テストの進捗が見える。開発がスマートに進む。
  • クラウド型テスト管理ツール『Qangaroo(カンガルー)』

【テクノデジタルのインフラサービス】

当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。

https://www.tcdigital.jp/infrastructure/

最近の記事