android google play内支付(in-app Billing)接入之二

常见问题

当你按照android google play内支付(in-app Billing)接入 接入后,运行的时候,可能会遇到运行的时候报错如下:

1,得保证手机上安装了google play商店和google play service。如果没有,可以下载“谷歌安装器”,安装完毕后,点击检测,会自动安装前面提到的google play 商店和google play service。

2,设置VPN了。(我所在的公司注册了GreenVPN账号,已经购买了。手机上登录好账号就可以。这一步最好是能买个,稳点写些。或者你自己能找到FQ软件)

3,打开google play商店登录自己的google账号。然后查看手机设置里面,google账号是否登录。

4:,进入手机设置,找到google play商店,清理缓存。

5,重启手机,开启FQ软件(我这里打开的是GreenVPN)

6,打开google play商店,登录自己的谷歌账号。

7,打开安装的自己的应用。初始化就可以成功了.

还有种情况就是,当弹出支付界面,点击返回键关闭支付界面。当再次点击付费的时候,会发现点击了不会再弹出支付界面,关掉软件后再打开。又可以支付了。

遇到这种情况,是因为少处理onActivityResult。接入如下代码。就可以修复这个问题

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        Toast.makeText(getApplicationContext(), "onActivityResult(" + requestCode + "," + resultCode + "," + data, Toast.LENGTH_SHORT).show();
        if (mHelper == null) return;
        if (!mHelper.handleActivityResult(requestCode, resultCode, data)) {
            super.onActivityResult(requestCode, resultCode, data);
        }
}
1. 无法购买您要买的商品。

当前Google Play帐号不是测试帐号

2. 需要验证身份。您需要登录自己的Google帐号。

本地测试的版本号和google上传的版本号要一致

3. Cannot load library: soinfo_relocate(linker.cpp:993): cannot locate symbol "signal"

05-05 19:08:32.148: E/AndroidRuntime(7822): FATAL EXCEPTION: main
05-05 19:08:32.148: E/AndroidRuntime(7822): java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_relocate(linker.cpp:993): cannot locate symbol "signal" referenced by "libcocos2dlua.so"...
05-05 19:08:32.148: E/AndroidRuntime(7822): at java.lang.Runtime.loadLibrary(Runtime.java:372)
05-05 19:08:32.148: E/AndroidRuntime(7822): at java.lang.System.loadLibrary(System.java:514)
05-05 19:08:32.148: E/AndroidRuntime(7822): at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:113)
05-05 19:08:32.148: E/AndroidRuntime(7822): at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:128)
05-05 19:08:32.148: E/AndroidRuntime(7822): at org.cocos2dx.lua.AppActivity.onCreate(AppActivity.java:90)
05-05 19:08:32.148: E/AndroidRuntime(7822): at android.app.Activity.performCreate(Activity.java:5226)
05-05 19:08:32.148: E/AndroidRuntime(7822): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1151)
05-05 19:08:32.148: E/AndroidRuntime(7822): at com.lbe.security.service.core.client.b.x.callActivityOnCreate(Unknown Source)
05-05 19:08:32.148: E/AndroidRuntime(7822): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2360)
05-05 19:08:32.148: E/AndroidRuntime(7822): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2448)
05-05 19:08:32.148: E/AndroidRuntime(7822): at android.app.ActivityThread.access$600(ActivityThread.java:173)
05-05 19:08:32.148: E/AndroidRuntime(7822): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1392)
05-05 19:08:32.148: E/AndroidRuntime(7822): at android.os.Handler.dispatchMessage(Handler.java:107)
05-05 19:08:32.148: E/AndroidRuntime(7822): at android.os.Looper.loop(Looper.java:194)
05-05 19:08:32.148: E/AndroidRuntime(7822): at android.app.ActivityThread.main(ActivityThread.java:5469)
05-05 19:08:32.148: E/AndroidRuntime(7822): at java.lang.reflect.Method.invokeNative(Native Method)
05-05 19:08:32.148: E/AndroidRuntime(7822): at java.lang.reflect.Method.invoke(Method.java:525)
05-05 19:08:32.148: E/AndroidRuntime(7822): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:857)
05-05 19:08:32.148: E/AndroidRuntime(7822): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
05-05 19:08:32.148: E/AndroidRuntime(7822): at dalvik.system.NativeStart.main(Native Method)

Application.mk添加:APP_PLATFORM := android-17

4. 此版本的应用为配置为通过Google Play结算。有关详情,请访问帮助中心。

检查下打包所用的签名与上传Google Play后台的签名是否一直。

5. In-app billing error: Purchase signature verification FAILED

代码中base64EncodedPublicKey参数不正确,跟Google后台的不一致。

6. IabResult: Error checking for billing v3 support. (response: 3:Billing Unavailable)

在手机的设置里需创建并登录Google账号。

原文地址:https://www.cnblogs.com/Colored-Mr/p/6858601.html