移動運用のお供に。現在地のグリッドロケータを表示します。
- iOS
- Android
Version | Release | リリースノート | Date |
---|---|---|---|
1 (1.0.0) | 初回リリース | 2024/01/03 | |
2 (1.0.1) | WEB API周りを修正 | 2024/01/03 | |
3 (1.0.2) | v1.0.2-alpha | WEB API周りを再度修正。本バージョンにて、Android版のみGoogle Playでクローズドテスト実施中。 | 2024/01/03 |
4 (1.0.3) | 次回予定 | WEB APIリクエストの回数を制限(前回リクエスト時の位置と現在位置の距離をみる) |
アマチュア無線局JS2IIUおよびその免許人は、提供するアプリ「JA Grid」の利用者に関する個人情報を含んだ情報の取り扱いについて、以下のとおりプライバシーポリシーを定めます。
-
取得する個人情報を含んだ情報
- 本アプリケーションにおいては、現在地情報としてスマホのGPS情報を読み取ります。GPS情報の読み取りにはユーザーによる許可が必要であり、許可されない状態では本アプリケーションがGPSを読み取ることはありません。
-
外部送信、第三者提供、情報収集モジュール
- スマホのGPS情報を取得して、Yahooデベロッパーネットワークが提供するYahoo!リバースジオコーダAPIに送信して現在地の住所を取得しています。
- GPS情報を送信する際に、アプリの利用者を特定する情報など、GPS情報以外は外部送信していません。
- 情報収集モジュールは使用しておりません。
-
お問い合わせ
- 本アプリケーションおよびプライバシーポリシーに関する、ご意見、ご質問、苦情の申し出その他、個人情報を含んだ情報の取り扱いに関するお問い合わせは、Githubのユーザページに示すSNS経由、もしくはJARLメールにてご連絡ください。
-
改訂
- アマチュア無線局JS2IIUの裁量に基づき、本ポリシーを変更する可能性があります。ただし、取得する個人情報を含んだ情報の取り扱いに変更が発生した場合は、本Githubリポジトリにて通知いたします。
-
制定日・改訂日
- 制定: 2023年12月23日
Simulator | Mobile Device | |
---|---|---|
iOS | iPhone 15 Pro Max iOS 17.0 iPhone 15 Pro iOS 17.2 |
|
Android | Pixel 2 API 30 Pixel 3 API 33 |
AQUOS wish A103 API 33 |
- グリッドロケータの検索履歴(いつ、どこ)を記録する機能
- 共有する文字列カスタマイズ機能
以下、自分の覚えメインです。
- geolocator | Flutter Package
- flutter geolocationの許可のエラーを解決したい
- 【Flutter】スマホの位置情報を取得するやり方
- Geolocatorのつまづきポイント
ios/Runner/info.plist
に以下のコードを追加する。WhenInUseUsage
のUse
が抜けていた・・・<key>NSLocationWhenInUseUseageDescription</key> <string>This app needs access to location to show GL on the screen</string> <key>NSLocationAlwaysUsageDescription</key> <string>This app needs access to location to show GL on the screen</string>
- 上記でもうまくいかずに、以下の記載に変更。3項目必要。
<key>NSLocationWhenInUseUsageDescription</key> <string>This app needs access to location when open.</string> <key>NSLocationAlwaysUsageDescription</key> <string>This app needs access to location when in the background.</string> <key>NSLocationAlwaysAndWhenInUseUsageDescription</key> <string>This app needs access to location when open and in the background.</string>
android/app/src/main/AndroidManifest.xml
に以下の2行を追加する。綴りを間違えないように・・・<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
android/app/build.gradle
、2箇所修正必要。2箇所あります。1箇所変更してやったつもりになっていましたが、ここに気づくのに大変時間がかかりました。compileSdkVersion 33
targetSdkVersion 33
- Dartコードの中で、位置情報へのアクセス許可ダイアログが出るようにします。ユーザ操作で許可してもらいます。これでようやくGPS情報が取り出せます。位置情報はプライバシーに関わる大事な情報ですからね・・・
LocationPermission permission = await Geolocator.checkPermission(); if (permission == LocationPermission.denied) { permission = await Geolocator.requestPermission(); if (permission == LocationPermission.denied) { return Future.error('no permission granted......'); } }
- Pythonで逆ジオコーディング【国土地理院API】 #pandas - Qiita
- 逆ジオコーディングAPIサービス、いつどれを使えばよいか調べた話
- 逆ジオコーディング - NAVITIME API 2.0 仕様書
- ジオコーディング サービス | Maps JavaScript API | Google for Developers
pubspec.yaml
にasset:
追加を忘れずに。あと、.gitignore
にも。- Flutterでdotenvを利用して環境変数を管理する方法 | DevelopersIO
- Flutterでdotenvを使ってみる
await dotenv.load(fileName: ".env")
はFuture main()
の中で。
- share_plus | Flutter Package
- 【flutter】アプリにシェア機能を持たせる
Share| Programmable - Flutterでシェア機能を持ったアプリを作成する #Flutter - Qiita
- アプリアイコンの設定
- アイコン画像を
assets/icon
フォルダに。サイズは512x512。 flutter_launcher_icons
が変換してくれるので、サイズは1024x1024
でよい。ただし、Androidの場合は真ん中だけを切り取るので、ある程度余白を取る。公式の仕様はこちら:Google Play アイコンのデザイン仕様 | Android Developers- ただし、Android向けに最適化した画像をiOS向けにも使った場合、アイコンが小さくなる。(余白部分が広くなる)
flutter_launcher_icons
パッケージを導入する。flutter_launcher_icons | Dart Packagedev_dependencies: flutter_launcher_icons: "^0.13.1" flutter_icons: android: true ios: true image_path: "assets/icon/JAGridIcon.png" adaptive_icon_background: '#ffffff' adaptive_icon_foreground: 'assets/icon/JAGridIcon.png'
- 以下のコマンドを実行する
% flutter pub run flutter_launcher_icons:main
- アイコン画像を
- 画面右上のDEBUGラベルを消す
main.dart
のhome: const MyHomePage(title: 'JA Grid'),
の次の行に挿入する。debugShowCheckedModeBanner: false,
- スクショをとる
- Androidの場合は最低2枚必要
- GPS情報が更新されない場合は、一度GoogleMapを立ち上げて現在位置表示してからアプリに戻ると良い。
- 【Xcode】シミュレータのスクリーンショットを撮る方法 - Reasonable Code
- スマホに表示されるアプリ名を変更する
- 【Flutter】アプリ名やアイコンの変更とローンチスクリーンの表示
android/app/src/main/AndroidManifest.xml
のandroid:label
の値を変更ios/Runner/Info.plist
のCFBundleName
の値を変更
- アプリのバージョニング
pubspec.yaml
のバージョン番号を更新するversion: 1.0.0+1
- 【Flutter】AndroidアプリをPlayストアで公開するときに「バージョン コード 1 の APK または Android App Bundle がすでに存在するため、別のバージョン コードを使用する必要があります。」と言われるときの対策 #Flutter - Qiita
- リリース用にビルドする
% flutter build appbundle --release
- Githubで新しいリリースを作成する
Google Playで内部テストを行った際に、ジオコーダーのAPIが動作しない問題が発生。アプリの権限の設定不備が原因。android\app\src\main\AndroidManifest.xml
に以下の内容を記載することで権限の問題が解決した。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- Flutterアプリでリリースビルド時にAPIが叩けない - permission (Android) #Android - Qiita
- FlutterのreleaseビルドでHTTP通信が使えないとき #Android - Qiita
- error when using https with flutter http.dart package - Stack Overflow
- ネットワークに接続する | Connectivity | Android Developers