美文网首页
Android Google Play Billing(三)接入

Android Google Play Billing(三)接入

作者: 徘徊0_ | 来源:发表于2019-10-18 10:16 被阅读0次

    本篇文章记录集成 Google Pay 遇到的问题,如果有误欢迎拍砖!

    一、Google Pay Console 后台创建的应用不能删除

    如果是创建的草稿,右侧会有一个 删除 按钮,这种可以删除。如果应用 处于 已发布、发布中、被拒等状态,则看不到 删除按钮(本人找了设置之类的地方也没有看到删除功能,如果有可以删除,烦劳告知)

    应用列表.png
    二、应用后台部分功能说明

    1、应用版本
    应用版本分为:正式、Beat、Alpha、内部测试 四个版本,除了 正式版 其它都可以用作开发测试来使用。

    image.png
    2、点击右侧 管理,创建一个内部测试版本
    内部测试版本.png

    需要先上传一个 release版本的apk(注:这里的apk,需要签名的release包,可以是集成支付的空包) ,不然就会看到上图的提示。

    三、选择测试加入的URL不出现

    在集成的时候,上传完Apk,点击 管理测试人员 的时候,官网说明需要给测试人员发相应的邀请 链接 当测试人员点击了 链接 并加入之后,才算是可以测试。如下图位置

    邀请链接.png

    开始的时候,一直没有这个 选择加入的Url ,搜索了半天也没结果,后来发现,只有当你的应用处于 发布 状态的时候,这个位置才有这个Url 。下图是没有发布的应用

    应用未发布情况.png
    注:其实提示信息也说明了,不过之前一直以为 发布应用 指的是 发布正式版 这里是有一个小误,其实只上传 内测、Beat版本...也是可以的 。
    ps:相应信息填写完,Google 需要审核一段时间(我的大概审核了1天的时间),不过此时你的应用状态会变为 审核中 , 审核过,这个Url也就出现了,也就可以发给相应人员,加入测试过程。
    四、设置测试人员账号

    1、在Google Pay Console 设置测试人员,如下图:


    设置测试人员.png 添加测试人员.png

    2,账号详情添加可以用于测试的Gmail账号:


    添加测试Gmail账号.png

    经过上面步骤添加完成测试人员,当应用发布以后,将相应的 加入链接 发给测试人员,加入测试即可,点击链接如下图:

    加入链接.png
    五、Google Pay 应用签名问题

    将Google Pay Console 中的版本发布到正式版渠道中的时候,遇到一个问题:
    发布Apk到Google Pay成功后,使用之前的apk,无法进行支付,页面提示如下:

    使用原始Apk无法支付.png

    只有从Google Pay商店下载的应用才可以正常支付,或者下载派生的Apk:


    image.png

    原因:上传apk的时候,接受了谷歌签名计划,发布之后,对apk重新签名,导致的问题。如果已经接受该计划,好像没法取消(如果可以取消,烦劳告知),上传应用的时候需谨慎勾选! (查看是否接收:选择应用--->版本管理--->应用签名)

    加入和未加入.png
    六、Google Pay 正式版

    由于这次项目只使用Google的支付功能,Google Play上架审核比较严格(自己应用的权限获取太多,被拒好几次),后来想到一个办法,在Google Play console 上放一个壳 包名、版本号跟自己项目一样也可以进行支付操作,实际使用一段时间,暂时没发现有什么问题,如果有类似的需求,可以尝试一下,不过需要注意 包名、版本号一致不然无法支付。

    七、Google Pay 支付错误码 101(或者连接失败 code = 3)

    1, errorCode = 3

    /** Billing API version is not supported for the type requested */
        int BILLING_UNAVAILABLE = 3;
    

    这种情况是由于你的 Google账号 没有在购买支持的的地区范围(比如:不支持在A地区销售,但是你的Google账号资料在A地区,所以会报上面错误)
    解决办法:

    • 排查你的Google账号地区,步骤:Google Play商店-->设置--->账号
      Google账号地区.png
    • 排查你的设备ip所在地区

    2, 错误码 101

    public static final int BILLING_ERROR_FAILED_TO_INITIALIZE_PURCHASE = 101;
    

    发生场景:在同一设备增加新的Google账号,之前没问题,后来突然报了这个错误
    原因:Google Play 缓存问题
    解决办法:设置--->应用--->Google Play 清空缓存,退出 Google 账号重新登录!

    相关文章

      网友评论

          本文标题:Android Google Play Billing(三)接入

          本文链接:https://www.haomeiwen.com/subject/eawnjctx.html