From 270adbff9ba02786ea0850010fbba352b4a9e5e6 Mon Sep 17 00:00:00 2001 From: King Date: Fri, 11 Sep 2015 17:13:49 +0800 Subject: [PATCH] complete guide --- guide.md | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 83 insertions(+), 6 deletions(-) diff --git a/guide.md b/guide.md index 000e9cb..b33f36e 100644 --- a/guide.md +++ b/guide.md @@ -1,8 +1,9 @@ -##InlandSDK integration guide## -###本sdk包含登录和支付功能,支付分为微信支付,支付宝支付和银联支付,因此接入前请申请好各支付渠道的参数### +##InlandSDK integration guide +###本sdk包含登录和支付功能,支付包含微信支付,支付宝支付和银联支付,因此接入前请申请好各支付渠道的参数 1.获取gump分配的appid和appkey 2.导入InlandSDK库工程,并将自己的android工程设置引用此库工程 -3.确保AndroidManifest.xml有以下permission: +3.配置AndroidManifest.xml,分为3部分 +1)确保有以下permission: @@ -16,7 +17,7 @@ -需要在application内增加如下内容: +2)需要在application内增加如下内容,**微信回调activity必须是 "项目包名.wxapi.WXPayEntryActivity",不可更改,且此activity需继承com.gump.inland.gamesdk.WXPayEntryBaseActivity**: - + @@ -38,4 +39,80 @@ android:excludeFromRecents="true" android:label="@string/app_name" android:screenOrientation="portrait" - android:windowSoftInputMode="adjustResize" /> \ No newline at end of file + android:windowSoftInputMode="adjustResize" /> + +3)为入口activity增加以下Intent-filter,**data scheme配置为微信appid**: + + + + + + + + + +4.将InlandSDK工程assets目录下的文件拷贝到游戏项目的assets目录下,此处为银联支付使用 +5.代码接入: +1)sdk初始化 + + InlandSDK.initializeSDK(gumpAPPId, GumpAPPKey); + +2)注册登录状态回调: + + Passport.getInstance().registerCallback(new InlandSDKCallback() { + + @Override + public void onSuccess(GumpUser result) { + Logger.d(TAG, "gumpUser:" + result.toString()); + btnLogin.setVisibility(View.GONE); + tvUserInfo.setText(formatUserInfo(result)); + btnPay.setVisibility(View.VISIBLE); + } + + @Override + public void onError(InlandSDKException error) { + Logger.d(TAG, "login error:" + error.getMessage()); + } + + @Override + public void onCancel() { + Logger.d(TAG, "login be canceled"); + } + }); + +3)执行登录操作 + + Passport.getInstance().login(MainActivity.this); + +4)支付操作 + + PayRequest payRequest = new PayRequest(); + payRequest.setPrice(1); + payRequest.setProduct("玄冥剑"); + payRequest.setExtOrder("p100201508311730"); + payRequest.setGumpUid(Passport.getInstance().getGumpUser().getUid()); + InlandSDK.purchase(MainActivity.this, payRequest, new PurchaseCallback() { + + @Override + public void onPurchaseError(Exception e) { + Logger.w(TAG, "purchase error:" + e.getMessage()); + tvPurchaseResult.setText("purchase occured an error:" + e.getMessage()); + } + + @Override + public void onPurchaseSuccess(String gumpTransId, String extOrder) { + Logger.d(TAG, "purchase success:" + gumpTransId + ",extorder:" + extOrder); + tvPurchaseResult.setText("purchase " + gumpTransId + " success,extorder:" + extOrder); + } + + @Override + public void onPurchaseCanceled() { + Logger.d(TAG, "purchase be canceled"); + tvPurchaseResult.setText("purchase be canceled"); + } + }); + +5)配置onActivityResult拦截处理,请在activity的onActivityResult方法内增加InlandSDK的处理方法onActivityResult,当此方法返回true时,说明结果已处理,否则说明未对结果进行处理 + + if (!InlandSDK.onActivityResult(requestCode, resultCode, data)) + super.onActivityResult(requestCode, resultCode, data); \ No newline at end of file -- 2.0.0