Blame view

GameSDKDemo/src/main/java/com/gumptech/sdk/demo/MainActivity.java 6.43 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;
d6bc71fcb   赵康   add the project o...
16
17
18
19
20
  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;
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;
41d220c11   赵康   update to 4.1.1:a...
31
32
      private String appId = "10022";
      private String appKey = "93a27b0bd99bac3e68a440b48aa421ab";
d6bc71fcb   赵康   add the project o...
33
      private String sessionKey;
064eb2054   赵康   分离iap支付方法
34

d6bc71fcb   赵康   add the project o...
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          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...
57
58
59
60
                  payInfo.putString("product", "test2");
                  payInfo.putFloat("amount", 0.1f);
                  payInfo.putString("extraInfo", "This is demo!");
                  payInfo.putString("serverId", "100");
064eb2054   赵康   分离iap支付方法
61
                  payInfo.putString("roleId","100123");
d6bc71fcb   赵康   add the project o...
62
63
64
65
                  payInfo.putString("sessionKey", sessionKey);
                  GumpSDK.pay(MainActivity.this, payInfo, MainActivity.this);
              }
          });
064eb2054   赵康   分离iap支付方法
66
67
68
69
70
71
72
73
74
75
76
77
          findViewById(R.id.iap).setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  Bundle payInfo = new Bundle();
                  payInfo.putString("product", "gp_skuId");
                  payInfo.putFloat("amount", 0.1f);
                  payInfo.putString("extraInfo", "This is demo!");
                  payInfo.putString("serverId", "100");
                  payInfo.putString("roleId","100123");
                  GumpSDK.iap(MainActivity.this, payInfo, MainActivity.this);
              }
          });
d6bc71fcb   赵康   add the project o...
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
          /**
           * 设置否是打印debug日志
           */
          GumpSDK.getSettings().enableDebugLogging(true);
          /**
           * 设置是否启用facebook登录
           */
          GumpSDK.getSettings().setFBEnable(true);
          /**
           * 设置是否启用Vk登录
           */
          GumpSDK.getSettings().setVKEnable(false);
          /**
           * 设置屏幕方向
           */
          GumpSDK.getSettings().setScreenLandscape(true);
656f5f9fd   赵康   merge payment v3 ...
94
95
96
97
98
  
          /**
           * 设置支付版本
           */
          GumpSDK.getSettings().setPaymentVersion(PaymentVersion.V4);
d6bc71fcb   赵康   add the project o...
99
100
101
          /**
           * 设置用户登录状态监听器
           */
064eb2054   赵康   分离iap支付方法
102

d6bc71fcb   赵康   add the project o...
103
104
105
          GumpSDK.setUserStateListener(new LoginStateListener() {
              @Override
              public void onLoginSuccess(GumpUser user) {
064eb2054   赵康   分离iap支付方法
106
107
                  ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
                  cm.setText(user.getSessionKey());
d6bc71fcb   赵康   add the project o...
108
                  sessionKey = user.getSessionKey();
064eb2054   赵康   分离iap支付方法
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
                  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;
d6bc71fcb   赵康   add the project o...
125
                  }
064eb2054   赵康   分离iap支付方法
126
127
128
                  userInfo.setText(" Userid:" + user.getUid() + "
   accountType:(" + user.getAccountType() + ") " + userType + "
   sessionKey:" + user.getSessionKey());
d6bc71fcb   赵康   add the project o...
129
130
131
132
133
                  btnLoginOrLogout.setText("Logout");
                  btnLoginOrLogout.setTag(1);
              }
  
              @Override
064eb2054   赵康   分离iap支付方法
134
              public void onLoginFailed(int code, String msg) {
d6bc71fcb   赵康   add the project o...
135
                  userInfo.setText(msg);
064eb2054   赵康   分离iap支付方法
136
                  Toast.makeText(MainActivity.this, "Login failed:code=" + code + ",message=" + msg, Toast.LENGTH_SHORT).show();
d6bc71fcb   赵康   add the project o...
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
              }
  
              @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);
                  }
              }
          });
  
          tvVersion.setText("SDK Version:" + GumpSDK.getVersion());
064eb2054   赵康   分离iap支付方法
164

d6bc71fcb   赵康   add the project o...
165
166
167
168
      }
  
      @Override
      public void onPurchaseCompleted(PurchaseResult result) {
064eb2054   赵康   分离iap支付方法
169
          Log.i(TAG, "purchase completed");
d6bc71fcb   赵康   add the project o...
170
171
172
173
      }
  
      @Override
      public void onPurchaseError(int code, String msg) {
064eb2054   赵康   分离iap支付方法
174
          Log.i(TAG, "purchase error");
d6bc71fcb   赵康   add the project o...
175
176
177
178
      }
  
      @Override
      public void onPurchaseCanceled() {
064eb2054   赵康   分离iap支付方法
179
          Log.i(TAG, "purchase canceled");
d6bc71fcb   赵康   add the project o...
180
      }
064eb2054   赵康   分离iap支付方法
181

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