當 Android 應用打開 mPaaS小程序出現“網絡不給力,請稍後再試”時,應該如何排查問題?
在我們集成 mPaaS 插件並使用小程序的過程中,很多開發者會遇到了打不開小程序的問題,今天就舉例說明,開發者在完成基本接入後,嘗試打開小程序,如果容器頁面顯示錯誤提示“網絡不給力,請稍後再試”,應該如何排查。
原因分析
mPaaS 在打開一個小程序應用前,首先需要獲知該小程序包的基本信息。
因此客戶端會主動通過 mPaaS 的 RPC 接口alipay.client.getUnionResource去拉取離線包信息。如果小程序包信息獲取失敗(RPC出現異常),小程序容器就會提示錯誤 “網絡不給力,請稍後再試”。
問題排查步驟
1.過濾日誌
在AS控制檯過log日誌信息 RPC Exception;
2.查詢異常碼描述
如常見原因所述。
客戶端需要主動拉取離線包信息,而拉取過程依賴 RPC 請求,如果 RPC 鏈路存在問題,則無法正常獲取離線包信息,導致加載失敗。要確認 RPC 請求是否存在問題,需要在 AS 控制檯中搜索alipay.client.getUnionResource觀察 RPC 請求是否正常返回。如果存在錯誤,一般的錯誤代碼包括 7XXX 或 3XXX 系列等,例如:
錯誤碼 | 說明 | 示例 |
---|---|---|
7000 | 沒有設置公鑰 | 移動 APP 中無線保鏢中無 appId 對應的密鑰或者網關無法獲取 appId 對應的簽名密鑰。 |
7001 | 驗籤的參數不夠 | 網關服務端驗證簽名不通過。 |
7002 | 驗籤失敗 | 網關服務端驗證簽名不通過。 |
7003 | 驗籤-時效性失敗 | API 請求入參 ts 時間戳超過系統設置的時間有效性。需要檢查客戶端時間是否為系統時間。 |
7007 | 驗籤-缺少 ts 參數 | API 請求缺少驗籤 ts 參數。 |
7014 | 驗籤-缺少 sign 參數 | API 請求缺少驗籤 sign 參數。一般情況下是客戶端簽名數據失敗,導致缺失 sign 參數。請檢查客戶端無線保鏢圖片是否正確。 |
3.根據不同異常,解決RPC異常
7000-7002
圖片生成有問題,請按照接入Android,重新生成圖片,若是專有云環境,需要聯繫專門的服務人員進行進一步排查。
7003、7007
驗籤時效問題,可能是手機時間設置與網關服務時間相差超過30分鐘導致,檢查手機時間。
7014
上傳mPaas控制檯的APK簽名和應用打包簽名信息不一致。
針對常見問題RPC7014排查
- 檢查上傳mPaas控制檯的Apk包簽名debug環境是否配置
在 app 的 gradle 打包配置信息添加debug和release信息,正常手機運行打的debug環境下,所以要配置debug信息。
- 檢查mPaas控制檯Android配置信息中Package Name 信息和上傳APK文件是否和APP工程一致
工單協助
如果依然不能解決問題,請準備好相關問題的復現 Demo 工程,通過阿里雲工單系統聯繫 mPaaS 售後技術支持。
撰文:劉啟洋、刺胃
END
延伸閱讀