Blame view

GameSDKDemo/src/main/java/com/gumptech/sdk/demo/MainActivity.java 9.4 KB
d6bc71fcb   赵康   add the project o...
1
  package com.gumptech.sdk.demo;
d6bc71fcb   赵康   add the project o...
2
  import android.os.Bundle;
4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
3
  import android.support.v7.app.AppCompatActivity;
d6bc71fcb   赵康   add the project o...
4
5
6
7
8
9
10
11
  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 ...
12
  import com.gumptech.sdk.PaymentVersion;
43932caac   赵康   update for UI,add...
13
  import com.gumptech.sdk.SDKSettings;
d6bc71fcb   赵康   add the project o...
14
15
16
17
18
  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:新增运营接口
19
  import com.gumptech.sdk.callback.ResultCallback;
41d220c11   赵康   update to 4.1.1:a...
20
  import com.gumptech.sdk.passport.fb.FBAccessToken;
d6bc71fcb   赵康   add the project o...
21

057d4c203   赵康   v4.5.5:权限拒绝回调方法增加参数
22
  import java.util.Locale;
4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
23
  public class MainActivity extends AppCompatActivity 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;
d42a06680   赵康   remove wechat log...
31
      private Button btnInit;
4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
32
33
34
      private Button btnCheckState;
      private Button btnPay;
      private Button btnIap;
d6bc71fcb   赵康   add the project o...
35

1a7b48163   赵康   4.7.5_orange
36
37
      private String appId = "100";
      private String appKey = "f899139df5e1059396431415e770c6dd";
c4a5d1b80   赵康   update to version...
38
      private GumpUser gumpUser;
d6bc71fcb   赵康   add the project o...
39

4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
40
41
42
43
44
      /**
       * 测试数据
       */
      String serverId = "100";
      String roleId = "41080";
4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
45

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

d6bc71fcb   赵康   add the project o...
47
48
49
50
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
969c0010c   赵康   v4.1.6:修复gp支付无回调的bug
51

057d4c203   赵康   v4.5.5:权限拒绝回调方法增加参数
52
53
54
          tvVersion = findViewById(R.id.version);
          userInfo = findViewById(R.id.user_info);
          btnLoginOrLogout = findViewById(R.id.login_or_logout);
d42a06680   赵康   remove wechat log...
55
          btnInit = findViewById(R.id.init);
4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
56
          btnCheckState = findViewById(R.id.check_state);
d6bc71fcb   赵康   add the project o...
57
58
59
60
61
62
63
64
65
66
          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);
              }
          });
d42a06680   赵康   remove wechat log...
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
          btnInit.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  btnInit.setEnabled(false);
                  GumpSDK.init(getApplicationContext(), appId, appKey, "1000", new InitializeCallback() {
                      @Override
                      public void initComplete(int result) {
                          if (result == GumpSDK.CODE.OK) {
                              btnLoginOrLogout.setEnabled(true);
                              userInfo.setText("initialization has finished");
                          } else {
                              btnInit.setEnabled(true);
                              userInfo.setText("initialization has error");
                          }
                      }
                  });
              }
          });
4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
85
86
87
88
89
90
91
92
          btnCheckState.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
  //                btnCheckState.setEnabled(false);
                  GumpSDK.shouldUseCoPay(MainActivity.this, serverId, roleId, new ResultCallback() {
                      @Override
                      public void onResult(boolean isRisk) {
                          btnIap.setEnabled(isRisk);
1a7b48163   赵康   4.7.5_orange
93
                          btnPay.setEnabled(isRisk);
4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
94
95
96
97
98
99
                      }
                  });
              }
          });
          btnPay = findViewById(R.id.pay);
          btnPay.setOnClickListener(new View.OnClickListener() {
d6bc71fcb   赵康   add the project o...
100
101
102
  
              @Override
              public void onClick(View v) {
4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
103
104
105
106
107
108
                  PaymentInfoSubmitFragment submitFragment = PaymentInfoSubmitFragment.newInstance(new PaymentInfoSubmitFragment.OnSubmitListener() {
                      @Override
                      public void onSubmit(Bundle payInfo) {
                          GumpSDK.pay(MainActivity.this, payInfo, MainActivity.this);
                      }
                  });
4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
109
                  submitFragment.show(getSupportFragmentManager(), "pay");
d6bc71fcb   赵康   add the project o...
110
111
              }
          });
