2017-07-18 13 views
2

wie pro Titel, meine app stürzt ab, sobald ich die purchase() MethodeSo verwenden Sie reagieren-native-Abrechnung

auf einem sauberen reagieren-native Projekt getestet verwenden: i buchstäblich nur react-native init testProj ausgegeben, npm install, npm install --save react-native-billing, react-native link react-native-billing . Dann ging ich new InAppBillingBridgePackage(APP_KEY) in meinem MainApplication.java

Dies ist der einzige Code einstellen i

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 in index.android.js bearbeitet

{ 
    "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" 
    } 
} 

Sobald die App diese componentDidMount erreicht, wird ein Kaufdialog für einen Spl geladen Es stürzt dann sowohl meine App als auch den Play Store im Hintergrund ab. das Lauf adb logcat *:E während der oben zeigt:

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 

Lange Rede kurzer Sinn: ich bin etwas fehlt offensichtlich?

Antwort

2

Dies geschieht beim Testen der In-App-Abrechnung mit statischen Antworten. Es scheint ein Problem mit neuen Versionen von Google Play Store zu sein. Wir haben 3 Versionen von Play Store getestet. 7.4 funktioniert wie erwartet, 7.8 und 8.0 Abstürze.

Im Moment suchen wir auch nach einer Lösung.