Blame view

GameSDKDemo/src/main/java/com/gumptech/sdk/demo/MainActivity.java 7.67 KB
d6bc71fcb   赵康   add the project o...
1
2
3
  package com.gumptech.sdk.demo;
  
  import android.app.Activity;
d6bc71fcb   赵康   add the project o...
4
  import android.os.Bundle;
d6bc71fcb   赵康   add the project o...
5
6
7
8
9
10
11
12
  import android.util.Log;
  import android.view.View;
  import android.widget.Button;
  import android.widget.TextView;
  import android.widget.Toast;
  
  import com.gumptech.sdk.GumpPreference;
  import com.gumptech.sdk.GumpSDK;
656f5f9fd   赵康   merge payment v3 ...
13
  import com.gumptech.sdk.PaymentVersion;
43932caac   赵康   update for UI,add...
14
  import com.gumptech.sdk.SDKSettings;
d6bc71fcb   赵康   add the project o...
15
16
17
18
19
  import com.gumptech.sdk.bean.GumpUser;
  import com.gumptech.sdk.bean.PurchaseResult;
  import com.gumptech.sdk.callback.InitializeCallback;
  import com.gumptech.sdk.callback.LoginStateListener;
  import com.gumptech.sdk.callback.PurchaseCallback;
7a5aadf06   赵康   v4.1.5:新增运营接口
20
  import com.gumptech.sdk.callback.ResultCallback;
41d220c11   赵康   update to 4.1.1:a...
21
  import com.gumptech.sdk.passport.fb.FBAccessToken;
d6bc71fcb   赵康   add the project o...
22

064eb2054   赵康   分离iap支付方法
23
  public class MainActivity extends Activity implements PurchaseCallback {
d6bc71fcb   赵康   add the project o...
24
25
26
27
28
29
30
  
      private static final String TAG = "MainActivity";
  
      private TextView tvVersion;
      private TextView userInfo;
  
      private Button btnLoginOrLogout;
43932caac   赵康   update for UI,add...
31
32
      private String appId = "100";
      private String appKey = "f899139df5e1059396431415e770c6dd";
c4a5d1b80   赵康   update to version...
33
      private GumpUser gumpUser;
d6bc71fcb   赵康   add the project o...
34

064eb2054   赵康   分离iap支付方法
35

d6bc71fcb   赵康   add the project o...
36
37
38
39
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
969c0010c   赵康   v4.1.6:修复gp支付无回调的bug
40

d6bc71fcb   赵康   add the project o...
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
          tvVersion = (TextView) findViewById(R.id.version);
          userInfo = (TextView) findViewById(R.id.user_info);
          btnLoginOrLogout = (Button) findViewById(R.id.login_or_logout);
          btnLoginOrLogout.setOnClickListener(new View.OnClickListener() {
  
              @Override
              public void onClick(View v) {
                  if (btnLoginOrLogout.getTag() == null || (Integer) btnLoginOrLogout.getTag() == 0)
                      GumpSDK.start(MainActivity.this);
                  else
                      GumpSDK.logout(MainActivity.this);
              }
          });
          findViewById(R.id.pay).setOnClickListener(new View.OnClickListener() {
  
              @Override
              public void onClick(View v) {
                  Bundle payInfo = new Bundle();
d6bc71fcb   赵康   add the project o...
59
60
61
62
                  payInfo.putString("product", "test2");
                  payInfo.putFloat("amount", 0.1f);
                  payInfo.putString("extraInfo", "This is demo!");
                  payInfo.putString("serverId", "100");
43932caac   赵康   update for UI,add...
63
                  payInfo.putString("roleId", "100123");
c4a5d1b80   赵康   update to version...
64
                  payInfo.putString("sessionKey", gumpUser.getSessionKey().getToken());
d6bc71fcb   赵康   add the project o...
65
66
67
                  GumpSDK.pay(MainActivity.this, payInfo, MainActivity.this);
              }
          });
064eb2054   赵康   分离iap支付方法
68
69
70
71
          findViewById(R.id.iap).setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  Bundle payInfo = new Bundle();
969c0010c   赵康   v4.1.6:修复gp支付无回调的bug
72
                  payInfo.putString("product", "180010");
064eb2054   赵康   分离iap支付方法
73
74
75
                  payInfo.putFloat("amount", 0.1f);
                  payInfo.putString("extraInfo", "This is demo!");
                  payInfo.putString("serverId", "100");
43932caac   赵康   update for UI,add...
76
                  payInfo.putString("roleId", "100123");
064eb2054   赵康   分离iap支付方法
77
78
79
                  GumpSDK.iap(MainActivity.this, payInfo, MainActivity.this);
              }
          });