4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
112
113
          btnIap = findViewById(R.id.iap);
          btnIap.setOnClickListener(new View.OnClickListener() {
064eb2054   赵康   分离iap支付方法
114
115
              @Override
              public void onClick(View v) {
4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
116
117
118
119
120
121
122
                  PaymentInfoSubmitFragment submitFragment = PaymentInfoSubmitFragment.newInstance(new PaymentInfoSubmitFragment.OnSubmitListener() {
                      @Override
                      public void onSubmit(Bundle payInfo) {
                          GumpSDK.iap(MainActivity.this, payInfo, MainActivity.this);
                      }
                  });
                  submitFragment.show(getSupportFragmentManager(), "iap");
064eb2054   赵康   分离iap支付方法
123
124
              }
          });
6a217e5ca   赵康   version4.5.0
125

472513368   赵康   取消游客绑定提醒
126

057d4c203   赵康   v4.5.5:权限拒绝回调方法增加参数
127
          Log.i("DEMO", "country:" + Locale.getDefault().getCountry() + ",language:" + Locale.getDefault().getLanguage());
6a217e5ca   赵康   version4.5.0
128
          GumpSDK.getSettings().setDebug(false);
d6bc71fcb   赵康   add the project o...
129
          /**
057d4c203   赵康   v4.5.5:权限拒绝回调方法增加参数
130
           * 设置是否打印debug日志
d6bc71fcb   赵康   add the project o...
131
132
133
           */
          GumpSDK.getSettings().enableDebugLogging(true);
          /**
43932caac   赵康   update for UI,add...
134
           * 设置启用facebook登录
d6bc71fcb   赵康   add the project o...
135
           */
43932caac   赵康   update for UI,add...
136
          GumpSDK.getSettings().requestThirdSupport(SDKSettings.THIRD_SUPPORT_FB);
43932caac   赵康   update for UI,add...
137
138
139
140
141
142
143
144
145
146
  
          /**
           * 设置启用google登录
           */
          GumpSDK.getSettings().requestThirdSupport(SDKSettings.THIRD_SUPPORT_GOOGLE);
  
          /**
           * 设置启用Line登录
           */
          GumpSDK.getSettings().requestThirdSupport(SDKSettings.THIRD_SUPPORT_LINE);
656f5f9fd   赵康   merge payment v3 ...
147
148
149
150
151
  
          /**
           * 设置支付版本
           */
          GumpSDK.getSettings().setPaymentVersion(PaymentVersion.V4);
d6bc71fcb   赵康   add the project o...
152
153
154
          /**
           * 设置用户登录状态监听器
           */
064eb2054   赵康   分离iap支付方法
155

d6bc71fcb   赵康   add the project o...
156
157
158
          GumpSDK.setUserStateListener(new LoginStateListener() {
              @Override
              public void onLoginSuccess(GumpUser user) {
4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
159
                  btnCheckState.setEnabled(true);
c4a5d1b80   赵康   update to version...
160
                  gumpUser = user;
064eb2054   赵康   分离iap支付方法
161
162
163
164
165
166
167
168
169
170
171
172
173
                  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;
adab52895   赵康   version:4.2.0:增加G...
174
175
176
                      case GumpPreference.ACCOUNT_TYPE_GOOGLE:
                          userType = "google 登录";
                          break;
43932caac   赵康   update for UI,add...
177
178
179
                      case GumpPreference.ACCOUNT_TYPE_LINE:
                          userType = "Line登录";
                          break;
d6bc71fcb   赵康   add the project o...
180
                  }
472513368   赵康   取消游客绑定提醒
181
182
183
184
                  userInfo.setText(" Userid:" + user.getUid() + "
   accountType:(" + user.getAccountType() + ") " + userType + "
   sessionKey:" + user.getSessionKey()
                          .getToken());
d6bc71fcb   赵康   add the project o...
185
186
187
188
189
                  btnLoginOrLogout.setText("Logout");
                  btnLoginOrLogout.setTag(1);
              }
  
              @Override
064eb2054   赵康   分离iap支付方法
190
              public void onLoginFailed(int code, String msg) {
d6bc71fcb   赵康   add the project o...
191
                  userInfo.setText(msg);
064eb2054   赵康   分离iap支付方法
192
                  Toast.makeText(MainActivity.this, "Login failed:code=" + code + ",message=" + msg, Toast.LENGTH_SHORT).show();
d6bc71fcb   赵康   add the project o...
193
194
195
196
197
198
199
200
201
202
203
204
205
              }
  
              @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");
              }
