Commit d295d09fc837e1a770d3f953dad06b22efd3dbe1
Exists in
master
Merge branch 'master' of http://123.59.74.8/document/gumptech-document
Showing 7 changed files Side-by-side Diff
- android/GameSDKRelease/libs/GameSDK_v3.3.4_proguard.jar
- android/GameSDKRelease/libs/GameSDK_v3.3.5_proguard.jar
- android/GameSDKRelease/res/layout/pay_container.xml
- android/GameSDKSample/project.properties
- android/GameSDKSample/src/com/gumptech/loginsdk/sample/MainActivity.java
- doc/AndroidDocument.md
- doc/webpay.md
android/GameSDKRelease/libs/GameSDK_v3.3.4_proguard.jar
No preview for this file type
android/GameSDKRelease/libs/GameSDK_v3.3.5_proguard.jar
No preview for this file type
android/GameSDKRelease/res/layout/pay_container.xml
... | ... | @@ -5,12 +5,22 @@ |
5 | 5 | android:background="@color/payment_common_bg" |
6 | 6 | android:orientation="vertical" > |
7 | 7 | |
8 | - <LinearLayout | |
9 | - android:id="@+id/container" | |
8 | + <ProgressBar | |
9 | + android:id="@+id/loading_prog" | |
10 | + style="@android:style/Widget.ProgressBar.Horizontal" | |
10 | 11 | android:layout_width="match_parent" |
11 | - android:layout_height="wrap_content" | |
12 | - android:orientation="vertical" > | |
13 | - | |
14 | - </LinearLayout> | |
12 | + android:layout_height="2dp" /> | |
13 | + | |
14 | + <WebView | |
15 | + android:id="@+id/mycard_web" | |
16 | + android:layout_width="fill_parent" | |
17 | + android:layout_height="fill_parent" /> | |
18 | + | |
19 | +<!-- <LinearLayout --> | |
20 | +<!-- android:id="@+id/container" --> | |
21 | +<!-- android:layout_width="match_parent" --> | |
22 | +<!-- android:layout_height="wrap_content" --> | |
23 | +<!-- android:orientation="vertical" > --> | |
24 | +<!-- </LinearLayout> --> | |
15 | 25 | |
16 | 26 | </LinearLayout> |
17 | 27 | \ No newline at end of file |
android/GameSDKSample/project.properties
android/GameSDKSample/src/com/gumptech/loginsdk/sample/MainActivity.java
1 | -package com.gumptech.loginsdk.sample; | |
2 | - | |
3 | -import android.app.Activity; | |
4 | -import android.content.Context; | |
5 | -import android.os.Bundle; | |
6 | -import android.text.ClipboardManager; | |
7 | -import android.util.Log; | |
8 | -import android.view.View; | |
9 | -import android.widget.Button; | |
10 | -import android.widget.TextView; | |
11 | -import android.widget.Toast; | |
12 | - | |
13 | -import com.gumptech.sdk.GumpPreference; | |
14 | -import com.gumptech.sdk.GumpSDK; | |
15 | -import com.gumptech.sdk.bean.GumpUser; | |
16 | -import com.gumptech.sdk.bean.PurchaseResult; | |
17 | -import com.gumptech.sdk.callback.InitializeCallback; | |
18 | -import com.gumptech.sdk.callback.LoginStateListener; | |
19 | -import com.gumptech.sdk.callback.PurchaseCallback; | |
20 | -import com.gumpsdk.wuruid.R; | |
21 | - | |
22 | -public class MainActivity extends Activity implements PurchaseCallback{ | |
23 | - | |
24 | - private static final String TAG = "MainActivity"; | |
25 | - | |
26 | - private TextView tvVersion; | |
27 | - private TextView userInfo; | |
28 | - | |
29 | - private Button btnLoginOrLogout; | |
30 | - | |
31 | - private String appId = "10022"; | |
32 | - private String appKey = "93a27b0bd99bac3e68a440b48aa421ab"; | |
33 | - | |
34 | - @Override | |
35 | - protected void onCreate(Bundle savedInstanceState) { | |
36 | - super.onCreate(savedInstanceState); | |
37 | - setContentView(R.layout.activity_main); | |
38 | - tvVersion = (TextView) findViewById(R.id.version); | |
39 | - userInfo = (TextView) findViewById(R.id.user_info); | |
40 | - btnLoginOrLogout = (Button) findViewById(R.id.login_or_logout); | |
41 | - btnLoginOrLogout.setOnClickListener(new View.OnClickListener() { | |
42 | - | |
43 | - @Override | |
44 | - public void onClick(View v) { | |
45 | - if (btnLoginOrLogout.getTag() == null || (Integer) btnLoginOrLogout.getTag() == 0) | |
46 | - GumpSDK.start(MainActivity.this); | |
47 | - else | |
48 | - GumpSDK.logout(MainActivity.this); | |
49 | - } | |
50 | - }); | |
51 | - findViewById(R.id.pay).setOnClickListener(new View.OnClickListener() { | |
52 | - | |
53 | - @Override | |
54 | - public void onClick(View v) { | |
55 | - Bundle payInfo = new Bundle(); | |
56 | - payInfo.putString("nick", "thi"); | |
57 | - payInfo.putString("product", "元宝"); | |
58 | - payInfo.putFloat("amount", 0.0f); | |
59 | - payInfo.putString("extraInfo", "This is demo!"); | |
60 | - payInfo.putString("serverId", "5025"); | |
61 | - GumpSDK.pay(MainActivity.this, payInfo, "7798753", MainActivity.this); | |
62 | - } | |
63 | - }); | |
64 | - /** | |
65 | - * 设置否是开启debug模式 | |
66 | - */ | |
67 | - GumpSDK.setDebugState(true); | |
68 | - /** | |
69 | - * 设置是否启用facebook登录 | |
70 | - */ | |
71 | - GumpSDK.setFBEnable(true); | |
72 | - /** | |
73 | - * 设置是否启用Vk登录 | |
74 | - */ | |
75 | - GumpSDK.setVKEnable(true); | |
76 | - /** | |
77 | - * 设置屏幕方向 | |
78 | - */ | |
79 | - GumpSDK.setScreenLandscape(false); | |
80 | - /** | |
81 | - * 设置用户登录状态监听器 | |
82 | - */ | |
83 | - GumpSDK.setUserStateListener(new LoginStateListener() { | |
84 | - @Override | |
85 | - public void onLoginSuccess(GumpUser user) { | |
86 | - ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); | |
87 | - cm.setText(user.getSessionKey()); | |
88 | - | |
89 | - String userType=null; | |
90 | - switch(user.getAccountType()){ | |
91 | - case GumpPreference.ACCOUNT_TYPE_FB: | |
92 | - userType = "Facebook登录"; | |
93 | - break; | |
94 | - case GumpPreference.ACCOUNT_TYPE_QUICK_REG: | |
95 | - userType = "快速登录"; | |
96 | - break; | |
97 | - case GumpPreference.ACCOUNT_TYPE_REG: | |
98 | - userType = "gump注册用户"; | |
99 | - break; | |
100 | - case GumpPreference.ACCOUNT_TYPE_VK: | |
101 | - userType = "vk登录"; | |
102 | - break; | |
103 | - } | |
104 | - userInfo.setText(" Userid:" + user.getUid() + "\n accountType:(" + user.getAccountType()+") "+userType + "\n sessionKey:" + user.getSessionKey()); | |
105 | - btnLoginOrLogout.setText("Logout"); | |
106 | - btnLoginOrLogout.setTag(1); | |
107 | - } | |
108 | - | |
109 | - @Override | |
110 | - public void onLoginFailed(int code, String msg) { | |
111 | - userInfo.setText(msg); | |
112 | - Toast.makeText(MainActivity.this, "Login failed:code="+code+",message="+msg, Toast.LENGTH_SHORT).show(); | |
113 | - } | |
114 | - | |
115 | - @Override | |
116 | - public void onLoginCanceled() { | |
117 | - Toast.makeText(MainActivity.this, "operate be canceled", Toast.LENGTH_SHORT).show(); | |
118 | - } | |
119 | - | |
120 | - @Override | |
121 | - public void onLogout() { | |
122 | - btnLoginOrLogout.setText("Login"); | |
123 | - btnLoginOrLogout.setTag(0); | |
124 | - userInfo.setText("User is logout"); | |
125 | - } | |
126 | - }); | |
127 | - /** | |
128 | - * 初始化sdk | |
129 | - */ | |
130 | - GumpSDK.init(getApplicationContext(), appId, appKey, "1000", new InitializeCallback() { | |
131 | - @Override | |
132 | - public void initComplete(int result) { | |
133 | - if (result == GumpSDK.CODE.OK) { | |
134 | - btnLoginOrLogout.setEnabled(true); | |
135 | - } | |
136 | - } | |
137 | - }); | |
138 | - | |
139 | - | |
140 | - tvVersion.setText("SDK Version:" + GumpSDK.getVersion()); | |
141 | - } | |
142 | - | |
143 | - @Override | |
144 | - public void onPurchaseCompleted(PurchaseResult result) { | |
145 | - Log.i(TAG,"purchase completed"); | |
146 | - } | |
147 | - | |
148 | - @Override | |
149 | - public void onPurchaseError(int code, String msg) { | |
150 | - Log.i(TAG,"purchase error"); | |
151 | - } | |
152 | - | |
153 | - @Override | |
154 | - public void onPurchaseCanceled() { | |
155 | - Log.i(TAG,"purchase canceled"); | |
156 | - } | |
157 | -} | |
1 | +package com.gumptech.loginsdk.sample; | |
2 | + | |
3 | +import android.app.Activity; | |
4 | +import android.content.Context; | |
5 | +import android.os.Bundle; | |
6 | +import android.text.ClipboardManager; | |
7 | +import android.util.Log; | |
8 | +import android.view.View; | |
9 | +import android.widget.Button; | |
10 | +import android.widget.TextView; | |
11 | +import android.widget.Toast; | |
12 | + | |
13 | +import com.gumptech.sdk.GumpPreference; | |
14 | +import com.gumptech.sdk.GumpSDK; | |
15 | +import com.gumptech.sdk.bean.GumpUser; | |
16 | +import com.gumptech.sdk.bean.PurchaseResult; | |
17 | +import com.gumptech.sdk.callback.InitializeCallback; | |
18 | +import com.gumptech.sdk.callback.LoginStateListener; | |
19 | +import com.gumptech.sdk.callback.PurchaseCallback; | |
20 | +import com.gumpsdk.wuruid.R; | |
21 | + | |
22 | +public class MainActivity extends Activity implements PurchaseCallback{ | |
23 | + | |
24 | + private static final String TAG = "MainActivity"; | |
25 | + | |
26 | + private TextView tvVersion; | |
27 | + private TextView userInfo; | |
28 | + | |
29 | + private Button btnLoginOrLogout; | |
30 | + | |
31 | + private String appId = "10022"; | |
32 | + private String appKey = "93a27b0bd99bac3e68a440b48aa421ab"; | |
33 | + private String sessionKey; | |
34 | + | |
35 | + @Override | |
36 | + protected void onCreate(Bundle savedInstanceState) { | |
37 | + super.onCreate(savedInstanceState); | |
38 | + setContentView(R.layout.activity_main); | |
39 | + tvVersion = (TextView) findViewById(R.id.version); | |
40 | + userInfo = (TextView) findViewById(R.id.user_info); | |
41 | + btnLoginOrLogout = (Button) findViewById(R.id.login_or_logout); | |
42 | + btnLoginOrLogout.setOnClickListener(new View.OnClickListener() { | |
43 | + | |
44 | + @Override | |
45 | + public void onClick(View v) { | |
46 | + if (btnLoginOrLogout.getTag() == null || (Integer) btnLoginOrLogout.getTag() == 0) | |
47 | + GumpSDK.start(MainActivity.this); | |
48 | + else | |
49 | + GumpSDK.logout(MainActivity.this); | |
50 | + } | |
51 | + }); | |
52 | + findViewById(R.id.pay).setOnClickListener(new View.OnClickListener() { | |
53 | + | |
54 | + @Override | |
55 | + public void onClick(View v) { | |
56 | + Bundle payInfo = new Bundle(); | |
57 | + payInfo.putString("nick", "thi"); | |
58 | + payInfo.putString("product", "元宝"); | |
59 | + payInfo.putFloat("amount", 0.0f); | |
60 | + payInfo.putString("extraInfo", "This is demo!"); | |
61 | + payInfo.putString("serverId", "100"); | |
62 | + payInfo.putString("sessionKey", sessionKey); | |
63 | + GumpSDK.pay(MainActivity.this, payInfo, MainActivity.this); | |
64 | + } | |
65 | + }); | |
66 | + /** | |
67 | + * 设置否是开启debug模式 | |
68 | + */ | |
69 | + GumpSDK.setDebugState(false); | |
70 | + /** | |
71 | + * 设置是否启用facebook登录 | |
72 | + */ | |
73 | + GumpSDK.setFBEnable(true); | |
74 | + /** | |
75 | + * 设置是否启用Vk登录 | |
76 | + */ | |
77 | + GumpSDK.setVKEnable(true); | |
78 | + /** | |
79 | + * 设置屏幕方向 | |
80 | + */ | |
81 | + GumpSDK.setScreenLandscape(true); | |
82 | + /** | |
83 | + * 设置用户登录状态监听器 | |
84 | + */ | |
85 | + GumpSDK.setUserStateListener(new LoginStateListener() { | |
86 | + @Override | |
87 | + public void onLoginSuccess(GumpUser user) { | |
88 | + ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); | |
89 | + cm.setText(user.getSessionKey()); | |
90 | + sessionKey = user.getSessionKey(); | |
91 | + String userType=null; | |
92 | + switch(user.getAccountType()){ | |
93 | + case GumpPreference.ACCOUNT_TYPE_FB: | |
94 | + userType = "Facebook登录"; | |
95 | + break; | |
96 | + case GumpPreference.ACCOUNT_TYPE_QUICK_REG: | |
97 | + userType = "快速登录"; | |
98 | + break; | |
99 | + case GumpPreference.ACCOUNT_TYPE_REG: | |
100 | + userType = "gump注册用户"; | |
101 | + break; | |
102 | + case GumpPreference.ACCOUNT_TYPE_VK: | |
103 | + userType = "vk登录"; | |
104 | + break; | |
105 | + } | |
106 | + userInfo.setText(" Userid:" + user.getUid() + "\n accountType:(" + user.getAccountType()+") "+userType + "\n sessionKey:" + user.getSessionKey()); | |
107 | + btnLoginOrLogout.setText("Logout"); | |
108 | + btnLoginOrLogout.setTag(1); | |
109 | + } | |
110 | + | |
111 | + @Override | |
112 | + public void onLoginFailed(int code, String msg) { | |
113 | + userInfo.setText(msg); | |
114 | + Toast.makeText(MainActivity.this, "Login failed:code="+code+",message="+msg, Toast.LENGTH_SHORT).show(); | |
115 | + } | |
116 | + | |
117 | + @Override | |
118 | + public void onLoginCanceled() { | |
119 | + Toast.makeText(MainActivity.this, "operate be canceled", Toast.LENGTH_SHORT).show(); | |
120 | + } | |
121 | + | |
122 | + @Override | |
123 | + public void onLogout() { | |
124 | + btnLoginOrLogout.setText("Login"); | |
125 | + btnLoginOrLogout.setTag(0); | |
126 | + userInfo.setText("User is logout"); | |
127 | + } | |
128 | + }); | |
129 | + /** | |
130 | + * 初始化sdk | |
131 | + */ | |
132 | + GumpSDK.init(getApplicationContext(), appId, appKey, "1000", new InitializeCallback() { | |
133 | + @Override | |
134 | + public void initComplete(int result) { | |
135 | + if (result == GumpSDK.CODE.OK) { | |
136 | + btnLoginOrLogout.setEnabled(true); | |
137 | + } | |
138 | + } | |
139 | + }); | |
140 | + | |
141 | + | |
142 | + tvVersion.setText("SDK Version:" + GumpSDK.getVersion()); | |
143 | + } | |
144 | + | |
145 | + @Override | |
146 | + public void onPurchaseCompleted(PurchaseResult result) { | |
147 | + Log.i(TAG,"purchase completed"); | |
148 | + } | |
149 | + | |
150 | + @Override | |
151 | + public void onPurchaseError(int code, String msg) { | |
152 | + Log.i(TAG,"purchase error"); | |
153 | + } | |
154 | + | |
155 | + @Override | |
156 | + public void onPurchaseCanceled() { | |
157 | + Log.i(TAG,"purchase canceled"); | |
158 | + } | |
159 | +} |
doc/AndroidDocument.md
... | ... | @@ -2,8 +2,8 @@ |
2 | 2 | |
3 | 3 | |
4 | 4 | 接入手册 |
5 | -V 3.3.4 | |
6 | -2016年01月22日 | |
5 | +V 3.3.5 | |
6 | +2016年03月04日 | |
7 | 7 | |
8 | 8 | 快速入口: |
9 | 9 | [支付部分服务端回调文档](http://git.letsgame.mobi/document/gumptech-document/blob/master/doc/ServerDocument.md) |
... | ... | @@ -170,7 +170,7 @@ InitializeCallback为初始化回调接口,此接口只有一个回调方法init |
170 | 170 | |
171 | 171 | |
172 | 172 | 3.支付功能 |
173 | - 1)使用gump通行证登录,其中除nick外所有参数为必传参数 | |
173 | + 1)使用gump通行证登录,其中除nick和roleId外所有参数为必传参数 | |
174 | 174 | |
175 | 175 | Bundle payInfo = new Bundle(); |
176 | 176 | payInfo.putString("nick", "thi"); |
... | ... | @@ -179,9 +179,10 @@ InitializeCallback为初始化回调接口,此接口只有一个回调方法init |
179 | 179 | payInfo.putString("extraInfo", "This is demo!"); |
180 | 180 | payInfo.putString("serverId", "B4003"); |
181 | 181 | payInfo.putString("roleId", "10010"); |
182 | + payInfo.putString("sessionKey","sessionkey"); | |
182 | 183 | GumpSDK.pay(MainActivity.this, payInfo,PurchaseCallback); |
183 | -调用pay方法时,必须穿入一个bundle对象,包含如上字段,除nick外所有字段必须全部包含 | |
184 | - 2)未使用gump通行证登录,需要传入用户id | |
184 | +调用pay方法时,必须穿入一个bundle对象,包含如上字段,除nick和roleId外所有字段必须全部包含,其中sessionKey为登录时返回的sessionKey | |
185 | + 2)未使用gump通行证登录,需要传入用户id,同时sessionKey不再需要 | |
185 | 186 | |
186 | 187 | Bundle payInfo = new Bundle(); |
187 | 188 | payInfo.putString("nick", "thi"); |
doc/webpay.md
... | ... | @@ -60,6 +60,9 @@ GumpTech页面支付(已集成到sdk中,可忽略) |
60 | 60 | |
61 | 61 | 统一支付: http://api.gumptech.com/v2/p/index.do |
62 | 62 | 横版: http://api.gumptech.com/v2/wide/p/index.do |
63 | + | |
64 | + 横版V3: http://api.gumptech.com/v3/wide/p/index.do(引入Gump币支付) | |
65 | + | |
63 | 66 | 需要传入参数: |
64 | 67 | 1. appId: 必选参数 接入前GumpTeck分配的应用id |
65 | 68 | 2. userId: 必选参数 GumpTech平台的用户id |
... | ... | @@ -68,6 +71,8 @@ GumpTech页面支付(已集成到sdk中,可忽略) |
68 | 71 | 5. product: 必选参数 第三方传入,购买物品 |
69 | 72 | 6. amount: 可选参数 第三方传入,购买物品所需要的金额(点数) |
70 | 73 | |
74 | + 7.sessionKey: V3版本必选 登录获取的sessionKey,支付使用 | |
75 | + | |
71 | 76 | 以下参数需要在服务端配置,需要研发商联系接口人配置: |
72 | 77 | 1. queryRoleUrl: 支付页面显示服务器列表 参考【第三方查询角色接口】 |
73 | 78 | 2. querySeversUrl: 查询用户角色 格式参考【第三方查询区服列表接口】 |
74 | 79 | \ No newline at end of file |