たくさんの自由帳
Androidのお話
たくさんの自由帳
投稿日 : | 0 日前
文字数(だいたい) : 3250
どうもこんにちは。
NewRadioSupporter
の更新を配信しようとした時の話。
バックグラウンドで位置情報を取得する権限を使う場合は、追加で申告をしないといけないらしい。
まぁそこそこ危険な権限だよな。。。
どうやらバックグラウンド状態で位置情報にアクセスするには、アプリの審査で追加の申告をしないといけないらしい。のでメモ
アプリが何なのか、とバックグラウンドで位置情報を取得する機能が何なのかを書きます。
使い方を表す動画を提出する必要がある模様。
https://support.google.com/googleplay/android-developer/answer/9799150?hl=ja#Video%20demonstration
動画の中で機能やその影響~
← なんか動画の中に説明も入れろ、みたいな言い方をしてるので、
バックグラウンド位置情報取得をする流れを画面録画をした上で、AviUtl
で文字を入れて適当に作りました。数年前はよくニコニコ動画に投稿してたので動画作る環境はあるっちゃある
YouTube
に上げるのを推奨しているらしいのでそうした。別にGoogle Drive
の共有でも良いらしい。
限定公開なので動画説明欄とかは適当でいいはず。
限定公開で公開して
PlayConsole へ戻り申告フォームに URL を貼ります。
元々ありましたが、プライバシーポリシーもこれに合わせて更新しました。
アプリ内からも飛べるようにしました。
https://github.com/takusan23/NewRadioSupporter/blob/master/PRIVACY_POLICY.md
もしかすると、GitHub
のリポジトリ内にあるMarkdown
だとリジェクトされるかも(後述します)
おねがいします
プライバシーポリシーが甘いと判断されたらしい。収集する項目 / 利用目的 / 共有の有無
をそれぞれ書きました。
あとプライバシーポリシーにアプリの名前をちゃんと書くようにした。
再提出~
????????
え?URL
変えてないんですけど、1回目は見れたのに2回目は見れなくなっちゃったんですか?
GitHub
のリポジトリ内にあるMarkdown
へのリンクをプライバシーポリシーのURL
として使ってたんですけど、もしかしてGitHub
のリポジトリじゃだめなの?
仕方ないので自分のドメインのこのサイトに書きました。それなら1回目でリンクが無効って言ってほしかった。。。
いや~でもいままでリポジトリにある Markdown
へのパスをプライバシーポリシーに使ったんだけど、なんで今回だけダメだったんだろう。
異議申し立てしても良かったかもだけど、早く配信したかったから飲むことにした。
フォアグラウンドサービス
で利用する場合、AndroidManifest
で<service>
のforegroundServiceType
属性をlocation
にすることで、アプリがフォアグラウンド(外アプリ利用中)でなくても位置情報が取得できるはずです。
試してないけど、フォアグラウンドサービスなら通知が出るからユーザー気付くでしょ!バックグラウンド位置情報取得権限は要らないよ!的な事が書いてある→ https://developer.android.com/training/location/permissions#foreground
あれ?じゃあバックグラウンド位置情報取得の権限要らない?と思ったんですけど、このアプリは 5G 回線チェッカーなので、foregroundServiceType="location"
で良いのかが微妙で、結局この方法も使えなさそう。
WorkManager
で動かしたいとかがあれば、やっぱりこの権限が必要かも?
電波状態にアクセスするために、位置情報の権限が必要なんですけど、これは何故かというと、
CID
やPCI
の値が、基地局?に対して一意の値(他と被らない、ユニークな値)らしい???から、おおよその位置が分かるかららしい。はえ~
バックグラウンド 5G 通知機能
の修正のついでに。
WearOS
側に通知が行くようにしました。デフォルトだと通知はサイレントなので、デフォルトにしないといけないかもしれない。
ちなみに、フォアグラウンドサービス起動中通知が、別で出るようになってしまったのですが、これは通知チャンネルの設定から個別に消せるようにしてあります。
実行中の方をオフにしても電波状態の通知は来るようになります。
ちなみに今までなんで来なかったかというと、フォアグラウンドサービスの起動には通知を出さないといけないのですが、この通知に電波状態を表示させてたからでした。
この通知、サービスが動いている間は消せないんですよね。
そして、消せない通知はWearOS
側に転送されないんですよね。
https://developer.android.com/training/wearables/notifications/bridger#non-bridged
なので、サービス起動中通知とは別に、電波状態の通知を出すようにしてみました。電波状態の方は消せるので、WearOS
にも出るようになりました。