blogsoftware開発に関することを書いていきますこの広告は、90日以上更新していないブログに表示しています。2019現地で聞いてないセッション。「位置情報に関する更新はだいじ!」と何名から言われたので早めに確認します。位置情報データに対するアクセスコントロールを提供。Qより前は、ユーザーは位置情報に関して「許可」「禁止」の2つしか選べなかった。許可した場合、アプリ使用中/バックグラウンドに関わらず、位置情報が取得できた。そのため、Qでは「このアプリ使用中にのみ位置情報の取得を許可する」が追加された。パーミッション追加が必要。フォアグラウンドでしか取得できない。これをオプトアウトする術はない。許可を得る際、「このアプリ使用中のみ取得」「拒否」の2択ダイアログが出せる(「常に取得」を非表示にできる)。インクリメンタルに許可をとることもできる。鉄道のアプリで、ユーザーがアプリを起動中に近くの駅の情報を出すといった機能があった場合、「アプリ使用中のみ位置情報を取得する」のダイアログを表示することができる。ユーザーがバックグラウンドにいるときも運行情報を取得したいとしたときにはじめて「常に位置情報を使用」まで含めたダイアログを表示。その際、「アプリは現在、使用中のみ位置情報にアクセスできます」と表示される。ユーザーは設定でいつでも「常に許可」「アプリ使用中のみ許可」の変更ができる。アプリ開発者はQでのテストを早めに行ってほしい。ユーザーがPからQにアップグレードした場合は?Pで許可していた場合、Qでは「常に許可」としてアップグレードされる。バックグラウンドでの位置情報もとれる。フォアグラウンドサービスユーザーが、ユーザーの意思で位置情報を取得し続けてほしい(ホームボタンでアプリが中断されても)場合、それはフォアグラウンドサービスとして実装されるべき。この権限をつけ忘れ、ユーザーが「アプリ使用中」の設定にした場合、位置情報は取得できない。通知について位置情報の使用を許可したアプリで、ユーザーが長期間使用していない場合、システムが通知欄に「このアプリは位置情報を取得しつづけてるよ」の通知を出す。ユーザーはこの通知をタップすると、位置情報の許可レベル設定画面が表示される。APIQ以前は、WifiのスキャンAPIと接続APIがあった。スキャンできるということは、そこからだいたいの位置が特定できてしまう。位置情報のパーミッションが必要だった。ユーザーにとって、「なんでWifiに繋ぐだけなのに位置情報を取得するの?」と混乱の元となっていた。この問題を解決するため、Qでは次の2つのAPIが追加された。NetworkSpecifyこれらを使うと、アプリは近くのWifi情報にアクセスできなくなるので位置情報のパーミッションが不要になる。パーミッションが必要になる。SSIDやパスワードの指定も可能。あとはユーザーが指定したWifiの領域内に入ったら、システムが通知で「このネットワークに繋ぐ?」と出してくれる。その際、「このアプリが提案してるよ」と出してくれる。つけると、接続後にアプリにブロードキャストが投げられる。