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() + "\n accountType:(" + user.getAccountType() + ") " + userType + "\n 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"); } }