Android Samsung 储值SDK接入

4 篇文章 0 订阅
1 篇文章 0 订阅

接下来给大家介绍下三星储值的接入流程。

三星储值SDK接入文档

一. 接入流程

在这里插入图片描述

二. 接口调用

1.初始化
iapMode

  • OPERATION_MODE_PRODUCTION 正式储值,成功请求会发生金融交易,并返回实际结果(成功或失败)。
  • OPERATION_MODE_TEST 测试模式,不发生金融交易(许可测试人员无需为项目购买付费),并且总是返回成功的结果。
  • OPERATION_MODE_TEST_FAILURE 它旨在进行负面测试,以确保您的应用程序可以处理错误,例如不正确的输入和用户操作。
private static IapHelper iapHelper;

iapHelper = IapHelper.getInstance(activity);
iapHelper.setOperationMode(iapMode);

2.获取用户拥有的物品

	iapHelper.getOwnedList(IapHelper.PRODUCT_TYPE_ALL, new OnGetOwnedListListener() {
            @Override
            public void onGetOwnedProducts(ErrorVo _errorVO, ArrayList<OwnedProductVo> _ownedList) {

                if (_errorVO != null) {
                    if (_errorVO.getErrorCode() == IapHelper.IAP_ERROR_NONE) {
						//成功
                        

                    } else {
                    	//失败
                        LogUtil.d(TAG, "getOwnedList onError: " + _errorVO.getErrorCode());
                        
                    }
                } else {
                    
                }
            }
        });

3.获取应用内商品详情

	iapHelper.getProductsDetails("productId", new OnGetProductsDetailsListener() {
            @Override
            public void onGetProducts(ErrorVo _errorVO, ArrayList<ProductVo> _productList) {

                if (_errorVO != null) {
                    if (_errorVO.getErrorCode() == IapHelper.IAP_ERROR_NONE) {
                    	//成功

                        

                    } else {
                    	//失败
                        LogUtil.d(TAG, "getProductsDetails onError: " + _errorVO.getErrorCode());
                        
                    }
                } else {
                   
                   
                }
            }
        });

4.购买应用内商品


	* @param itemId   商品ID
    * @param orderId  订单号
     
	iapHelper.startPayment(itemId, orderId, new OnPaymentListener() {
            @Override
            public void onPayment(ErrorVo _errorVO, PurchaseVo _purchaseVO) {
                /**
                 * 注意:
                 * PurchaseVo中mOrderId是没有返回值的
                 * mPaymentId才是orderId
                 */
                if (_errorVO != null) {
                    if (_errorVO.getErrorCode() == IapHelper.IAP_ERROR_NONE) {
                        //成功
                        
                    } else {
                        //失败
                        LogUtil.d(TAG, "onPayment > ErrorCode :  " + _errorVO.getErrorCode());
                        
                        // In case of network error from GalaxyStore 4.5.20.7 version and IAP SDK 6.1 version,
                        // IAP error popup is not displayed.
                        // As needed, the app can display network error to users.
                        if (_errorVO.getErrorCode() == HelperDefine.IAP_ERROR_NETWORK_NOT_AVAILABLE) {
                            LogUtil.d(TAG, "onPayment > Network error!");

                        }

                       
                    }
                } else {
                    
                }
            }
        });

5.确认购买的消耗品

* @param purchaseId 商品ID
iapHelper.consumePurchasedItems(purchaseId, new OnConsumePurchasedItemsListener() {
            @Override
            public void onConsumePurchasedItems(ErrorVo _errorVO, ArrayList<ConsumeVo> _consumeList) {
                if (_errorVO != null) {
                    if (_errorVO.getErrorCode() == IapHelper.IAP_ERROR_NONE) {
                    	//成功
                        

                    } else {
                    	//失败
                        LogUtil.d(TAG, "onConsumePurchasedItems > ErrorCode : " + _errorVO.getErrorCode());
                        
                    }
                } else {
                    
                }
            }
        });

6.释放iap资源

		//释放资源
        if (iapHelper != null) {
            iapHelper.dispose();
            iapHelper = null;
        }

三. 注意事项

1.拉起储值前必须先调用“getOwnedList”,然后“getProductsDetails”,再调用“startPayment”。
2.当iapMode为HelperDefine.OperationMode.OPERATION_MODE_TEST时,可以本地直接沙盒储值,不会扣取费用
3.当iapMode为HelperDefine.OperationMode.OPERATION_MODE_PRODUCTION时,此时测试需要在三星后台中把账号加入测试计划,并且同意加入后,在商店下载这个上传的包体才能进行沙盒测试,一定要注意,这是坑!!
4.在一些活动中,三星要求需要在账号或角色登录后调用掉单补单的流程,这个要注意,不然有些活动是开不了的,三星那边也不让开!!

四. 测试注意事项

官方文档:https://developer.samsung.com/iap/programming-guide/submit-the-app-to-galaxy-store.html?lang=zh#7.2

资料:
在这里插入图片描述

至此,三星储值接入完成,至于如何创建应用,加入测试计划这些,请参考官方;然后可以在储值中加入自己的逻辑进行封装使用~~

  • 25
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值