dooboolab-community / react-native-iap

In App Purchase module for React Native!
https://react-native-iap.dooboolab.com
MIT License
2.73k stars 629 forks source link

migration(android): billingClient 7.0.0 #2764

Closed hyochan closed 1 week ago

hyochan commented 2 weeks ago

https://developer.android.com/google/play/billing/migrate-gpblv7

Related: #2755

github-actions[bot] commented 2 weeks ago

Risk Level 2 - /home/runner/work/react-native-iap/react-native-iap/android/src/amazon/java/com/dooboolab/rniap/RNIapAmazonListener.kt

The receiptToMap function is a useful addition for mapping receipt data to a WritableMap. However, ensure that all fields are correctly mapped and consider adding null checks where necessary to avoid potential NullPointerException.


Risk Level 3 - /home/runner/work/react-native-iap/react-native-iap/android/src/amazon/java/com/dooboolab/rniap/RNIapAmazonModule.kt

  1. The initConnection method's promise.safeReject should ensure that the error message is clear and actionable.
  2. The deepLinkToSubscriptions method should handle potential exceptions when starting activities to avoid crashes.

Risk Level 3 - /home/runner/work/react-native-iap/react-native-iap/android/src/play/java/com/dooboolab/rniap/RNIapModule.kt

  1. The ensureConnection method's nested promise handling is complex and could benefit from additional error handling and logging.
  2. The buyItemByType method should ensure that all parameters are validated before proceeding with the purchase flow to avoid runtime errors.

🛠️ The receiptToMap function is a useful addition but needs null checks to avoid potential NullPointerException.

⚠️ The initConnection method should have clear and actionable error messages, and the deepLinkToSubscriptions method needs exception handling to prevent crashes.

🔍 The ensureConnection method's nested promise handling is complex and requires better error handling and logging, while the buyItemByType method should validate all parameters to avoid runtime errors.


Powered by Code Review GPT