Blame view
GameSDKDemo/src/main/java/com/gumptech/sdk/demo/MainActivity.java
6.38 KB
06e47b8f0
![]() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 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 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 |
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.g.root.GumpPreference; import com.g.root.GumpSDK; import com.g.root.PaymentVersion; import com.g.root.bean.GumpUser; import com.g.root.bean.PurchaseResult; import com.g.root.callback.InitializeCallback; import com.g.root.callback.LoginStateListener; import com.g.root.callback.PurchaseCallback; import com.g.root.passport.fb.FBAccessToken; public class MainActivity extends Activity implements PurchaseCallback { private static final String TAG = "MainActivity"; private TextView tvVersion; private TextView userInfo; private Button btnLoginOrLogout; private String appId = "10022"; private String appKey = "93a27b0bd99bac3e68a440b48aa421ab"; private String sessionKey; @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(); payInfo.putString("product", "test2"); payInfo.putFloat("amount", 0.1f); payInfo.putString("extraInfo", "This is demo!"); payInfo.putString("serverId", "100"); payInfo.putString("roleId","100123"); payInfo.putString("sessionKey", sessionKey); GumpSDK.pay(MainActivity.this, payInfo, MainActivity.this); } }); 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); } }); /** * 设置否是打印debug日志 */ GumpSDK.getSettings().enableDebugLogging(true); /** * 设置是否启用facebook登录 */ GumpSDK.getSettings().setFBEnable(true); /** * 设置是否启用Vk登录 */ GumpSDK.getSettings().setVKEnable(false); /** * 设置屏幕方向 */ GumpSDK.getSettings().setScreenLandscape(true); /** * 设置支付版本 */ GumpSDK.getSettings().setPaymentVersion(PaymentVersion.V4); /** * 设置用户登录状态监听器 */ GumpSDK.setUserStateListener(new LoginStateListener() { @Override public void onLoginSuccess(GumpUser user) { ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); cm.setText(user.getSessionKey()); sessionKey = user.getSessionKey(); 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; } userInfo.setText(" Userid:" + user.getUid() + " accountType:(" + user.getAccountType() + ") " + userType + " sessionKey:" + user.getSessionKey()); btnLoginOrLogout.setText("Logout"); btnLoginOrLogout.setTag(1); } @Override public void onLoginFailed(int code, String msg) { userInfo.setText(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() { 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()); } @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"); } } |