Google IO 2025 結束了, 大家都度過了充實的兩天, 學習到很多東西。
用小學生寫作文的口吻, 寫一段 Google IO 結束了, 大家都過的很充實, 學習到了很多知識, 未來對 App 的開發很有幫助之類的
哇!這個禮拜的 Google I/O 終於結束了,我覺得好像去了一趟超好玩的校外教學,每天都過得好充實喔!
台上的叔叔阿姨們都好厲害,教了我們好多好多神奇的魔法,告訴我們怎麼讓手機裡的 App 變得更聰明、更好玩。我的筆記本寫得滿滿的,腦袋裡也裝了好多新知識,感覺自己變厲害了!
我覺得這些學到的東西,以後一定可以幫助我做出更棒的 App,讓大家的手機都變得更有趣!真希望明年的 Google I/O 快點來,我已經等不及要學習更多新東西了!
Detect repeat abuse using device recall (beta) #
Device recall 目前是 beta 階段, 整合在 Google Play Integrity 裡面。
可以在 Google 的伺服器上儲存最多 3 bits 的資料, 之後再取回。同一台裝置, 就算清除資料重設, 還是可以取回上次的資料。
因為只有 3 bits, 也沒辦法來辨識是哪個使用者, 除非只有 8 個使用者。
步驟
- 先呼叫 Google Play Integrity 驗證裝置, 可以拿到一個
INTEGRITY_TOKEN, 如果裝置是破解過的, 那可以直接不要太相信這個裝置來的 request, 禁用他部分功能之類的, 例如禁止兌換新人 coupon。 - 取回的內容
"deviceIntegrity": {
"deviceRecognitionVerdict": ["MEETS_DEVICE_INTEGRITY"],
"deviceRecall": {
"values": {
"bitFirst": true,
"bitSecond": false,
"bitThird": true
},
"writeDates": {
// Write time in YYYYMM format in UTC.
"yyyymmFirst": 202401,
// Note that yyyymmSecond is not set because bitSecond is false.
"yyyymmThird": 202310
}
}
}
- 取回的內容有, 三個 bits, 每個 bit 被設成 true 的時間。
防止使用者 abuse 的方法。
例如, bitFirst 對應註冊新帳號, bitSecond 對應用 SMS 驗證。
Server 可以在使用者註冊帳號之後 (或是註冊 N 個帳號之後), 把 bitFirst 設成 true, 還有該月份。下次就算裝置重設, 還是可以拿到 bitFirst: true, 202506, 就可以限制使用者只能在 202508 才能註冊新帳號。
或是有人一直呼叫 SMS 的 api, 也同樣可以設定 bitSecond, 限制他繼續呼叫 api。
也可以三個 bits 組合起來使用, 一般使用者 000, 有可疑動作的人就 +1, 變成 001, 同個月或下個月又有可疑動作的就繼續 +1。
直到一段時間沒有可疑動作才重設回 000。
結論 #
基本上用 Google Play Integrity 驗證就可以阻擋大部分的機器人了, device recall 可以更進一步阻止真人的 abuse 行為, 像是真人一直註冊新帳號領取優惠。
Firebase phone number verification #
Firebase Authentication 之前就已經有整合, Email 登入, 第三方 Oauth (Google/Apple/FB/X/Github), 電話SMS 驗證的服務了。
即將推出, 不用 SMS 的電話驗證服務。
類似 EZWay App 驗證時候, 會要求用手機上網, 驗證門號註冊的人跟 App 註冊的人是同一個帳號。
台灣使用的是 TWCA 推出的 Mobile ID 驗證服務
傳統 SMS 的缺點 #
- 要使用者手動輸入 (也是有自動填入的方法)
- 不同電信商, 可能等很久收不到簡訊 (需要用不同的 SMS 發送服務)
- 被濫用, 多花錢, 使用者輸入別人的電話, 輸入錯誤 …
Open Gateway API #
可以做到
- 驗證電話號碼
- 檢查過去一段時間有沒有 SIM Swap (是換新卡, 還是一張卡換不同手機?)
- 給一堆使用者個資, 回傳告訴你哪些資料符合
- 驗證裝置所在位置
- …
access to critical network CSP APIs such as phone number acquisition and verification.
Firebase 會幫你整合至少, 取得電話號碼, 驗證電話號碼真實性。
驗證的方法不是這樣
- 用 api 拿到電話號碼 0987878787
- 問 api 這個手機現在用的電話是不是 0987878787, api 回答 yes
是這樣
- 取得電話號碼 0987878787 跟一個 token
- 把電話跟 token 一起傳給後端, 後端去打 api 驗證 token 跟電話是符合的。
初期的合作電信商有 Deutsche Telekom, Orange, Telefónica, T-Mobile, Telenor, Verizon, Vodafone and others。
中国三大运营商共同发布通过 GSMA Open Gateway 认证的一次性密码 API
中華電信 SIM Swap, Device Status API
遠傳電信宣布正式通過全球行動通訊系統協會(GSMA)Open Gateway國際標準驗證,成功取得三項API認證,包含「SIM卡換發」(SIM Swap)、「號碼驗證」(Number Verification)及「終端設備狀態」(Device Status),成為國內唯一同時取得三項認證的電信業者,顯示遠傳在數位身份驗證與資安服務領域的技術領先與高度信任並與國際接軌。
台灣大強化全球跨境資安防護 全台首家獲GSMA Open API Stable永久認證
攜手AIS(泰國)、Globe Telecom(菲律賓)、Singtel(新加坡)等14家BAEx平台電信業者,共同展示「號碼驗證(Number Verification)」、「SIM 卡更換偵測(SIM Swap) 」等 Open API 技術應用。
結論 #
透過 Open Gateway API 驗證電話號碼,Google 也是會收費的, 電信商也會跟 Google 收費。好處是, 只要 Google 有跟電信商合作, 就不會有之前簡訊收不到, 太慢的問題。
就看正式公佈之後有支援多少電信商。
還有一個很實用的功能 #
Halt fully live releases
在 Google Play 上面開 100% 之後, 如果有問題, 不用重新送審, 可以停用。還沒更新的人就會繼續收到舊版, 安裝新版的人移除重新安裝也會回到舊版。