React native 如何使用react本机计费

React native 如何使用react本机计费,react-native,in-app-purchase,React Native,In App Purchase,根据标题,我的应用程序在我使用purchase()方法时立即崩溃 在一个干净的react本地项目上测试:我刚刚发布了react-native init testProj,npm安装,npm安装--保存react-native计费,react-native链接react-native计费。 然后我继续在我的MainApplication.java中设置新的InAppBillingBridgePackage(APP_KEY) 这是我在index.android.js中编辑的唯一代码 export d

根据标题,我的应用程序在我使用
purchase()
方法时立即崩溃

在一个干净的react本地项目上测试:我刚刚发布了
react-native init testProj
npm安装
npm安装--保存react-native计费
react-native链接react-native计费
。 然后我继续在我的MainApplication.java中设置
新的InAppBillingBridgePackage(APP_KEY)

这是我在index.android.js中编辑的唯一代码

export default class testProj extends Component {

  componentDidMount() {
      const InAppBilling = require("react-native-billing")
      console.log(InAppBilling)

      InAppBilling.open()
          .then(() => InAppBilling.purchase('android.test.purchased'))
          .then((details) => {
              console.log("You purchased: ", details)
              return InAppBilling.close()
          })
          .catch((err) => {
              console.log(err);
          });
  }  
  render() {...}
package.json

{
  "name": "testProj",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": "16.0.0-alpha.12",
    "react-native": "0.46.3",
    "react-native-billing": "^2.3.0"
  },
  "devDependencies": {
    "babel-jest": "20.0.3",
    "babel-preset-react-native": "2.1.0",
    "jest": "20.0.4",
    "react-test-renderer": "16.0.0-alpha.12"
  },
  "jest": {
   "preset": "react-native"
  }
}
一旦应用程序到达这个
组件didmount
,一个购买对话框会在瞬间加载,然后在后台使我的应用程序和Play Store崩溃。在上述过程中运行
adb logcat*:E
,显示:

E/AndroidRuntime(31592): FATAL EXCEPTION: AsyncTask #4
E/AndroidRuntime(31592): Process: com.android.vending, PID: 31592
E/AndroidRuntime(31592): java.lang.RuntimeException: An error occured while executing doInBackground()
E/AndroidRuntime(31592):    at android.os.AsyncTask$3.done(AsyncTask.java:304)
E/AndroidRuntime(31592):    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
E/AndroidRuntime(31592):    at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
E/AndroidRuntime(31592):    at java.util.concurrent.FutureTask.run(FutureTask.java:242)
E/AndroidRuntime(31592):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
E/AndroidRuntime(31592):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
E/AndroidRuntime(31592):    at java.lang.Thread.run(Thread.java:818)
E/AndroidRuntime(31592): Caused by: java.lang.NullPointerException: Attempt to read from field 'long com.google.wireless.android.finsky.dfe.nano.an.b' on a null object reference
E/AndroidRuntime(31592):    at com.google.android.finsky.billing.lightpurchase.s.a(SourceFile:5)
E/AndroidRuntime(31592):    at com.google.android.finsky.billing.lightpurchase.h.doInBackground(SourceFile:27)
E/AndroidRuntime(31592):    at android.os.AsyncTask$2.call(AsyncTask.java:292)
E/AndroidRuntime(31592):    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
E/AndroidRuntime(31592):    ... 3 more

长话短说:我是否遗漏了一些明显的东西?

使用静态响应测试应用内计费时会发生这种情况。新版本的Google Play Store似乎有问题。我们测试了3个版本的Play Store。 7.4正常工作,7.8和8.0崩溃

目前,我们也在寻找解决方案