写在前面:

最近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,不要在意:).

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

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

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

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

(3)设置应用内商品。设置应用商品前,你需要把你的beta版APK上传到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文档上的东西,所以还是推荐先把那几个文档看完,然后再动手添加代码。下篇讲代码的接入。

Google play billing(Google play 内支付) 上篇的更多相关文章

  1. Google play billing(Google play 内支付) 下篇

    开篇: 如billing开发文档所说,要在你的应用中实现In-app Billing只需要完成以下几步就可以了. 第一,把你上篇下载的AIDL文件添加到你的工程里,第二,把 <uses-perm ...

  2. Google play billing(Google play 内支付)

    准备工作 1. 通过Android SDK Manager下载extras中的Google Play services和Google Play Billing Library两个包. 2. 把下载的. ...

  3. SDK接入(2)之Android Google Play内支付(in-app Billing)接入

    SDK接入(2)之Android Google Play内支付(in-app Billing)接入 继上篇SDK接入(1)之Android Facebook SDK接入整理完Facebook接入流程之 ...

  4. Google In-App Billing 实现(内含Unity 实现经验)

    实现内购计费 傻逼目录   Adding the AIDL file Updating Your Manifest Creating a ServiceConnection Making In-app ...

  5. Google Adsense(Google网站联盟)广告申请指南

    Google AdSense 是一种获取收入的快速简便的方法,适合于各种规模的网站发布商.它可以在网站的内容网页上展示相关性较高的 Google 广告,并且这些广告不会过分夸张醒目.由于所展示的广告同 ...

  6. 应用内支付(IAP)可加入三方支付

    Windows Phone 放开政策 - 应用内支付(IAP)可加入三方支付   Windows Phone 应用商店在 今年(2013)11月04号 修改了商店政策 允许公司账户的应用使用三方支付S ...

  7. Google帝国研究——Google的产业构成

                                                                                        Google帝国研究--Goog ...

  8. Windows Phone 放开政策 - 应用内支付(IAP)可加入三方支付

    Windows Phone 应用商店在 今年(2013)11月04号 修改了商店政策 允许公司账户的应用使用三方支付SDK. 通过 App certification requirements cha ...

  9. 怎样用Google APIs和Google的应用系统进行集成(4)----获得Access Token以通过一些Google APIs的OAuth2认证

    在上篇文章中: "怎样用Google APIs和Google的应用系统进行集成(3)----调用发现Google APIs的RESTful的服务"一文中,我们直接用jdk的java ...

随机推荐

  1. eclipse:File->New没有Android Application Project的解决办法

    我的Eclipse版本是:Kepler Service Release 1,截图: 解决步骤: 1.单击Window,选择Customize Perspective,如图: 2.勾选Android A ...

  2. 【Android】开源项目UI控件分类汇总之ProgressBar

    Android开发的宝库越来越多,我开发中有需要的组件,主要参考Trinea的大作Android开源项目分类汇总(包含了后面的绝大多数).CSDN上直接拿来用!最火的Android开源项目还有CSDN ...

  3. Microsoft SQL Server,附加数据库 错误:Error 916解决方法

    错误信息:错误提示:标题: Microsoft SQL Server Management Studio Express ——————————  无法为此请求检索数据. (Microsoft.SqlS ...

  4. ArcEngine 0x8004023C

    在进行缓冲区查询时,查询的并是不要素本身的范围,而是缓冲一定半径,所以用到了ITopologicalOperator接口,主要是利用其buffer方法,代码如下: IFeatureClass pFea ...

  5. 修改list中附件排序(sharepoint 2010)

    修改文件C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\CONTROLTEMPLATE ...

  6. Web应用程序系统的多用户权限控制设计及实现-栏目模块【8】

    前五章均是从整体上讲述了Web应用程序的多用户权限控制实现流程,本章讲述Web权限管理系统的基本模块-栏目模块.栏目模块涉及到的数据表为目录表. 1.1栏目域 为了更规范和方便后期系统的二次开发和维护 ...

  7. java 之 对象与垃圾回收

    1.垃圾回收机制只负责回收堆内存中的对象,不会回收任何物理资源(如数据库连接,网络IO等资源) 2.程序无法精确控制垃圾回收的运行,垃圾回收会在合适的时候运行.当对象永久的失去引用后,系统会在合适的时 ...

  8. 敏捷软件开发(3)---COMMAND 模式 & Active Object 模式

    COMMAND 模式 command模式非常简单,简单到你无法想象的地方. public interface Command { void execute(); } 这就是一个command模式的样子 ...

  9. android 进程间通信---Service Manager(2)

    关于servicemanager的设计: 还是这张结构图,由于ProcessState & IPCThreadState是与binder deriver交互的, 所以对于client端来说Bp ...

  10. (网络层)IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

    目录 IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit:最低位在右边 ...