Commit e606e8a279a57f3a113024db220b263acc681096

Authored by 赵康
1 parent 270adbff9b
Exists in master

refresh guide doc

Showing 1 changed file with 1 additions and 1 deletions Inline Diff

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