6a217e5ca   赵康   version4.5.0
206
207
  
              @Override
057d4c203   赵康   v4.5.5:权限拒绝回调方法增加参数
208
209
210
211
212
213
214
              public void onPermissionDenied(String[] deniedPermissions) {
                  StringBuilder sb = new StringBuilder();
                  for (String s : deniedPermissions) {
                      sb.append(s);
                      sb.append(",");
                  }
                  Toast.makeText(MainActivity.this, "Permission denied:" + sb.toString(), Toast.LENGTH_SHORT).show();
6a217e5ca   赵康   version4.5.0
215
              }
d6bc71fcb   赵康   add the project o...
216
217
218
219
220
221
222
223
224
          });
          /**
           * 初始化sdk
           */
          GumpSDK.init(getApplicationContext(), appId, appKey, "1000", new InitializeCallback() {
              @Override
              public void initComplete(int result) {
                  if (result == GumpSDK.CODE.OK) {
                      btnLoginOrLogout.setEnabled(true);
d42a06680   赵康   remove wechat log...
225
                      userInfo.setText("initialization has finished");
4a6edc661   赵康   SDK v4.7.0:增加支付弹窗...
226

7a5aadf06   赵康   v4.1.5:新增运营接口
227
                      //checkRisk();
d42a06680   赵康   remove wechat log...
228
229
230
                  } else {
                      btnInit.setEnabled(true);
                      userInfo.setText("initialization has error");
d6bc71fcb   赵康   add the project o...
231
232
233
234
235
                  }
              }
          });
  
          tvVersion.setText("SDK Version:" + GumpSDK.getVersion());
064eb2054   赵康   分离iap支付方法
236

d6bc71fcb   赵康   add the project o...
237
      }
43932caac   赵康   update for UI,add...
238
      private void checkRisk() {
7a5aadf06   赵康   v4.1.5:新增运营接口
239
240
241
          GumpSDK.checkRisk(this, new ResultCallback() {
              @Override
              public void onResult(boolean isRisk) {
43932caac   赵康   update for UI,add...
242
                  Log.i(TAG, isRisk ? "There is some risks" : "Nothing is risk");
7a5aadf06   赵康   v4.1.5:新增运营接口
243
244
245
              }
          });
      }
d6bc71fcb   赵康   add the project o...
246
247
      @Override
      public void onPurchaseCompleted(PurchaseResult result) {
064eb2054   赵康   分离iap支付方法
248
          Log.i(TAG, "purchase completed");
d6bc71fcb   赵康   add the project o...
249
250
251
252
      }
  
      @Override
      public void onPurchaseError(int code, String msg) {
7b52014d1   赵康   version4.7.1
253
          Log.i(TAG, "purchase error:"+code+","+msg);
d6bc71fcb   赵康   add the project o...
254
255
256
257
      }
  
      @Override
      public void onPurchaseCanceled() {
064eb2054   赵康   分离iap支付方法
258
          Log.i(TAG, "purchase canceled");
d6bc71fcb   赵康   add the project o...
259
      }
064eb2054   赵康   分离iap支付方法
260

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