diff --git a/doc/AndroidDocument.md b/doc/AndroidDocument.md
index 6046dc4..cdf8ad4 100644
--- a/doc/AndroidDocument.md
+++ b/doc/AndroidDocument.md
@@ -86,46 +86,77 @@ Help==>About Eclips点击Android对应的图标就可以查看版本了.
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
+ android:name="com.gumptech.sdk.ExchangeWindow"
+ android:configChanges="orientation|screenLayout"
+ android:theme="@style/ex_win" >
+
#### 2、 向Gump平台索要游戏ID(GID),完成代码接入
-1.调用GumpSDK前需要执行初始化。
-若不需要分渠道
-
- GumpSDK.init(Context,Appid, Appkey);
-如果需要定义渠道,必须使用如下方法
-
- GumpSDK.init(Context,Appid, Appkey,ChannelId);
+正式开始接入逻辑代码前,先介绍下一些附加配置,以方便代码接入
*gump logo的显示控制方法,此方法参数指定是否显示GumpLogo
GumpSDK.setShowLogo(boolean);
*横竖屏控制,默认为横屏,参数为false即为竖屏
GumpSDK.setScreenLandscape(true);
+*debug模式设置
+
+ GumpSDK.setDebugState(true);
+1.调用GumpSDK前需要执行初始化。
+
+若不需要分渠道
+
+ GumpSDK.init(Context,Appid, Appkey,InitializeCallback);
+如果需要定义渠道,必须使用如下方法
+
+ GumpSDK.init(Context,Appid, Appkey,ChannelId,InitializeCallback);
+
+InitializeCallback为初始化回调接口,此接口只有一个回调方法initComplete(int result) result标识是否初始化成功,当result等于GumpSDK.CODE.OK时为成功,其他为失败
+
2.调用GumpSDK的开始方法,将执行登录流程,需要一个Activity实例作参数
GumpSDK.start(Activity);
-开发者需要在调用的Activity里重写onActivityResult方法以接受用户的登录结果,通常如下:
-
- //登录请求返回结果
- if (requestCode == GumpSDK.LOGIN_REQUEST_CODE) {
- if (resultCode == RESULT_OK) {
- String uid = data.getIntExtra("userId", -1);
- int accountType = data.getIntExtra("accountType", -1);
- String sessionkey = data.getStringExtra("sessionKey");
-
- } else if (resultCode == RESULT_CANCELED) {
- Toast.makeText(this, "operate be canceled", Toast.LENGTH_SHORT).show();
- }
- }
+在此之前,开发者需要注册用户状态监听以接受用户的登录/登出通知,通常如下:
+
+ GumpSDK.setUserStateListener(new LoginStateListener() {
+ @Override
+ public void onLoginSuccess(GumpUser gumpUser) {
+ //登录成功,用户信息包含在GumpUser对象里
+ }
+
+ @Override
+ public void onLoginFailed(int code, String msg) {
+ //登录出错,根据错误码和信息判断错误类型
+ Toast.makeText(MainActivity.this, "Login failed:code="+code+",message="+msg, Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onLoginCanceled() {
+ //用户取消登录
+ Toast.makeText(MainActivity.this, "operate be canceled", Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onLogout() {
+ //用户登出
+
+ }
+ });
-如上将收到成功登录用的userid,此Id标识唯一用户!
+如上成功登录后收到的GumpUser对象包含以下信息
+
+ gumpUser.getUid();//获取用户的userid,此Id标识唯一用户!
+ gumpUser.getAccountType();//用户类型,此类型数据可从GumpPreference常量获取
+ gumpUser.getSessionKey();//登录的sesionKey
+
3.支付功能
1)使用gump通行证登录,其中serverId为必传参数
@@ -137,7 +168,7 @@ Help==>About Eclips点击Android对应的图标就可以查看版本了.
payInfo.putString("extraInfo", "This is demo!");
payInfo.putString("serverId", "B4003");
payInfo.putString("roleId", "10010");
- GumpSDK.pay(MainActivity.this, payInfo);
+ GumpSDK.pay(MainActivity.this, payInfo,PurchaseCallback);
调用pay方法时,必须穿入一个bundle对象,包含如上字段,除serverId外可以设置值为空,但是字段必须全部包含
2)未使用gump通行证登录,需要传入用户id,serverId为必传参数
@@ -148,29 +179,42 @@ Help==>About Eclips点击Android对应的图标就可以查看版本了.
payInfo.putString("extraInfo", "This is demo!");
payInfo.putString("serverId", "B4003");
payInfo.putString("roleId", "10010");
- GumpSDK.pay(MainActivity.this, payInfo,"1021");
+ GumpSDK.pay(MainActivity.this, payInfo,"1021",PurchaseCallback);
+
+PurchaseCallback为支付状态回调接口,此接口含有3个方法
+
+ @Override
+ public void onPurchaseCompleted(PurchaseResult result) {
+ Log.i(TAG,"purchase completed");
+ }
+
+ @Override
+ public void onPurchaseError(int code, String msg) {
+ Log.i(TAG,"purchase error");
+ }
+
+ @Override
+ public void onPurchaseCanceled() {
+ Log.i(TAG,"purchase canceled");
+ }
+
5.注销登录
- GumpSDK.logout(Activity,GumpSDK.Callback);
-当此方法调用后,用户退出登录,并会通过callback接口通知调用程序!
+ GumpSDK.logout(Activity);
+当此方法调用后,用户退出登录,并会通过LoginStateListener接口通知调用程序!
## 第二章 常见问题
### 问题1: 如何避免混淆对SDK的影响?
解答:有些开发者对接入了SDK的程序进行混淆时,有可能会覆盖某些java
类,导致SDK无法正常工作,解决方法如下:
Ø 请开发者在混淆配置文件proguard.cfg或proguard-project.txt的最后加上
- -keepattributes *Annotation*
+ -keepattributes *Annotation*,InnerClasses,SourceFile,LineNumberTable
-keep public class * extends android.app.Service
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
-keep class com.gumptech.sdk.view.* {*;}
-keep class com.gumptech.sdk.web.* {*;}
- -keep class com.gumptech.sdk.GumpSDK$Callback{
- void onLogout();
- }
- -keep class com.gumptech.sdk.GumpPreference{
- public static final ;
- }
+
使得混淆的时候不会影响SDK的命名空间。
### 问题2:后台已经配置ok的情况下,支付列表仍然为空或登录总是出错?