本文介绍了如何对接Miracle Games SDK的支付接口,打开支付窗口。
调用该接口后,会打开平台的支付界面。当用户支付完成或取消支付时,会发送响应的支付回调消息。
// this 为Android Activity对象 // goodsKey: 商品Key, 创建商品时由MiracleGames生成 // comment: 自定义参数,传递前进行urlencode,完成支付后会把该参数原样返回给开发者。 // callbackId:可为空, 服务器回调地址Id, 在设置回调地址时由MiracleGames生成, 开发者可以设置多个回调地址, 该笔交易将会给指定Id的回调地址发起支付成功的回调 // 如果设置了回调地址, 但未指定id, 即CallbackId=null, 将使用默认回调地址;如果指定了Id, 但该Id不存在, 将不能支付。如果不使用服务器回调, 请忽略该属性。 MGSdkPlatform.getInstance().pay(this, goodsKey, comment, callbackId, new MGPayListener() { @Override public void onSuccess(String msg) { //无需处理 } @Override public void onFailed(String msg) { //无需处理 } } );
如果游戏有服务器可接收回调,则无需接入此功能,直接接入服务器端的支付回调。
注册客户端支付回调事件,推荐放入onCreate方法中
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MGSdkPlatform.getInstance().Assets(new MGAssetsListener() { @Override public void onSuccess(ArrayListassetsInfoList) { Log.d(TAG, "资产变更;" + "assetsInfoList===" + assetsInfoList.size()); desc+="资产变更,assetsInfoList.size():=" + assetsInfoList.size()+"\n"; for (AssetsInfo assetInfo : assetsInfoList) { //开发者在此处,进行道具下放 MGSdkPlatform.getInstance().ReportFulfillmentAsync(assetInfo);//报告核销 } desc+="资产已核销"; } }); }