如何,只要我使用purchase()方法

测试在一个干净的反应本地项目中使用的反应本地计费

问题描述:

按标题,我的应用程序崩溃:我真的只是发出react-native init testProjnpm installnpm install --save react-native-billingreact-native link react-native-billing 。 然后我继续设置new InAppBillingBridgePackage(APP_KEY)MainApplication.java如何,只要我使用<code>purchase()</code>方法</p> <p>测试在一个干净的反应本地项目中使用的反应本地计费

这是我在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" 
    } 
} 
编辑的唯一代码

一旦应用程序达到此componentDidMount,购买对话框加载一个spl它第二次在后台崩溃我的应用程序和Play商店。在上面显示了运行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商店的问题。我们测试了Play Store的3个版本。 7.4按预期工作,7.8和8.0崩溃。

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