如果應用有國際化需求,請執行如下操作:
多語言適配(英/法/俄)
檢查接入的組件
檢查接入了哪些組件,部分組件依賴的高德 SDK 或熱修複組件可能無法通過 Google Play 的審核,需要替換或移除相關 SDK 或組件,以及部分三方 SDK 可能會向中國內地發送資料,可根據需求決定是否移除相關組件。
使用藍盾
使用藍盾替換無線保鏢,並根據需求決定是否配置多張藍盾圖片
多語言適配
英語
自 mPaaS Android 10.2.3.68 基準起,mPaaS SDK 已整體適配多語言 - 英語環境,並發布了國際版 10.2.3.global 基準,可以將基準升級到 10.2.3.68 及以上版本或直接使用國際版 10.2.3.global,並使用 Android 官方 API Locale 手動設定語言為英語,或跟隨手機系統語言。
法語/俄語
如還需要支援法語/俄語環境,請搜尋群號 145930007362 加入DingTalk群或 提交工單 聯絡 mPaaS 技術支援人員擷取對應的語言套件,將相關資源放到工程的 res/values-fr/strings.xml、res/values-ru/strings.xml 中,並使用 Android 官方 API Locale 手動設定法語/俄語,或跟隨手機系統語言。
檢查接入的組件
高德定位 & 地圖
高德定位和地圖 SDK 部分版本無法通過 Google Play 審核,請檢查應用是否接入了以下組件:
小程式
Mriver 小程式
原生小程式(專有雲)
智能投放
由於這些組件依賴了高德定位或地圖 SDK,您需要根據您的接入方式手動移除相關依賴:
移除高德 SDK 依賴
原生 AAR 接入方式
在主 module 的 build.gradle 中配置如下內容:
configurations.all {
exclude group:'com.mpaas.group.amap', module: 'amap-build'
exclude group:'com.alipay.android.phone.thirdparty', module: 'amap3dmap-build'
exclude group:'com.alipay.android.phone.mobilecommon', module: 'lbs-build'
}組件化(Portal & Bundle)接入方式
在主 module 的 build.gradle 中配置如下內容:
mpaascomponents {
excludeDependencies = [
"com.mpaas.group.amap:amap-build",
"com.alipay.android.phone.thirdparty:amap3dmap-build",
"com.alipay.android.phone.mobilecommon:lbs-build",
]
}使用定位組件
如接入了定位組件,需要按照上文所述的方式移除 amap-build 和 amap3dmap-build,但不能移除 lbs-build,並引入高德官網提供的可以通過 Google Play 審核的版本。以下是 mPaaS 所使用的高德 SDK 版本,以便選取相同或相近的過審版本。
'com.alipay.android.phone.mobilecommon:AMap-2DMap:5.2.1_20190114@jar'
'com.alipay.android.phone.mobilecommon:AMapSearch:6.1.0_20180330@jar'
'com.alipay.thirdparty.amap:amap-location:4.7.2.20190927@jar'熱修複
由於 Google Play 禁止應用動態下發可執行檔代碼檔案,接入熱修複可能會導致您的應用存在拒審風險,推薦您不接入熱修複組件。
三方 SDK 資料發送
mPaaS SDK 中引入的三方 SDK 可能會向設立於中國內地的伺服器發送請求,如不希望應用向中國內地發送資料,請您檢查並確保未引入以下組件:
UC 核心
分享
推送 - 小米
定位
優酷播放器
並參考前述章節 移除高德 SDK 依賴。
使用藍盾
使用藍盾替換無線保鏢
由於 mPaaS SDK 中的無線保鏢已停止維護,無法保證適配 targetSdkVersion 34 及以上版本,請參考 mPaaS 10.2.3 支援無線保鏢&藍盾切換 進行替換。
藍盾配置多張圖片
mPaaS 組件向網關發送請求時會使用藍盾加簽,相關資訊儲存在藍盾圖片中,藍盾圖片與應用使用的簽名綁定,如果應用的簽名發生變化,需要重新產生藍盾圖片,否則請求會驗簽失敗。
如您的應用需要在不同情境下使用多個簽名,例如:
啟用了 Google Play 的重簽名機制
使用 v3 簽名的密鑰輪替功能
您可以按照以下步驟操作:
使用簽名 1 構建 apk,參考文檔 產生藍盾圖片,預設的圖片路徑為
assets/abs_1222.jpg,將該圖片重新命名,如abs_1222_jks1.jpg。使用簽名 2 構建 apk,參考文檔 產生藍盾圖片,將該圖片重新命名,例
abs_1222_jks2.jpg。(可選)如使用 Google Play 重簽名機制,可直接從商店下載重簽名後的 apk 來產生藍盾圖片。
此時您的工程 assets 目錄下有兩張藍盾圖片:
assets/abs_1222_jks1.jpg
assets/abs_1222_jks2.jpg
在應用啟動時調用以下 API,設定需要使用的藍盾圖片:
MPBS.setBSAuthCodeDynamically(String bsAuthCode);支援該 API 的基準版本為 10.2.3.67 及以上版本。
參數
bsAuthCode為藍盾圖片名,不帶尾碼,例如圖片為abs_1222_jks1.jpg則參數應傳入abs_1222_jks1,如不調用則會使用預設圖片名abs_1222。調用時機必須在 mPaaS 初始化前,推薦在
attachBaseContext方法中調用,一旦 mPaaS 初始化完成,再次調用該 API 則無法生效。
您可以根據需要自行判斷使用哪一張圖片,範例程式碼如下。
// v3 簽名從 Android 9 開始支援 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { MPBS.setBSAuthCodeDynamically("abs_1222_jks2"); } else { MPBS.setBSAuthCodeDynamically("abs_1222_jks1"); } // Google Play 重簽名的應用會下發到 Android 13+ 裝置 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { MPBS.setBSAuthCodeDynamically("abs_1222_jks2"); } else { MPBS.setBSAuthCodeDynamically("abs_1222_jks1"); }