運作方式
自動防護功能可為應用程式添加下列功能:
自動防護功能可對應用程式的程式碼加上幾道 Google Play 安裝程式檢查,在開啟的應用程式執行時進行。如未通過安裝程式檢查,系統會提示使用者前往Google Play 下載應用程式。
優點:讓更多使用者能從 Google Play 取得官方應用程式更新。
注意:這項功能僅限特定 Play 合作夥伴使用
自動防護功能可在應用程式的程式碼中加入執行階段檢查來偵測修改行為,並使用進階模糊處理技術來防止這類檢查遭到移除或反向工程。如未通過檢查,我們會提示使用者前往 Google Play 下載應用程式,否則應用程式將無法執行。
優點:防竄改功能再加上 Google Play 安裝程式檢查,可防止攻擊者透過未經授權的修改、重新封包、轉散布和盜版行為,略過您的發布或營利偏好設定。
注意:防竄改功能無法保證能防止所有修改和轉散布行為,目的只是提高這類行為的難度和成本,藉此降低成功率。Google Play 會持續強化防竄改功能,讓新版本自動享有最新、最有效的防護機制。
將應用程式遙測資料 (例如去識別化的環境和效能資料) 提供給 Google Play,可以幫助我們提升防竄改功能的韌性與效能。如要停止分享應用程式遙測資料,請前往「自動防護設定」頁面 (依序點選「測試及發布」>「應用程式完整性」,然後向下捲動至「自動防護」),然後停用「將應用程式遙測資料提供給 Google」設定。進一步瞭解 Google 如何運用資料來開發服務。
注意:這項功能僅限特定 Play 合作夥伴使用
自動防護功能可確保只有通過裝置完整性檢查的裝置使用者,才能在 Google Play 上存取您的應用程式,並在應用程式的執行階段防竄改功能中,加入裝置完整性檢查和採用專屬硬體的加密機制。
優點:裝置檢查能確保使用者是透過 Play 安裝應用程式,且他們的 Android 裝置已通過驗證,此外還能防止攻擊者為了略過防護措施,而在不明模擬環境下執行應用程式。
注意:如想執行裝置檢查,須啟用防竄改功能。當使用者冷啟動應用程式時,可能會看到短暫的 Android 啟動畫面。
設定
下列步驟將說明開始使用自動防護功能前必須完成的事項:
自動防護功能會要求 Google Play 建立經過修改的 APK,並代表你簽署該 APK,因此請務必:
- 使用 Play 應用程式簽署功能。
- 透過 Android App Bundle 發布應用程式。
請一併注意下列事項:
- 應用程式至少必須指定 21 以上的 API 級別,才能使用自動防護功能。
- 自動防護功能可離線使用,但如果裝置上的 Play 商店應用程式長期處於離線狀態,安裝程式檢查就會定期發出數據連線要求。
- 有自動防護功能,就不必使用 Play 授權程式庫。
- 將應用程式上傳到內部應用程式分享頁面時,防護功能不會啟用。內部應用程式分享連結請務必只提供給信任的團隊成員,不要與外部人士分享未受保護的版本。
- 自動防護功能與應用程式套件的程式碼透明性機制並不相容。
使用防竄改功能的其他必要條件
注意:這項功能僅限特定 Play 合作夥伴使用
要使用防竄改功能,應用程式就必須:
- 至少指定 23 以上的 API 級別。指定 midSDKVersion 23 以上版本的應用程式,會觸及超過 99% 的 Android 活躍裝置。
- 指定下列任一 ABI:x86、x86_64、armeabi-v7a 和 arm64-v8a。如要更新應用程式指定的 ABI,請更新 Gradle 設定。你可以將 Android 活躍裝置未使用的其他 ABI 從指定目標中移除,而不會影響應用程式的供應情形。
您可以在建立版本時啟用防護功能,也可以前往「由 Google Play 保護」頁面啟用。
建立版本時,請展開應用程式套件強化功能部分,按一下「自動防護」旁的「開始使用」。啟用「自動防護」功能後,點選「儲存」。
或者,也可以前往「由 Google Play 保護」頁面 (點選應用程式資訊主頁左側選單就能進入),捲動到「自動防護」,再按一下「開始使用」。啟用「自動防護」功能後,點選「儲存」。
透過各個測試群組來測試受保護的應用程式版本,確保使用者體驗或效能不會受到非預期的影響。
建議您在審查時一併採取下列行動:
- 測試遊戲啟動狀況,看看啟動時是否會當機或速度變慢。
如果在測試過程中發現問題,可以選擇關閉自動防護功能。建議您不要將未受保護的版本發布至公開測試群組或正式版群組。
如何關閉個別版本的完整性防護功能:
- 版本準備期間,展開應用程式套件強化功能部分,點選自動防護功能旁的資訊按鈕。
- 選取「為這個版本停用防護功能」。
- 儲存變更,然後這些變更就會套用到該版本。下次上傳版本時,版本會再次受到自動防護。
準備就緒後,您就可以透過 Play 管理中心將版本發布至正式版群組,讓所選國家/地區的每位 Google Play 使用者都能下載受保護的應用程式。
對於透過自動防護提示造訪的使用者,顯示量身打造的商店資訊
如果使用者從非正規管道取得應用程式,自動防護功能可以提示他們前往 Google Play 下載應用程式。使用者輕觸提示後,就會重新導向至您的商店資訊,可以輕觸安裝/購買/更新按鈕來下載應用程式。當他們從 Google Play 下載應用程式後,應用程式也會加入他們的 Play 媒體庫。
對於所有輕觸提示的訪客,您可以量身打造商店資訊素材資源,包括應用程式名稱、圖示、說明和圖像資源,方法如下:
- 開啟 Play 管理中心,前往「由 Google Play 保護」頁面 (點選應用程式資訊主頁左側選單就能進入)。
- 捲動到「自動防護」部分。
- 按一下「管理」。
- 捲動到「自訂商店資訊」部分。
- 按一下「建立商店資訊」。
- 按照「建立自訂商店資訊」頁面的說明操作,然後按一下「儲存」。
您也可以直接在「自訂商店資訊」頁面上建立自訂商店資訊,向輕觸自動防護提示的使用者顯示:
- 開啟 Play 管理中心,然後前往「自訂商店資訊」頁面 (依序點選「拓展使用者數量」>「自訂商店資訊」)。
- 按一下「建立商店資訊」,選擇建立新商店資訊或複製現有商店資訊,然後點選「下一步」。
- 在「應用程式詳細資訊」部分,捲動到「目標對象」。
- 選取「依網址」,在文字方塊中輸入「playintegrity」。
- 填寫其餘詳細資料,按一下「儲存」。
playintegrity 網址參數是專門保留給完整性深層連結的特殊關鍵字,設定自訂商店資訊時,請務必正確輸入這個參數。注意:使用裝置檢查時,無法變更商店資訊瀏覽權限偏好設定,因為系統在查看安裝並執行應用程式的 Android 裝置,以確認是否為可通過完整性檢查的正版裝置時,會代替您管理商店資訊瀏覽權限偏好設定。如要變更商店資訊瀏覽權限,請關閉裝置檢查。
下載未受保護的 Play 簽署應用程式版本
防竄改的建議做法
注意:這項功能僅限特定 Play 合作夥伴使用
自訂防竄改功能
您可以自訂防竄改功能,藉此加強應用程式的防竄改能力,防止用戶端密鑰外洩,並管理防護功能所帶來的效能負載。
Google Play 會自動為所有測試群組提供受保護的版本,包括內部測試、封閉測試、公開測試和正式版群組。因此,您應該按照往常的做法仔細測試這些版本。請特別注意以下幾點:
- 測試遊戲啟動狀況,看看啟動時是否會當機或速度變慢。使用裝置檢查時,須特別注意這點。
- 測試原生程式碼 (C/C++) 呼叫回 Java 的情況 (在您自己的程式碼或第三方程式庫中),例如廣告、記錄和社群整合、驗證,或是權限處理等 Android 專屬功能。
如果在測試過程中發現問題,可以選擇還原為先前版本中使用的自動防護功能,也可以關閉這項功能。建議您不要將未受保護的版本發布至公開測試群組或正式版群組。
如果您直接將應用程式版本上傳到內部應用程式分享頁面,Google Play 就不會添加防護措施,這樣您就能使用內部應用程式分享功能來上傳偵錯版本,以及其他類似的版本。
自動防護可能會與其他執行階段的防竄改解決方案不相容,因此如果你嘗試同時使用這些解決方案,可能會導致使用者遇到問題。假使你的應用程式會進行其他執行階段檢查,請務必先仔細測試受保護的應用程式是否有問題,再將應用程式發布到公開測試群組。
如果在公開測試群組 (或透過 Google Play 以外的管道) 發布未受保護的版本,防竄改功能就會停止運作。為確保應用程式的完整性防護功能可持續運作,建議您在公開測試群組和正式版群組只發布受保護的應用程式版本。
您或許會發現應用程式因受到保護而導致當機次數增加;這種情況可能代表自動防護功能運作正常。如果攻擊者修改應用程式失敗,執行階段檢查就會阻止應用程式運作,主要做法則是引發當機。
只要 Google Play 不是當機原因,您的 Android Vitals 穩定性指標就不會受到影響。使用其他工具 (例如 Crashlytics) 分析當機情形時,需要有套件名稱才能依安裝來源篩選。Google Play 商店的套件名稱為「com.android.vending」。
如果擔心當機次數增加會造成不利影響,請向我們回報,並盡可能提供詳細資訊,相關團隊會著手調查。假使我們判定這些當機問題與防護措施有關,就會做出回應。
破解版本是指經過修改,或未依規定透過 Google Play 安裝,但仍可運作的應用程式版本。
如果您發現應用程式的破解版本,可以向我們回報。
注意:這項功能僅限特定 Play 合作夥伴使用
符合以下資格條件的應用程式和遊戲,可使用自動防護機制提供的防竄改和其他進階功能:
- 每月消費者支出至少 $25,000 美元,或過去六個月內每月至少 $20,000 美元。
- 每月活躍使用者至少 1,000,000 人,且屬於敏感應用程式類別。
- 加入 Google Play 計畫,包括 Google Play Pass。
資格條件可能有所變動。如果合作夥伴符合使用資格條件,我們會透過 Play 管理中心和「由 Google Play 保護」頁面通知他們。
如果擔心在失去防竄改功能使用資格後會更容易遭受攻擊,請聯絡開發人員支援團隊,並盡可能提供詳細資訊,以利該團隊進行調查。我們會根據您的回報內容採取因應措施。