在SDKmanage可以下载官方例子Dungeons
不知道是不是中国不支持Google Pay的Iap机制,下载个market enabler就可以了
按下Buy按钮,程序会跳转到Google Pay的界面,接着就可以选择各种支付方式,购买商品
下面是Buy按钮的onclick事件
public void onClick(View v) {
if (v == mBuyButton) {
if (Consts.DEBUG) {
Log.d(TAG, "buying: " + mItemName + " sku: " + mSku);
}
if (mManagedType != Managed.SUBSCRIPTION &&
!mBillingService.requestPurchase(mSku, Consts.ITEM_TYPE_INAPP, mPayloadContents)) {
showDialog(DIALOG_BILLING_NOT_SUPPORTED_ID);
} else if (!mBillingService.requestPurchase(mSku, Consts.ITEM_TYPE_SUBSCRIPTION, mPayloadContents)) {
// Note: mManagedType == Managed.SUBSCRIPTION
showDialog(DIALOG_SUBSCRIPTIONS_NOT_SUPPORTED_ID);
}
} else if (v == mEditPayloadButton) {
showPayloadEditDialog();
} else if (v == mEditSubscriptionsButton) {
editSubscriptions();
}
}
执行showPayloadEditDialog();就会切换过去了。
所以你唯一需要做的就是
修改要购买的商品id,还有显示的信息
在你的程序添加一行跳转到Dungeons这个Activity的代码(如果你只是单纯想实现购买功能的话)
当然购买了之后,Google Pay会向你反馈结果信息,详细请看官方文档的反馈信息列表
打包Q&A
Android的google pay
1.要用50年限以上的keystore,不能用debug.keystore
2. 要修改AndroidManifest.xml的minversion,添加 android:versionCode="1" android:versionName="1.0"
3.要在AndroidManifest.xml中添加图标icon
4.要在AndroidManifest.xml中添加接口包com.android.billing....
5.package不能com.example...
6.记得在Security.java里面输入你的金钥(主账户申请之后可以获得金钥,很长的一段Key)
String base64EncodedPublicKey = "your public key here";
本来想跨项目打包的,这样做居然会帮你连续安装两个项目,后来还是将Dungeons整合到自己的项目里面去好了,然后再修改下界面,免得费事
打包好就上传上Google Pay,需要一个主账户,要25美元,然后好像可以添加5个测试账户,发布你的程序,还有商品之后,就测试购买吧。