小米开发者平台SDK接入

来源:互联网 发布:xp系统无法安装软件 编辑:程序博客网 时间:2024/04/28 22:49
1. 创建项目



2.在Activity中添加两个按钮,“登录”和“充值”



3.在AndroidManifest.xml中添加如下权限
    <!-- 这个是SDK需要的权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

4.将小米SDK中的MiGameCenterSDKService.apk 放入项目的assets文件夹中,将SDK_TY_3.0.0.jar 放入项目的libs文件夹中



5.在MainActivity.java的onCreate中对SDK进行初始化
//在类中添加如下变量
Button login;
Button pay;
public static MiAppInfo appInfo;
//在onCreate中初始化SDK
appInfo = new MiAppInfo();
appInfo.setAppId(2698);                                     //这是测试用Id
appInfo.setAppKey("1a45711e-bef6-e2bb-70d9-5044de552c71");  //这是测试用Key
appInfo.setAppType(MiGameType.online);
appInfo.setPayMode(PayMode.custom);
MiCommplatform.Init(this, appInfo);

6.如果使用测试Id和Key,需要更改包名,打开AndroidManifest.xml,更改如下
package="com.example.migamecenrtersdkdemo.online"

7.更改包名后报错,重新引入R即可



8.添加登录按钮响应,调用miLogin,并在MainActivity中添加OnLoginProcessListener接口
//添加OnLoginProcessListener接口
public class MainActivity extends Activity implements OnLoginProcessListener
//login按钮响应
login = (Button)findViewById(R.id.button1);
login.setOnClickListener(new OnClickListener()
{
    @Override
    public void onClick(View arg0) 
    {
        MiCommplatform.getInstance().miLogin(MainActivity.this, MainActivity.this);
    }
});

9.实现OnLoginProcessListener接口中的finishLoginProcess方法
@Override
public void finishLoginProcess(int code, MiAccountInfo arg1) {
      switch( code )
        
        case MiErrorCode.MI_XIAOMI_GAMECENTER_SUCCESS: 
            // 登陆成功 
            break;
        case MiErrorCode.MI_XIAOMI_GAMECENTER_ERROR_LOGIN_FAIL: 
            // 登陆失败 
            break
        case MiErrorCode.MI_XIAOMI_GAMECENTER_ERROR_CANCEL: 
            // 取消登录
            break
        case MiErrorCode.MI_XIAOMI_GAMECENTER_ERROR_ACTION_EXECUTED: 
            //登录操作正在进行中 
            break
        default
            // 登录失败 
            break
        
}

10.运行程序,可以通过小米帐号登录了



11.添加充值,首先初始化订单信息和用户信息
//订单信息
final MiBuyInfoOnline online = new MiBuyInfoOnline();
online.setCpOrderId(UUID.randomUUID().toString());   //订单号唯一(不为空)
online.setCpUserInfo( "cpUserInfo" );                //此参数在用户支付成功后会透传给CP的服务器 
online.setMiBi( 100 );                               //必须是大于1的整数, 10代表10米币,即10元人民币(不为空)
  
//用户信息※必填※
final Bundle mBundle = new Bundle();
mBundle.putString( GameInfoField.GAME_USER_BALANCE, "1000" );      //用户余额
mBundle.putString( GameInfoField.GAME_USER_GAMER_VIP, "vip0" );    //vip 等级
mBundle.putString( GameInfoField.GAME_USER_LV, "20" );             //角色等级
mBundle.putString( GameInfoField.GAME_USER_PARTY_NAME, "猎人" );   //工会,帮派
mBundle.putString( GameInfoField.GAME_USER_ROLE_NAME, "meteor" );  //角色名称
mBundle.putString( GameInfoField.GAME_USER_ROLEID, "123456" );     //角色id
mBundle.putString( GameInfoField.GAME_USER_SERVER_NAME, "峡谷" );  //所在服务器

12.添加pay按钮响应
//pay按钮响应
pay = (Button)findViewById(R.id.button2);
pay.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View v) {
        MiCommplatform.getInstance().miUniPayOnline(MainActivity.this, online, mBundle, 
                new OnPayProcessListener(){
                    @Override
                    public void finishPayProcess(int arg0) {
                        switch(arg0)
                        {
                        case MiErrorCode.MI_XIAOMI_GAMECENTER_SUCCESS: 
                             // 购买成功
                             break;
                        case MiErrorCode.MI_XIAOMI_GAMECENTER_ERROR_PAY_CANCEL:
                             // 取消购买 
                             break;
                        case MiErrorCode.MI_XIAOMI_GAMECENTER_ERROR_PAY_FAILURE: 
                             // 购买失败
                             break;
                        case MiErrorCode.MI_XIAOMI_GAMECENTER_ERROR_ACTION_EXECUTED:
                             //操作正在进行中 
                             break;
                        default :
                             // 购买失败
                             break
                        }  
                    }});
    }});

13.运行程序,首先登录,然后点击充值,接入成功!




http://blog.csdn.net/iuncle/article/details/23833077

0 0
原创粉丝点击