d6bc71fcb   赵康   add the project o...
80
81
82
83
84
          /**
           * 设置否是打印debug日志
           */
          GumpSDK.getSettings().enableDebugLogging(true);
          /**
43932caac   赵康   update for UI,add...
85
           * 设置启用facebook登录
d6bc71fcb   赵康   add the project o...
86
           */
43932caac   赵康   update for UI,add...
87
          GumpSDK.getSettings().requestThirdSupport(SDKSettings.THIRD_SUPPORT_FB);
d6bc71fcb   赵康   add the project o...
88
          /**
43932caac   赵康   update for UI,add...
89
           * 设置启用Vk登录
d6bc71fcb   赵康   add the project o...
90
           */
43932caac   赵康   update for UI,add...
91
  //        GumpSDK.getSettings().requestThirdSupport(SDKSettings.THIRD_SUPPORT_VK);
adab52895   赵康   version:4.2.0:增加G...
92

d6bc71fcb   赵康   add the project o...
93
          /**
43932caac   赵康   update for UI,add...
94
95
96
           * 设置启用Wechat登录
           *
           */
188bc4cf8   赵康   v4.3.3:增加微信登录
97
          GumpSDK.getSettings().requestThirdSupport(SDKSettings.THIRD_SUPPORT_WECHAT);
43932caac   赵康   update for UI,add...
98
99
100
101
102
103
104
105
106
107
108
  
          /**
           * 设置启用google登录
           */
          GumpSDK.getSettings().requestThirdSupport(SDKSettings.THIRD_SUPPORT_GOOGLE);
  
          /**
           * 设置启用Line登录
           */
          GumpSDK.getSettings().requestThirdSupport(SDKSettings.THIRD_SUPPORT_LINE);
          /**
d6bc71fcb   赵康   add the project o...
109
110
111
           * 设置屏幕方向
           */
          GumpSDK.getSettings().setScreenLandscape(true);
656f5f9fd   赵康   merge payment v3 ...
112
113
114
115
116
  
          /**
           * 设置支付版本
           */
          GumpSDK.getSettings().setPaymentVersion(PaymentVersion.V4);
d6bc71fcb   赵康   add the project o...
117
118
119
          /**
           * 设置用户登录状态监听器
           */
064eb2054   赵康   分离iap支付方法
120

