Blame view

GameSDKDemo/src/main/java/com/gumptech/sdk/demo/MainActivity.java 7.72 KB
d6bc71fcb   赵康   add the project o...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  package com.gumptech.sdk.demo;
  
  import android.app.Activity;
  import android.content.Context;
  import android.os.Bundle;
  import android.text.ClipboardManager;
  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 ...
15
  import com.gumptech.sdk.PaymentVersion;
43932caac   赵康   update for UI,add...
16
  import com.gumptech.sdk.SDKSettings;
d6bc71fcb   赵康   add the project o...
17
18
19
20
21
  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:新增运营接口
22
  import com.gumptech.sdk.callback.ResultCallback;
41d220c11   赵康   update to 4.1.1:a...
23
  import com.gumptech.sdk.passport.fb.FBAccessToken;
d6bc71fcb   赵康   add the project o...
24

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

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

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

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

d6bc71fcb   赵康   add the project o...
122
123
124
          GumpSDK.setUserStateListener(new LoginStateListener() {
              @Override
              public void onLoginSuccess(GumpUser user) {
064eb2054   赵康   分离iap支付方法
125
126
                  ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
                  cm.setText(user.getSessionKey());
d6bc71fcb   赵康   add the project o...
127
                  sessionKey = user.getSessionKey();
064eb2054   赵康   分离iap支付方法
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
                  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...
144
145
146
                      case GumpPreference.ACCOUNT_TYPE_GOOGLE:
                          userType = "google 登录";
                          break;
43932caac   赵康   update for UI,add...
147
148
149
150
151
152
                      case GumpPreference.ACCOUNT_TYPE_WECHAT:
                          userType = "微信登录";
                          break;
                      case GumpPreference.ACCOUNT_TYPE_LINE:
                          userType = "Line登录";
                          break;
d6bc71fcb   赵康   add the project o...
153
                  }
064eb2054   赵康   分离iap支付方法
154
155
156
                  userInfo.setText(" Userid:" + user.getUid() + "
   accountType:(" + user.getAccountType() + ") " + userType + "
   sessionKey:" + user.getSessionKey());
d6bc71fcb   赵康   add the project o...
157
158
159
160
161
                  btnLoginOrLogout.setText("Logout");
                  btnLoginOrLogout.setTag(1);
              }
  
              @Override
064eb2054   赵康   分离iap支付方法
162
              public void onLoginFailed(int code, String msg) {
d6bc71fcb   赵康   add the project o...
163
                  userInfo.setText(msg);
064eb2054   赵康   分离iap支付方法
164
                  Toast.makeText(MainActivity.this, "Login failed:code=" + code + ",message=" + msg, Toast.LENGTH_SHORT).show();
d6bc71fcb   赵康   add the project o...
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
              }
  
              @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:新增运营接口
187
188
  
                      //checkRisk();
d6bc71fcb   赵康   add the project o...
189
190
191
192
193
                  }
              }
          });
  
          tvVersion.setText("SDK Version:" + GumpSDK.getVersion());
064eb2054   赵康   分离iap支付方法
194

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

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