package com.gt.union.sdk.demo; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.gt.union.sdk.SDKAgent; import com.gt.union.sdk.callback.ActionCallback; import com.gt.union.sdk.login.SessionKey; import com.gt.union.sdk.recharge.OrderForm; public class MainActivity extends AppCompatActivity { private String appId = "10105"; private String channelId = "1067"; private String serverId = "222"; private String roleId = "222006003"; private SDKAgent sdkAgent; private TextView tvInfo; private LinearLayout sessionLayout; private Button btnLogin; private Button btnLogout; private Button btnPay; private Button btnIab; private Button btnAutoJudge; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvInfo = findViewById(R.id.info); sessionLayout = findViewById(R.id.sessionLayout); btnLogin = findViewById(R.id.login); btnLogout = findViewById(R.id.logout); btnPay = findViewById(R.id.pay); btnIab = findViewById(R.id.iab); btnAutoJudge = findViewById(R.id.auto_judge_pay); btnLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sdkAgent.login(MainActivity.this, new ActionCallback() { @Override public void onCallback(String event, Object... payload) { if(event.equals(ActionCallback.ACTION_LOGIN)) { boolean result = (boolean) payload[0]; if(result) { SessionKey sessionKey = (SessionKey) payload[1]; tvInfo.setText(sessionKey.getUid()); sessionLayout.setVisibility(View.VISIBLE); btnLogin.setVisibility(View.GONE); }else{ Toast.makeText(MainActivity.this,"登录取消",Toast.LENGTH_SHORT).show(); } } } }); } }); btnLogout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sdkAgent.logout(new ActionCallback() { @Override public void onCallback(String event, Object... payload) { if(event.equals(ActionCallback.ACTION_LOGOUT)) { sessionLayout.setVisibility(View.GONE); btnLogin.setVisibility(View.VISIBLE); } } }); } }); btnPay.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { OrderForm order = new OrderForm(); order.setServerId(serverId).setRoleId(roleId).setExtraInfo("orderId").setAmount(0.99f).setCurrency("USD").setProduct("gro.udc.mig.99"); sdkAgent.goRecharge(MainActivity.this, order, new ActionCallback() { @Override public void onCallback(String event, Object... payload) { if(event.equals(ActionCallback.ACTION_PAY)) { boolean result = (boolean) payload[0]; String res = result ? "支付成功" : "支付失败"; Toast.makeText(MainActivity.this, res, Toast.LENGTH_SHORT).show(); } } }); } }); btnIab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { OrderForm order = new OrderForm(); order.setServerId(serverId).setRoleId(roleId).setExtraInfo("orderId").setAmount(0.99f).setCurrency("USD").setProduct("gro.udc.mig.99"); sdkAgent.launchIap(MainActivity.this, order, new ActionCallback() { @Override public void onCallback(String event, Object... payload) { if(event.equals(ActionCallback.ACTION_PAY)) { boolean result = (boolean) payload[0]; String des = (String) payload[1]; String res = result ? "Iab支付完成" : "Iab支付失败:"+des; Toast.makeText(MainActivity.this, res, Toast.LENGTH_SHORT).show(); } } }); } }); btnAutoJudge.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sdkAgent.judgePayment(MainActivity.this, serverId, roleId, new ActionCallback() { @Override public void onCallback(String event, Object... payload) { if(event.equals(ActionCallback.ACTION_JUDGE)) { boolean result = (boolean) payload[0]; if (result) btnPay.performClick(); else btnIab.performClick(); } } }); } }); sdkAgent = SDKAgent.object(this, appId).channel(channelId); } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { if (!sdkAgent.onActivityResult(requestCode, resultCode, data)) super.onActivityResult(requestCode, resultCode, data); } }