移动开发平台 mPaaS mPaaS 小程序提示“网络不给力,请稍后再试”

By | 2021年4月23日

问题描述

Android 开发者在完成小程序接入后,尝试在应用中打开小程序时,容器页面显示错误提示“网络不给力,请稍后再试”,如下图:

poor_connection

常见原因

mPaaS 在打开一个小程序应用前,首先需要获知该小程序包的基本信息,因此客户端会主动通过 mPaaS 的 RPC 接口 alipay.client.getUnionResource 去拉取离线包信息。如果小程序包信息获取失败(RPC 出现异常),小程序容器就会提示错误 “网络不给力,请稍后再试”。

问题排查步骤

  1. 过滤日志。
    在 Android Studio 控制台过滤日志信息中的 RPC Exception 字段。
    RPC Exception
  2. 查询异常码描述。
    常见原因 所述,客户端需要主动拉取离线包信息,而拉取过程依赖 RPC 请求。如果 RPC 链路存在问题,则无法正常获取离线包信息,导致加载失败。要确认 RPC 请求是否存在问题,需要在 Android Studio 控制台中搜索 alipay.client.getUnionResource 观察 RPC 请求是否正常返回。如果存在错误,一般的错误代码包括 7XXX 系列等,例如:
    错误码 说明 示例
    7000 没有设置公钥 移动 App 的无线保镖中无 appId 对应的密钥。
    7001 验签的参数不够 网关服务端验证签名不通过。
    7002 验签失败 网关服务端验证签名不通过。
    7003 验签-时效性失败 API 请求入参 ts 时间戳超过系统设置的时间有效性限制。
    7007 验签-缺少 ts 参数 API 请求缺少验签 ts 参数。
    7014 验签-缺少 sign 参数 API 请求缺少验签 sign 参数。
  3. 根据不同异常,解决RPC异常。

    • 7000-7002
      代表图片生成有问题,请按照接入 Android 步骤重新生成图片,若是专有云环境,需要联系专门的服务人员进行进一步排查。
    • 7003、7007
      代表验签时效问题,可能是手机时间设置与网关服务时间相差超过 30 分钟导致,需检查手机时间。
    • 7014
      代表上传 mPaas 控制台的 APK 签名和应用打包签名信息不一致。排查方法如下:

      1. 检查上传 mPaas 控制台的 APK 包签名 debug 环境是否已配置。 在 App 的 gradle 打包配置信息中添加 debug 和 release 信息。正常手机运行在打 debug 包环境下,所以要配置 debug 信息。

                
        1. signingConfigs{
        2. debug{
        3. keyAlias 'key0'
        4. keyPassword '123456'
        5. storeFile file('D:/project/signFile/xx.jks')
        6. storePassword '123456'
        7. }
        8. release{
        9. keyAlias 'key0'
        10. keyPassword '123456'
        11. storeFile file('D:project/signFile/xxx.jks')
        12. storePassword '123456'
        13. }
        14. }
      2. 检查 mPaas 控制台 Android 配置信息中 Package Name 信息和上传 APK 文件是否和 App 工程一致。

工单协助

如果依然不能解决问题,请准备好相关问题的复现 Demo 工程,通过阿里云 工单系统 联系 mPaaS 售后技术支持。

请关注公众号获取更多资料

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注