MainActivity.java 5.98 KB
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);
    }
}