写在前面:

最近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. linux查看rpm包创建的所有目录和文件

    有不少时候,我们需要查看某个rpm创建的所有目录和文件,出于了解程序结构或者其他目的,但是对于这个rpm包我们又不怎么熟悉,这个时候可以通过rpm -ql rpm名称查看. 但是rpm名称有可能又忘了 ...

  2. SharePoint DateTimeControl 使用

    首先,需要引用: <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebCo ...

  3. CLEAR REFRESH FEEE的区别

    clear,refresh,free都有用来清空内表的作用,但用法还是有区别的.clear itab,清空内表行以及工作区,但保存内存区.clear itab[],清空内表行,但不清空工作区,但保存内 ...

  4. MSCRM 2015 新功能(一)

    MS官网信息:http://www.microsoft.com/en-us/dynamics/crm-customer-center/what-s-new.aspx MS官网中提到的新功能主要以下几块 ...

  5. SharePoint 2013 - User

    1. 在SharePoint 2010中,可以搜索出NT AUTHORITY\authenticated users,但在SharePoint 2013中,不能搜索出,需要手动写入全名后进行验证: 2 ...

  6. C语言可变参数函数实现原理

    一.可变参数函数实现原理 C函数调用的栈结构: 可变参数函数的实现与函数调用的栈结构密切相关,正常情况下C的函数参数入栈规则为__stdcall, 它是从右到左的,即函数中的最右边的参数最先入栈. 本 ...

  7. Android中TextView中的文字设置为不同颜色

    questionDesTextView=(TextView)findViewById(R.id.question_des); SpannableStringBuilder builder = new ...

  8. Swift学习--闭包中的懒加载(四)

    class ViewController: UIViewController { //格式:定义变量时前使用lazy来修饰变量,后面通过等到赋值一个闭包 // 注意点:1.必须是用var 2.闭包后面 ...

  9. Modernizr的介绍和使用

    传统浏览器目前不会被完全取代,令你难以将最新的 CSS3 或 HTML5 功能嵌入你的网站. Modernizr 正是为解决这一难题应运而生,作为一个开源的 JavaScript 库,Moderniz ...

  10. Effective Java 14 In public classes, use accessor methods, not public fields

    Principle To offer the benefits of encapsulation you should always expose private field with public ...