d6bc71fcb   赵康   add the project o...
121
122
123
          GumpSDK.setUserStateListener(new LoginStateListener() {
              @Override
              public void onLoginSuccess(GumpUser user) {
c4a5d1b80   赵康   update to version...
124
125
126
  //                ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
  //                cm.setText(user.getSessionKey());
                  gumpUser = user;
064eb2054   赵康   分离iap支付方法
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
                  String userType = null;
                  switch (user.getAccountType()) {
                      case GumpPreference.ACCOUNT_TYPE_FB:
                          userType = "Facebook登录";
                          String fbToken = FBAccessToken.getCurrentAccessToken().getToken();
                          Log.d(TAG, "FBAccessToken:" + fbToken);
                          break;
                      case GumpPreference.ACCOUNT_TYPE_QUICK_REG:
                          userType = "快速登录";
                          break;
                      case GumpPreference.ACCOUNT_TYPE_REG:
                          userType = "gump注册用户";
                          break;
                      case GumpPreference.ACCOUNT_TYPE_VK:
                          userType = "vk登录";
                          break;
adab52895   赵康   version:4.2.0:增加G...
143
144
145
                      case GumpPreference.ACCOUNT_TYPE_GOOGLE:
                          userType = "google 登录";
                          break;
43932caac   赵康   update for UI,add...
146
147
148
149
150
151
                      case GumpPreference.ACCOUNT_TYPE_WECHAT:
                          userType = "微信登录";
                          break;
                      case GumpPreference.ACCOUNT_TYPE_LINE:
                          userType = "Line登录";
                          break;
d6bc71fcb   赵康   add the project o...
152
                  }
c4a5d1b80   赵康   update to version...
153
154
155
                  userInfo.setText(" Userid:" + user.getUid() + "
   accountType:(" + user.getAccountType() + ") " + userType + "
   sessionKey:" + user.getSessionKey().getToken());
d6bc71fcb   赵康   add the project o...
156
157
158
159
160
                  btnLoginOrLogout.setText("Logout");
                  btnLoginOrLogout.setTag(1);
              }
  
              @Override
064eb2054   赵康   分离iap支付方法
161
              public void onLoginFailed(int code, String msg) {
d6bc71fcb   赵康   add the project o...
162
                  userInfo.setText(msg);
064eb2054   赵康   分离iap支付方法
163
                  Toast.makeText(MainActivity.this, "Login failed:code=" + code + ",message=" + msg, Toast.LENGTH_SHORT).show();
d6bc71fcb   赵康   add the project o...
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
              }
  
              @Override
              public void onLoginCanceled() {
                  Toast.makeText(MainActivity.this, "operate be canceled", Toast.LENGTH_SHORT).show();
              }
  
              @Override
              public void onLogout() {
                  btnLoginOrLogout.setText("Login");
                  btnLoginOrLogout.setTag(0);
                  userInfo.setText("User is logout");
              }
          });
          /**
           * 初始化sdk
           */
          GumpSDK.init(getApplicationContext(), appId, appKey, "1000", new InitializeCallback() {
              @Override
              public void initComplete(int result) {
                  if (result == GumpSDK.CODE.OK) {
                      btnLoginOrLogout.setEnabled(true);
7a5aadf06   赵康   v4.1.5:新增运营接口
186
187
  
                      //checkRisk();
d6bc71fcb   赵康   add the project o...
188
189
190
191
192
                  }
              }
          });
  
          tvVersion.setText("SDK Version:" + GumpSDK.getVersion());
064eb2054   赵康   分离iap支付方法
193

d6bc71fcb   赵康   add the project o...
194
      }
43932caac   赵康   update for UI,add...
195
      private void checkRisk() {
7a5aadf06   赵康   v4.1.5:新增运营接口
196
197
198
          GumpSDK.checkRisk(this, new ResultCallback() {
              @Override
              public void onResult(boolean isRisk) {
43932caac   赵康   update for UI,add...
199
                  Log.i(TAG, isRisk ? "There is some risks" : "Nothing is risk");
7a5aadf06   赵康   v4.1.5:新增运营接口
200
201
202
              }
          });
      }
d6bc71fcb   赵康   add the project o...
203
204
      @Override
      public void onPurchaseCompleted(PurchaseResult result) {
064eb2054   赵康   分离iap支付方法
205
          Log.i(TAG, "purchase completed");
d6bc71fcb   赵康   add the project o...
206
207
208
209
      }
  
      @Override
      public void onPurchaseError(int code, String msg) {
064eb2054   赵康   分离iap支付方法
210
          Log.i(TAG, "purchase error");
d6bc71fcb   赵康   add the project o...
211
212
213
214
      }
  
      @Override
      public void onPurchaseCanceled() {
064eb2054   赵康   分离iap支付方法
215
          Log.i(TAG, "purchase canceled");
d6bc71fcb   赵康   add the project o...
216
      }
064eb2054   赵康   分离iap支付方法
217

d6bc71fcb   赵康   add the project o...
218
  }