Google play billing(Google play 内支付) 上篇

写在前面:

最近Google貌似又被全面封杀了,幸好在此之前,把Google play billing弄完了,现在写篇 博客来做下记录。这篇博客一是自己做个记录,二是帮助其他有需要的人。因为现在基本登不上Google开发者后台,所以有些东西就没有办法截图了,尽量争取讲的全面些。这个博客会分成两篇,第一篇主要讲准备工作(要准备的东西挺多),第二篇讲相关的代码接入。

准备工作:

既然是做Google 内支付,所以像android的开发环境肯定是配置好了的,这里就不做讲解了。

1.下载开发包。

通过Android SDK Manager下载Android SDK的extras部分,最好把红线标示的两个开发包都下载了,第一个是Google Play Service包,其中会包括Google Cloud Message,Google Wallet等和Google Play Service相关的文档。第二个是内支付的包,其中就有我们这次开发需要的文档,例子,配置文件等。p.s.我自己用的笔记本没有装Google Play Service,不要在意:).Google play billing(Google play 内支付) 上篇

当把包下载完后你可以在本地SDK中找到这两个包(根据自己SDK的路径来找),billing包在这里。Google play billing(Google play 内支付) 上篇

其中samples就是Google官方提供的示例工程,我们的支付会用到,第二个文件是一个应用内通信相关的文件,是需要添加到我们自己工程里的,下面会讲到。

和billing相关的文档在这个目录

Google play billing(Google play 内支付) 上篇

v2可以跳过不看,我们现在要用v3支付,也就是版本3的支付(20150624追加更新:近日发现Google已升级支付版本到 了,有新的就建议大家用新的)。我建议是把这几个文档全部看一遍,这样可以让你心里对Google的这个支付有个大概的了解,看看这个支付是走的什么流程,用到了那些东西。虽然都是英文的,但是里面专业术语很少,我相信你花一个上午时间是可以看完的。其实我现在要讲的东西也是从这里看到的,所以如果你把这几个文档看懂了,也就可以不用看这篇博客了 :)

2.准备beta版APK

下载好上面的billing包后,第一,把IInAppBillingService.aidl这个文件加到你的工程里,添加方法很简单,在你的工程里建一个如下的包名com.android.vending.billing,再把这个aidl文件拷贝到里面,最后刷新一下你的工程就可以了,如果工程没有生成相关代码,可以执行下android update命令,update下你的工程。

<uses-permission android:name="com.android.vending.BILLING" />

第二,把上面这个权限添加到你工程的AndroidManifest.xml里(可以在Google play billing(Google play 内支付) 上篇工程里找到)。完成上面两步后,你的工程就有Google billing了(当然等你添加了支付代码后才算最后完成),在你的程序打包签名后,Google Play后台也会认可你的程序了,能够允许你在后台添加内购商品了.

在正式接入支付代码前,你可以先把这个apk上传到Google Play后台,这个APK就相当于你要发布的APK了,当然你不会真的发布它,这里要说的就是,这个上传的APK是需要签名的,而且包名以及签名要与你以后上传的正式APK保持一致。当然你也可以把支付相关的代码接入完毕后再上传后台。如何上传APK,在你登陆开发者后台后就知道怎么做了。需要注意的是这个包要上传为beta版,这样Google不会把它发布,但是可以激活APK的支付功能,这样我们就可以在本地装上APK测试支付了。

3.需要的账户

(1)去Google开发者后台申请账号,上传apk。 既然是要加Google支付了,就说明咱们的程序要上架Google Play了,所以开发者账号必须要有,相信你已经在开发者后台注册了账号了,如果还没有就去注册一个吧,因为我现在无法登陆开发者后台,所以注册账号这里就不讲了,你可以开vpn到Google开发者后台注册一个,顺便也要开通你的Google 钱包账户。

(2)测试账号添加。在Google play billing(Google play 内支付) 上篇这个文档里对于如何添加测试账户有详细的说明,这里不做赘述。测试账户就是一个可用的gmail账户,如果你的测试手机上登陆的是测试账户,当你测试购买Google billing时,Google是不会扣你钱的,这样你就可以免费测试你的应用内购买了。可以在后台添加多个测试账户。附加说明, 测试账号可以在后台里的设置界面添加。如下图示。先前遇见一个同学把邀请组测试当做测试账号了,那个只是你邀请别人来测试你的apk,而不是测试账号。

Google play billing(Google play 内支付) 上篇

(3)设置应用内商品。设置应用商品前,你需要把你的beta版APK上传到Google Play后台.在Google play billing(Google play 内支付) 上篇这个文档有对在后台如何设置内购商品的详细说明。需要注意的是,你设置的商品是唯一的,商品名字不可以重复,也不可以重用。建议在测试阶段可以只设置一个测试用的商品就可以了,等你支付添加完毕后,就可以把所有的商品添加到后台了。

(4)public key。验证支付结果的一个key,很重要,程序里要用到,在文档里可以找到从哪里获得。下篇 会讲到怎么用,这里可以先提及一下,就是这个key最好放到服务器端。当然如果你做的是单机游戏,就考虑如何隐藏这个key了,不管怎么样,千万不要名文写在你的java代码里就好。

4.测试设备

要测试Google billing,你首先需要一个带有完整Google Play应用商店,Google Play Service的Android手机。国内手机厂商一般都把这两个程序删掉了,你需要重新下载安装,装上后能不能用,你就自行百度解决吧。个人推荐用Google亲儿子nexus系列的设备,如果没有的也可以使用魅族和小米的手机,这两个厂商倒是把Google服务保留了(赞一个)。然后你要有个vpn,必须能够翻出国门哦。因为你的应用程序添加了Google billing后,国内的Google Play商店是不会上架你的程序,当然在你后台选择发布地区时就选不到*这个选项:(。因而你用国内的网络是无法完成支付的,这时你就必须开vpn来测支付了。注意一点,如果你曾经用国内的网络使用过Google Play程序商店的话,就需要把Google Play程序的数据清空,否则即使你后来开vpn测试,Google Play还是会把你当做国内用户对待,切记,切记。

5.信用卡

测试支付必须要有个VISA信用卡账户,或者其他像万事达这样的信用卡账户即可。虽然用测试账户测试购买不扣费,但是信用卡账户在支付过程中还是要填的。如果你是在公司工作的话,就让你们公司给你提供个信用卡账户吧,如果是个人开发者,就用自己的吧。推荐有一部固定的手机来测支付,这个手机最好没有root,因为你要输入你的信用卡账户和密码的,起码要保证安全。

以上就是需要做的准备工作,这些东西可以在开发前做,也可以在开发完毕后做。没有多大区别,个人推荐在添加Google billing代码前,可以先把后台相关的准备好。其实以上所说的基本都是billing文档上的东西,所以还是推荐先把那几个文档看完,然后再动手添加代码。下篇讲代码的接入。

上一篇:哈夫曼树和哈夫曼编码


下一篇:C# RSA 算法