react-native-inapp-purchase
v1.0.13
Published
1. `Build Phases`-> `Link Binary With Libraries`中添加libRCTInAppPurchase.a
Downloads
6
Readme
ios配置
Build Phases
->Link Binary With Libraries
中添加libRCTInAppPurchase.a
参见index.js
使用说明
// 引用方式
const InAppUtils = NativeModules.InAppPurchase;
// 使用方式
import { NativeEventEmitter} from 'react-native';
const emitter = new NativeEventEmitter(InAppUtils); //用获取的模块创建监听器
this.subScription = emitter.addListener(EVENT_CANMAKEPAYEVENTS,(body) => Alert.alert(body));
[注]:在componentWillUnmount里移除监听
componentWillUnmount() {
this.listener && this.listener.remove(); //记得remove哦
this.listener = null;
}
// 进程被杀死掉单接收通知
对应事件: EVENT_SINGLE_OUT 返回类型:数组(key为info{ 子对象key为:transactionDate,transactionIdentifier,productIdentifier,transactionReceipt,transationInfo })
// 查看商品能否支付
InAppUtils.canMakePayments(() => {});
对应事件: EVENT_CANMAKEPAYEVENTS 返回类型:BOOL
// 加载商品
InAppUtils.loadProducts([order.apple_goods_id], () => {});
对应事件: EVENT_LOAD_PRODUCTS 返回类型:对象(key为:identifier,price,currencySymbol,currencyCode,downloadable,description,title)
// 支付
const const goodInfo = {'userInfo':{'orderID':'13djhha'}}; //该参数为对象,是与订单绑定的信息
InAppUtils.purchaseProduct(order.apple_goods_id, goodInfo, () => {});
对应事件: EVENT_PURCHASE_PRODUCT 返回类型:对象(key为info{ 子对象key为:transactionDate,transactionIdentifier,productIdentifier,transactionReceipt,transationInfo })
// 支付失败,用户取消支付等情况(正常支付情况下)
对应事件: EVENT_TRANSACTION_ERROR 返回类型 :对象【key为message(苹果服务器返回的错误提示信息,字符串),isUserCancel:BOOL(用户取消为true,其他情况为false),errorMessage:(字符串,具体错误的信息) ,info(我们绑定的信息,对象)】
[注]:使用isUserCancel来判断是否是用户点击取消 message是苹果后台返回来的错误信息,什么情况下都返回的是无法连接 ituns store这条信息
errorMessage所有信息情况如下: SKErrorUnknown 未知的错误,您可能正在使用越狱手机
SKErrorClientInvalid 当前苹果账户无法购买商品(如有疑问,可以询问苹果客服)
SKErrorPaymentCancelled 订单已取消
SKErrorPaymentInvalid 订单无效(如有疑问,可以询问苹果客服)
SKErrorPaymentNotAllowed 当前苹果设备无法购买商品(如有疑问,可以询问苹果客服
SKErrorStoreProductNotAvailable 当前商品不可用
others 未知错误
// 支付进程杀死后点击取消等支付失败触发事件
对应事件: EVENT_SINGLE_USER_CANCEL 返回类型:数组(key为 isUserCancel:BOOL(用户取消为true,其他情况为false),errorMessage:(字符串,具体错误的信息) ,info(我们绑定的信息,对象))
[注]:使用isUserCancel来判断是否是用户点击取消
errorMessage所有信息情况如下: SKErrorUnknown 未知的错误,您可能正在使用越狱手机
SKErrorClientInvalid 当前苹果账户无法购买商品(如有疑问,可以询问苹果客服)
SKErrorPaymentCancelled 订单已取消
SKErrorPaymentInvalid 订单无效(如有疑问,可以询问苹果客服)
SKErrorPaymentNotAllowed 当前苹果设备无法购买商品(如有疑问,可以询问苹果客服
SKErrorStoreProductNotAvailable 当前商品不可用
others
// 该商品不正确
对应事件: EVENT_INVALID_PRODUCT 返回类型:BOOL
// 用户手动取消
对应事件: EVENT_USER_CANCELLED 返回类型:BOOL
// 购买商品失败
对应事件: EVENT_RESTORE_FAILED 返回类型:BOOL
// 商品信息错误 (苹果后台绑定的信息与服务端的商品号对应不上)
对应事件: EVENT_NOT_AVAILABLE 返回类型:BOOL