【无标题】

   private Button bt1;
    private static final String TAG = "MainActivity";
    private Button bt2;
    private AccountAuthParams authParams;
    private AccountAuthService service;
    private Button bt3;
    private Button bt4;
    private Button bt5;
    private Button bt6;
    private Button bt7;
    private Button bt8;
    private Button bt9;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        bt1 = findViewById(R.id.bt_1);
        bt1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                signlnCode();//查询你上过一次的登录信息
            }
        });
        bt2 = findViewById(R.id.bt_2);
        bt2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                idTokenLogin();//idToken登录
            }
        });

        bt3 = findViewById(R.id.bt_3);
        bt3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                CodeLogin();
            }
        });
        bt4 = findViewById(R.id.bt_4);
        bt4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                getToken();
            }
        });
        bt5 = findViewById(R.id.bt_5);
        bt5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyHmsMessageService.subscribe(MainActivity.this);
            }
        });
        bt6 = findViewById(R.id.bt_6);
        bt6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyHmsMessageService.unsubscribe(MainActivity.this);
            }
        });
        bt7 = findViewById(R.id.bt_7);
        bt7.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                getIAP();
            }
        });
        bt8 = findViewById(R.id.bt_8);
        bt8.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showProduct();
            }
        });
        bt9 = findViewById(R.id.bt_9);
        bt9.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                goBuyProduct();
            }
        });
    }

    public void signlnCode() {
        authParams = new AccountAuthParamsHelper(AccountAuthParams.DEFAULT_AUTH_REQUEST_PARAM)
                .setProfile()
                .setAuthorizationCode()
                .createParams();
        service = AccountAuthManager.getService(this, authParams);
        Task<AuthAccount> task = service.silentSignIn();
        task.addOnCompleteListener(new OnCompleteListener<AuthAccount>() {
            @Override
            public void onComplete(Task<AuthAccount> task) {
                if (task.isSuccessful()) {
                    Log.i(TAG, "display name: " + task.getResult().getDisplayName());
                } else {
                    Log.e(TAG, task.getException().getMessage());
                }
            }
        });
    }

    private void idTokenLogin() {
        authParams = new AccountAuthParamsHelper(AccountAuthParams.DEFAULT_AUTH_REQUEST_PARAM)
                .setIdToken().createParams();
        service = AccountAuthManager.getService(MainActivity.this, authParams);
        startActivityForResult(service.getSignInIntent(), 0);
    }

    private void CodeLogin() {
        authParams = new AccountAuthParamsHelper(AccountAuthParams.DEFAULT_AUTH_REQUEST_PARAM)
                .setProfile()
                .setAuthorizationCode()
                .createParams();
        service = AccountAuthManager.getService(this, authParams);
        startActivityForResult(service.getSignInIntent(), 0);
    }

    private void getToken() {
        new Thread() {
            @Override
            public void run() {
                try {
                    String appId = AGConnectServicesConfig.fromContext(MainActivity.this).getString("client/app_id");
                    String token = HmsInstanceId.getInstance(MainActivity.this).getToken(appId, "HCM");
                    Log.i(TAG, "run: ==================" + token);
                } catch (ApiException e) {
                    e.printStackTrace();
                }
            }
        }.start();
    }

    private void getIAP() {
        Task<IsEnvReadyResult> envReady = Iap.getIapClient(this).isEnvReady();
        envReady.addOnCompleteListener(new OnCompleteListener<IsEnvReadyResult>() {
            @Override
            public void onComplete(Task<IsEnvReadyResult> task) {
                if (task.isSuccessful()) {
                    Log.i(TAG, "onComplete: IAP成功");
                }
            }
        });
    }

    private void showProduct() {
        List<String> list = new ArrayList<>();
        list.add("qq");
        ProductInfoReq req = new ProductInfoReq();
        req.setPriceType(1);
        req.setProductIds(list);
        Task<ProductInfoResult> spTask = Iap.getIapClient(MainActivity.this).obtainProductInfo(req);
        spTask.addOnCompleteListener(new OnCompleteListener<ProductInfoResult>() {
            @Override
            public void onComplete(Task<ProductInfoResult> task) {
                if (task.isSuccessful()) {
                    for (ProductInfo productInfo : task.getResult().getProductInfoList()) {
                        Log.i(TAG, "name: "+productInfo.getProductName());
                        Log.i(TAG, "desc: "+productInfo.getProductDesc());
                    }
                } else {
                    Log.e(TAG, task.getException().getMessage());
                }
            }
        });
    }

    private void goBuyProduct(){
        PurchaseIntentReq req=new PurchaseIntentReq();
        req.setPriceType(1);
        req.setProductId("qq");
        Task<PurchaseIntentResult> purchaseIntent = Iap.getIapClient(MainActivity.this).createPurchaseIntent(req);
        purchaseIntent.addOnCompleteListener(new OnCompleteListener<PurchaseIntentResult>() {
            @Override
            public void onComplete(Task<PurchaseIntentResult> task) {
                if (task.isSuccessful()){
                    Status status = task.getResult().getStatus();
                    try {
                        status.startResolutionForResult(MainActivity.this,0);
                    } catch (IntentSender.SendIntentException e) {
                        e.printStackTrace();
                    }
                }else {
                    Log.i(TAG, "onComplete: 失败!!!!!!");
                }
            }
        });

public class MyHmsMessageService extends HmsMessageService {
    private static final String TAG = "MyHmsMessageService";

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        Map<String, String> dataOfMap = remoteMessage.getDataOfMap();
        Log.i(TAG, "onMessageReceived: "+dataOfMap.get("name"));
    }

    public static void subscribe(Context context){
        Task<Void> task = HmsMessaging.getInstance(context).subscribe("aa");
        task.addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void aVoid) {
                Log.i(TAG, "onSuccess: 主题订阅成功");
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(Exception e) {
                Log.i(TAG, "onFailure: 主题订阅失败");
            }
        });
    }

    //主题退订
    public static void unsubscribe(Context context){
        Task<Void> task = HmsMessaging.getInstance(context).unsubscribe("aa");
        task.addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void aVoid) {
                Log.i(TAG, "onSuccess: 主题取消订阅成功");
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(Exception e) {
                Log.i(TAG, "onFailure: 主题取消订阅失败");
            }
        });
    }

  release {
            signingConfig signingConfigs.release
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            signingConfig signingConfigs.release
            debuggable true
        }

 implementation "com.huawei.hms:iap:5.1.0.300"
    implementation "com.huawei.hms:push:5.0.4.302"
    implementation "com.huawei.hms:hwid:5.1.0.301"
    implementation "com.huawei.agconnect:agconnect-core:1.5.2.300"
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值