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.4k
2
Share
[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
More Decks by syarihu
See All by syarihu
Recap #io25 What's new in Google Play
syarihu
0
110
[DroidKaigi 2024] Android ViewからJetpack Composeへ 〜Jetpack Compose移行のすゝめ〜 / From Android View to Jetpack Compose: A Guide to Migration
syarihu
4
4.9k
[shibuya.apk #46] Composableの枠を超えてアニメーションする / Animation beyond Composable
syarihu
0
110
[shibuya.apk #41] Jetpack Composeでグリッドに柔軟にスペースを入れたい
syarihu
0
3.5k
[DroidKaigi 2022] 詳解Google Playの新しい定期購入 ~オファーの活用や実装例を添えて~
syarihu
0
3.9k
5分で分かるGoogle Playの新しいサブスクリプション / Google Play new subscription 2022
syarihu
1
2k
[DroidKaigi 2021] Google Play 定期購入 比例配分モード完全攻略ガイド / Google Play Subscription Proration Mode Complete Guide
syarihu
1
8.1k
[Money Forward Tech Drive] What's new in Google Play [Recap #io21]
syarihu
0
620
[Android 11 Meetups] Google Play Commerce からのアップデート / Android 11 Meetups Google Play Commerce
syarihu
4
3k
Other Decks in Technology
See All in Technology
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
230
AI: Making Admin and Users, Lives Better
kbmsg
0
110
AWS Transform CustomでIaCコードを自由自在に変換しよう
duelist2020jp
0
120
AI時代 に増える データ活用先
takahal
0
310
CloudTrail を見つめ直してみる
kazzpapa3
1
110
260422_Sansan_Tech_Talk__関西_vol.3_データ活用のリアル__矢田__.pdf
sansantech
PRO
0
120
マルチプロダクトの信頼性を効率良く保っていくために
kworkdev
PRO
0
170
「責任あるAIエージェント」こそ自社で開発しよう!
minorun365
9
2.2k
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
430
ServiceNow Knowledge 26 の歩き方
manarobot
0
140
AgentCore Managed Harness を使ってみよう
yakumo
2
190
AIはハッカーを減らすのか、増やすのか?──現役ホワイトハッカーから見るAI時代のリアル【MEGU-Meet】
cscengineer
PRO
0
190
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
160
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
360
Unsuck your backbone
ammeep
672
58k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Prompt Engineering for Job Search
mfonobong
0
270
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
320
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
320
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
What's in a price? How to price your products and services
michaelherold
247
13k
How STYLIGHT went responsive
nonsquared
100
6.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
340
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
320
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
ありがとうございました