最近公司上了一版海外的App,走的Google Play Store。原来没用过这玩应,突然还有点不适应。特记录下这个过程,希望对你有帮助。
写文章,有的图片没自己搞,盗了几张图啊,如有不妥请联系我删除
公司角色任务分配有些不明确,所以从头到尾都让我来弄喽,除了银行卡 。
这个这里就不多说了,很简单。但是中间换了一次,买了一个香港的账户,因为公司担心大陆收不了美元(我们的应用针对美国)
编辑Application时是可以实时保存的,但是必须完成四步才能发布内测、公测、生产三个版本。并且至少要发布一版内测才能测试内购中付款的东西。其中四个选中图标代表四步设置完成。
首先:如果是从头开始的新应用就点击右上角蓝色按钮create一个,因为我们的应用时面向老美的,所以语言选择了美国
填写应用详情:应用的图片找你们公司的UI妹子提供下,名称、类别根据自己的应用情况来填写;网站为公司h5官网,如果没有可以让h5同学简单弄一个就行;电话和邮箱得和公司负责人要了;隐私政策的话连接地址填官网的协议页,也就是与我们App里登录页面的h5协议链接一致就行。
再次:应用分级也是发布的基础条件,但是前提是先上传apk包(Apk包最好不要让Google Play管理自己的签名,据说可能会出现很多坑)。评级操作很简单,基本一直点否就行了。
然后:定价和分发范围这项配置也是比较简单的,选择相应的供应国家及勾选相应服务条款就可以了
最后:应用版本主要包含三个版本,如果应用内没有触犯到google的支付并且很自信!不用在测试了就可以直接发布生产环境包了。如果想要用一下Google Play的免费测试版本并且自己内部也想测下,发布成内测或者公测版并添加测试人员邮箱就行了,等稳定了在发布线上版本。但是如果触及到了支付问题,那就必须走内购了。比如像我们的应用就是这样,内测版直接被拒了,google要求走内购。哎!!!
首先:配置后台商品
这里我们关心三个地方,一个是ID,查询及支付时要用到,一个是输入的定价price与账号绑定如我们公司后来用的是香港的账号price结算单位为港币,但是勾选了定价下的复选框 后它会与美元形成兑换,所以将自己换算后的价格填上去就行了,最后一个关心的是状态!!!要选成有效!!!
此外还有一个重要的参数就是公钥
好!现在我们专注到代码配置就可以了!
官方推出了两种集成方式我这用的是第一种:https://developer.android.com/google/play/billing/billing_library_overview
官方的demo也是写的挺全面的,我直接拿过来改了一下下就竣工了:https://github.com/googlesamples/android-play-billing/tree/master/TrivialDrive_v2
第一步,添加依赖及清单列表权限
dependencies {
...
implementation 'com.android.billingclient:billing:1.2.2'
}
第二步,连接服务并获取商品列表及展示在自己的页面
// 连接googlepay
billingManager = BillingManager(this, this)
// 连接成功,开始请求列表
override fun onBillingClientSetupFinished() {
showWaitDialog()
billingManager?.querySkuDetailsAsync(BillingClient.SkuType.INAPP,
listOf("你的产品ID"),
this)
}
}
第三步,调起支付
// 根据对应的id吊起Google Pay
billingManager?.initiatePurchaseFlow(skuId, BillingClient.SkuType.INAPP)
第四步,得到回调并调用自己的后台验证
// 购买结果
override fun onPurchasesUpdated(purchases: List) {
Logger.t(TAG).e("onPurchasesUpdated==" + purchases.toString())
purchases.forEach {
if (skuId.equals(it.sku)) {// 调用接口 验证结果
// ...调用自己服务器接口验证,然后在调用google play同步消耗
.........
billingManager?.consumeAsync(it.purchaseToken) // 同步消费信息,防止下次调不起支付
}
}
}
好了,大功告成!
对了,不要忘了把帮了卡的测试人员加到测试人员列表,并且在发布应用后需要等一些时间才能开始测试。