Commit 270adbff9ba02786ea0850010fbba352b4a9e5e6

Authored by 赵康
1 parent d79bd9986c
Exists in master

complete guide

Showing 1 changed file with 83 additions and 6 deletions Side-by-side Diff

1   -##InlandSDK integration guide##
2   -###本sdk包含登录和支付功能,支付分为微信支付,支付宝支付和银联支付,因此接入前请申请好各支付渠道的参数###
  1 +##InlandSDK integration guide
  2 +###本sdk包含登录和支付功能,支付包含微信支付,支付宝支付和银联支付,因此接入前请申请好各支付渠道的参数
3 3 1.获取gump分配的appid和appkey
4 4 2.导入InlandSDK库工程,并将自己的android工程设置引用此库工程
5   -3.确保AndroidManifest.xml有以下permission:
  5 +3.配置AndroidManifest.xml,分为3部分
  6 +1)确保有以下permission:
6 7  
7 8 <uses-permission android:name="android.permission.INTERNET" />
8 9 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
... ... @@ -16,7 +17,7 @@
16 17 <!-- 以下是银联支付专用 -->
17 18 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
18 19  
19   -需要在application内增加如下内容:
  20 +2)需要在application内增加如下内容,**微信回调activity必须是 "项目包名.wxapi.WXPayEntryActivity",不可更改,且此activity需继承com.gump.inland.gamesdk.WXPayEntryBaseActivity**:
20 21  
21 22 <activity
22 23 android:name="com.gump.inland.gamesdk.PassportBaseActivity"
... ... @@ -26,7 +27,7 @@
26 27 android:name="com.gump.inland.gamesdk.PaymentActivity"
27 28 android:theme="@android:style/Theme.Light.NoTitleBar" >
28 29 </activity>
29   - <!-- wx callback -->
  30 + <!-- wx callback 需要根据规则配置,此处请勿直接拷贝-->
30 31 <activity
31 32 android:name="yourPackageName.wxapi.WXPayEntryActivity"
32 33 android:exported="true" >
... ... @@ -38,4 +39,80 @@
38 39 android:excludeFromRecents="true"
39 40 android:label="@string/app_name"
40 41 android:screenOrientation="portrait"
41   - android:windowSoftInputMode="adjustResize" />
42 42 \ No newline at end of file
  43 + android:windowSoftInputMode="adjustResize" />
  44 +
  45 +3)为入口activity增加以下Intent-filter,**data scheme配置为微信appid**:
  46 +
  47 + <intent-filter>
  48 + <action android:name="android.intent.action.VIEW" />
  49 +
  50 + <category android:name="android.intent.category.DEFAULT" />
  51 + <!-- 此处为微信的appid-->
  52 + <data android:scheme="wxdb562d299ac311e0" />
  53 + </intent-filter>
  54 +
  55 +4.将InlandSDK工程assets目录下的文件拷贝到游戏项目的assets目录下,此处为银联支付使用
  56 +5.代码接入:
  57 +1)sdk初始化
  58 +
  59 + InlandSDK.initializeSDK(gumpAPPId, GumpAPPKey);
  60 +
  61 +2)注册登录状态回调:
  62 +
  63 + Passport.getInstance().registerCallback(new InlandSDKCallback<GumpUser>() {
  64 +
  65 + @Override
  66 + public void onSuccess(GumpUser result) {
  67 + Logger.d(TAG, "gumpUser:" + result.toString());
  68 + btnLogin.setVisibility(View.GONE);
  69 + tvUserInfo.setText(formatUserInfo(result));
  70 + btnPay.setVisibility(View.VISIBLE);
  71 + }
  72 +
  73 + @Override
  74 + public void onError(InlandSDKException error) {
  75 + Logger.d(TAG, "login error:" + error.getMessage());
  76 + }
  77 +
  78 + @Override
  79 + public void onCancel() {
  80 + Logger.d(TAG, "login be canceled");
  81 + }
  82 + });
  83 +
  84 +3)执行登录操作
  85 +
  86 + Passport.getInstance().login(MainActivity.this);
  87 +
  88 +4)支付操作
  89 +
  90 + PayRequest payRequest = new PayRequest();
  91 + payRequest.setPrice(1);
  92 + payRequest.setProduct("玄冥剑");
  93 + payRequest.setExtOrder("p100201508311730");
  94 + payRequest.setGumpUid(Passport.getInstance().getGumpUser().getUid());
  95 + InlandSDK.purchase(MainActivity.this, payRequest, new PurchaseCallback() {
  96 +
  97 + @Override
  98 + public void onPurchaseError(Exception e) {
  99 + Logger.w(TAG, "purchase error:" + e.getMessage());
  100 + tvPurchaseResult.setText("purchase occured an error:" + e.getMessage());
  101 + }
  102 +
  103 + @Override
  104 + public void onPurchaseSuccess(String gumpTransId, String extOrder) {
  105 + Logger.d(TAG, "purchase success:" + gumpTransId + ",extorder:" + extOrder);
  106 + tvPurchaseResult.setText("purchase " + gumpTransId + " success,extorder:" + extOrder);
  107 + }
  108 +
  109 + @Override
  110 + public void onPurchaseCanceled() {
  111 + Logger.d(TAG, "purchase be canceled");
  112 + tvPurchaseResult.setText("purchase be canceled");
  113 + }
  114 + });
  115 +
  116 +5)配置onActivityResult拦截处理,请在activity的onActivityResult方法内增加InlandSDK的处理方法onActivityResult,当此方法返回true时,说明结果已处理,否则说明未对结果进行处理
  117 +
  118 + if (!InlandSDK.onActivityResult(requestCode, resultCode, data))
  119 + super.onActivityResult(requestCode, resultCode, data);
43 120 \ No newline at end of file