Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[potatotips #69] Wi-Fi Suggestion API / Wi-Fi S...
Search
syarihu
April 27, 2020
Technology
2
2.1k
[potatotips #69] Wi-Fi Suggestion API / Wi-Fi Suggestion API
potatotips #69で発表したWi-Fi Suggestion APIの発表資料です。
https://potatotips.connpass.com/event/171532/
syarihu
April 27, 2020
Tweet
Share
More Decks by syarihu
See All by syarihu
[DroidKaigi 2024] Android ViewからJetpack Composeへ 〜Jetpack Compose移行のすゝめ〜 / From Android View to Jetpack Compose: A Guide to Migration
syarihu
3
2.9k
[shibuya.apk #46] Composableの枠を超えてアニメーションする / Animation beyond Composable
syarihu
0
36
[shibuya.apk #41] Jetpack Composeでグリッドに柔軟にスペースを入れたい
syarihu
0
3k
[DroidKaigi 2022] 詳解Google Playの新しい定期購入 ~オファーの活用や実装例を添えて~
syarihu
0
3.4k
5分で分かるGoogle Playの新しいサブスクリプション / Google Play new subscription 2022
syarihu
1
1.8k
[DroidKaigi 2021] Google Play 定期購入 比例配分モード完全攻略ガイド / Google Play Subscription Proration Mode Complete Guide
syarihu
1
7.6k
[Money Forward Tech Drive] What's new in Google Play [Recap #io21]
syarihu
0
550
[Android 11 Meetups] Google Play Commerce からのアップデート / Android 11 Meetups Google Play Commerce
syarihu
4
2.8k
[potatotips #70] license-list-pluginを使ってOSSライセンス画面を自動生成する / license-list-plugin
syarihu
4
4.7k
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
210
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
740
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
720
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
260
The Future of SEO: The Impact of AI on Search
badams
0
200
自動テストの世界に、この5年間で起きたこと
autifyhq
10
8.5k
技術的負債解消の取り組みと専門チームのお話 #技術的負債_Findy
bengo4com
1
1.3k
Larkご案内資料
customercloud
PRO
0
650
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
740
分解して理解する Aspire
nenonaninu
1
140
2024.02.19 W&B AIエージェントLT会 / AIエージェントが業務を代行するための計画と実行 / Algomatic 宮脇
smiyawaki0820
13
3.4k
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
660
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Designing for Performance
lara
604
68k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Embracing the Ebb and Flow
colly
84
4.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Site-Speed That Sticks
csswizardry
4
380
A better future with KSS
kneath
238
17k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Transcript
Wi-Fi Suggestion API 2020/04/27 (Mon) potatotips #69 @syarihu
Taichi Sato (@syarihu) • Money Forward, Inc. ◦ Android Engineer
• TechBooster
Android 10以前のWi-Fi関連API
• Androidでは、API Level 1からWi-Fi情報を追 加するAPIを用意している • イベント専用のアプリや実店舗などで使えるア プリでユーザーがWi-Fi情報を入力することなく イベント会場や店舗のWi-Fiに自動で接続でき る
Android 10以前のWi-Fi関連API
None
None
• Wi-FiがONで対象のSSIDが接続範囲内にい れば、保存されたWi-Fi情報を元に自動でWi-Fi に接続 • アプリを削除した場合はアプリから追加した Wi-Fi情報も同時に削除される Android 10以前のWi-Fi関連API
• Android 10以前で使えていた機能を提供する Wi-Fi関連APIは非推奨になった上に無効化さ れた Android 10以前のWi-Fi関連API
https://developer.android.com/reference/android/net/wifi/WifiManager#addNetwork(android.net.wifi.WifiConfiguration)
https://developer.android.com/reference/android/net/wifi/WifiManager#addNetwork(android.net.wifi.WifiConfiguration)
• プリインストールアプリなどを除いて minSdkVersion 29以上は2020年現在ではあり えない • Android 10以上では新しいAPIを使い、Android 10未満では以前のAPIを使って下位バージョンで も正しく動作させる必要がある
Android 10以前のWi-Fi関連API
Wi-Fi Suggestion API
• 接続先候補としてWi-Fi情報をシステムに追加 し、ユーザーにWi-Fiへの接続を提案するAPI • ネットワークの種類はオープン、WPA2、WPA3 のいずれかの認証情報を提供できる Wi-Fi Suggestion API
None
• サイレント通知であるため通知音は鳴らない • 通知の「はい」ボタンを押すと自動接続が許可さ れ、Wi-Fiが接続範囲内に入ったときに自動的に 接続される Wi-Fi Suggestion API
None
単なる接続確認ではない Wi-Fi接続のおすすめ通知
None
• 「いいえ」を押すと、アプリのもつWi-Fiの管理権 限が無効になり、Wi-Fi情報も削除される • Wi-Fiの管理権限が無効になると、アプリから変 更ができなくなるため、再度Wi-Fi情報を追加す ることができない 「いいえ」を押したときの挙動
• ユーザーが明示的に権限を許可するまでこの状 態は変わらない 「いいえ」を押したときの挙動
None
None
• 「いいえ」を押してもWi-Fiの管理の権限が無効 になったことは一切通知されない • 権限を許可する画面は階層の深いところにある ため、一度「いいえ」を選択してしまうとアプリか らWi-Fi接続をすることは難しい 「いいえ」を押したときの挙動
• Wi-Fi情報を追加するタイミングで案内メッセージ を表示するなど丁寧なコミュニケーションを取る 必要がある 「いいえ」を押したときの挙動
• Wi-Fi接続のおすすめ通知で「いいえ」を押した 時点で追加したWi-Fi情報も自動的に削除される • 再度自動接続させる場合、アプリからWi-Fi情報 を追加し、Wi-Fi接続のおすすめ通知で「はい」を 押さなければならない 「いいえ」を押したときの挙動
• 「はい」を押すと、アプリからのWi-Fi接続を許可 される • Wi-Fi Suggestion APIには現在接続されている Wi-Fiを強制切断して接続を切り替えるといった オプションはない 「はい」を押したときの挙動
• アプリから追加した接続先候補以外のWi-Fiに繋 がっている場合には「はい」を押しても接続が許 可されるだけで、アプリからWi-Fi接続を行うわけ ではない 「はい」を押したときの挙動
Wi-Fi接続のおすすめ通知の メッセージ修正
• Wi-Fi接続のおすすめ通知は単なる接続確認で はなく権限確認であることが分かったが、かなり ややこしい • Googleも接続確認のメッセージではよくないと 気づいたのか、android-10.0.0_r18から権限確 認だと分かるメッセージに変更された おすすめ通知のメッセージ修正
None
• メッセージの修正コミット自体は2019年8月に行 われてる • Pixel 2やPixel 3のアップデートとしてこの変更が 実際に適用されたのは2019年12月5日のアップ デートから おすすめ通知のメッセージ修正
• 同じAndroid 10でもどの時期のアップデートを適 用しているかによってメッセージが変わってきて しまう • 提供しているメーカーによっては今回の変更が 適用されていない可能性もある おすすめ通知のメッセージ修正
• Wi-Fi Suggestion APIを利用した機能を提供す る場合はアップデートバージョンを気にしておくと よい おすすめ通知のメッセージ修正
接続するまで何が追加されたか 分からないWi-Fi情報
• Android 10以前で利用できる WiFiManager#addNetworkメソッドでは追加内 容を保存済のネットワークとして確認できた 何が追加されたか分からないWi-Fi情報
None
• Wi-Fi Suggestion APIでの候補は対象のWi-Fi を検出するまでシステムのWi-Fi設定画面には 表示されない • どのSSIDに接続可能になるかはアプリ上のど こかで明記しておくとよい 何が追加されたか分からないWi-Fi情報
どこからも見えない 謎のブラックリスト
None
• 接続の解除は通常のWi-Fiと同じ用に動作する が、その後の挙動はおかしいことになる • ユーザーがアプリから追加されたWi-Fiを明示 的に接続解除してしまうと、接続を解除した SSIDはシステム内のブラックリストに入る どこからも見えない謎のブラックリスト
• ブラックリストに入れられたSSIDは、接続解除 されてから24時間は一切自動接続できなくなる • Wi-Fi Suggestionの候補からは削除されてい ないが、一度削除して再度追加を行ったとして も一切自動接続できない どこからも見えない謎のブラックリスト
• 現状、ブラックリストに入ってしまったSSIDはど こからも確認できない • アプリ上から何らかのメッセージを表示すること も不可能 どこからも見えない謎のブラックリスト
• システムの設定から解除するのではなくアプリ 上からWi-Fi Suggestion APIを使ってWi-Fi情 報を削除すると接続も解除される • 解除について注意事項を書いたり、接続を解 除する場合はアプリから接続の解除を促す警 告を出すなどするとよい
どこからも見えない謎のブラックリスト
アプリアンインストール時の挙動
• Wi-Fi Suggestion APIで追加されたWi-Fi情報 はアンインストール時に同時に削除される • どのSSIDが追加されているかはユーザーは分 からないため不安かもしれないので、アンイン ストール時に同時に削除されることは覚えてお くとよい
アプリアンインストール時の挙動
Android 11以降の Wi-Fi Suggestion APIについて
None
• 追加時のダイアログ以外にも大きな変更がいく つか入っている模様 • また機会があればお話します Android 11以降のWi-Fi Suggestion API
まとめ
• Wi-Fi Suggestion APIはシンプルな機能に見え て気をつけなければならない点が多い • 同じAndroid 10でもバージョンによって違いが あったりする •
Android 11以降でも大きな変更が入るので、注 意して見ておく必要がある まとめ
• 今回話せなかった以前のWi-Fi関連APIについ ての実装を含めた話や、Wi-Fi Suggestion API の実装の話についてもっと知りたい方は… おわりに
みんな気になる Android開発の最新事情 • in-app updates: アプリを使いながら アップデートしよう • 忙しい人のためのAAC最新事情 •
あなたとWi-Fi、今すぐサジェスト • Jetnewsで使われている Composableをざっと見る • Jetpack Composeのグランドデザイ ンを読み解く • 君も幸せになれるSpreadSheet使い こなし術 • First step of LiveData(改訂版) • ViewModelを理解する https://techbooster.booth.pm/items/1743311
ありがとうございました