AmazonのAppStoreで位置情報を使うアプリの対応端末を増やす方法
最近AmazonのAppStoreはパーミッションに関する制約が厳しくなり、これまで何も言われなかったアプリが警告扱いになり、ついに非対応ということになってしまった。
問題のアプリは位置情報を扱うアプリなのだが、Amazonの端末はGPSを搭載している端末が少ないので、このままでは対応端末が非常に限られてしまう。
改善すべきはAndroidManifest.xmlに設定しているパーミッションの指定。現在、位置情報関連のパーミッションは次の2つ。
アプリの性質上、GPSほどの高い精度の位置情報は必要無いので、初めはACCESS_FINE_LOCATIONを消してみた。これでGPSを使わないようになるのではと考えたからだ。
これで対応端末は増えたが、ACCESS_COARSE_LOCATIONだけではキロ単位のズレが発生してしまうことが分かった。これはさすがにまずい^^;
エラーの内容をよく見ると、「android.hardware.location.gps」がダメだと言っている。
ということは、「GPSは必須でない」という設定があるはず。ドキュメントを見ると
<uses-feature> | Android Developers
「android.hardware.location.gps」というプロパティーがあった。そこで、このように指定することにした。
すると、位置情報の精度はそのままで、対応端末が増えた(・∀・)
問題のアプリは位置情報を扱うアプリなのだが、Amazonの端末はGPSを搭載している端末が少ないので、このままでは対応端末が非常に限られてしまう。
改善すべきはAndroidManifest.xmlに設定しているパーミッションの指定。現在、位置情報関連のパーミッションは次の2つ。
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
アプリの性質上、GPSほどの高い精度の位置情報は必要無いので、初めはACCESS_FINE_LOCATIONを消してみた。これでGPSを使わないようになるのではと考えたからだ。
これで対応端末は増えたが、ACCESS_COARSE_LOCATIONだけではキロ単位のズレが発生してしまうことが分かった。これはさすがにまずい^^;
エラーの内容をよく見ると、「android.hardware.location.gps」がダメだと言っている。
ということは、「GPSは必須でない」という設定があるはず。ドキュメントを見ると
<uses-feature> | Android Developers
「android.hardware.location.gps」というプロパティーがあった。そこで、このように指定することにした。
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-feature android:name="android.hardware.location.gps" android:required="false" />
すると、位置情報の精度はそのままで、対応端末が増えた(・∀・)
コメント
コメントを投稿