小米sdk接入

小米 sdk接入主要就注意2点: 登陆 和 支付

其他一些别的操作可以让u3d来做如(切换 退出等)

那么我们现在就说一下小米的登陆

小米的登陆 我们直接让游戏调用login接口就好 里面的具体操作我们android做些处理就好

public void login() {
        MiCommplatform.getInstance().miLogin(MainActivity.this,MainActivity.this);
        }

然后就是登陆一些回调 通知游戏

    public void finishLoginProcess(int arg0, MiAccountInfo arg1) {
        JSONObject obj=new JSONObject();
        switch( arg0 )
        {
              case MiErrorCode.MI_XIAOMI_PAYMENT_SUCCESS:
                    //登陆成功
                    //获取用户的登陆后的UID(即用户唯一标识)
                    long uid = arg1.getUid();
                    //获取用户的登陆的Session(请参考[5.3.3流程校验Session有效性](#8))
                    String session = arg1.getSessionId();

                    try {
                        obj.put("status", 0);//status 为0表示成功,100表示登录失败,200表示取消登陆,300表示登录操作正在进行中,500 表示返回的信息其他 均是登录失败
                        obj.put("uid",uid);
                        obj.put("session", session);
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        //e.printStackTrace();
                    }
                    break;
            case MiErrorCode.MI_XIAOMI_PAYMENT_ERROR_LOGIN_FAIL:
                    // 登陆失败
                    try {
                        obj.put("status", 100);//status 为0表示成功,100表示登录失败,200表示取消登陆,300表示登录操作正在进行中,500 表示返回的信息其他 均是登录失败
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        //e.printStackTrace();
                    }
                    break;
            case MiErrorCode.MI_XIAOMI_PAYMENT_ERROR_CANCEL:
                    // 取消登录
                    try {
                        obj.put("status", 200);//status 为0表示成功,100表示登录失败,200表示取消登陆,300表示登录操作正在进行中,500 表示返回的信息其他 均是登录失败
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        //e.printStackTrace();
                    }
                    break;
            case MiErrorCode.MI_XIAOMI_PAYMENT_ERROR_ACTION_EXECUTED: 
                    //登录操作正在进行中
                    try {
                        obj.put("status", 300);//status 为0表示成功,100表示登录失败,200表示取消登陆,300表示登录操作正在进行中,500 表示返回的信息其他 均是登录失败
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        //e.printStackTrace();
                    }
                    break;        
            default:
                    // 登录失败
                    try {
                        obj.put("status", 500);//status 为0表示成功,100表示登录失败,200表示取消登陆,300表示登录操作正在进行中,500 表示返回的信息其他 均是登录失败
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        //e.printStackTrace();
                    }
                    break;
        }
        UnityPlayer.UnitySendMessage("xx", "xx",
                obj.toString());
    }

登陆完成

下面支付的更简单,我们直接调用pay,然后让游戏中的参数一一和android中的参数一一对应就好

public void pay(String xx, int xx,String xx,String xx,String xx,
            String xx,String xx,String xx,String xx) {
        Log.d("Unity","##--MiSDK.Jar pay start--##");
        final MiBuyInfo miBuyInfo= new MiBuyInfo();
        miBuyInfo.setCpOrderId(UUID.randomUUID().toString());//订单号唯一(不为空)
        miBuyInfo.setCpUserInfo(xx); //此参数在用户支付成功后会透传给CP的服务器
        if(m_pay<0){return;}
        miBuyInfo.setAmount(xx); //必须是大于1的整数,10代表10米币,即10元人民币(不为空)
        Bundle mBundle = new Bundle();
        mBundle.putString( GameInfoField.GAME_USER_BALANCE, xx);   //用户余额
        mBundle.putString( GameInfoField.GAME_USER_GAMER_VIP, xx);  //vip等级
        mBundle.putString( GameInfoField.GAME_USER_LV, xx);           //角色等级
        mBundle.putString( GameInfoField.GAME_USER_PARTY_NAME, xx);  //工会,帮派
        mBundle.putString( GameInfoField.GAME_USER_ROLE_NAME, xx); //角色名称
        mBundle.putString( GameInfoField.GAME_USER_ROLEID, xx);    //角色id
        mBundle.putString( GameInfoField.GAME_USER_SERVER_NAME, xx);  //所在服务器
        miBuyInfo.setExtraInfo( mBundle ); //设置用户信息

        MiCommplatform.getInstance().miUniPay(MainActivity.this, miBuyInfo, MainActivity.this);

        }

完成支付

登陆和支付完成 那么这个接入也相当于做好了,然后进行测试 即可

你可能感兴趣的:(游戏sdk接入)