小米开发者平台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
- 小米开发者平台SDK接入
- 小米开发者平台SDK接入
- 小米sdk接入
- 小米支付SDK接入注意事项
- 小米SDK接入常见问题汇总【技术】
- air游戏接入小米支付sdk
- 小米游戏中心sdk接入unity
- go语言 服务器接入小米支付SDK
- 跨平台sdk接入总结
- 小米电视支付SDK接入air坑爹之路
- cocos2d-x 移动MM平台SDK接入
- Unity Android SDK支付平台接入流程
- 记接入91平台SDK错误<iOS>
- U3D平台SDK接入的一些经验总结
- Unity Android平台接入支付宝SDK
- 移动广告平台Android SDK接入指南
- android平台接入服务器总结(三)迅雷 多酷 小米
- Android:接入小米流量变现SDK,检查更新SDK,统计SDK
- hibernate注解UUID主键生成策略
- 虚拟机网络设置及Linux远程登录
- Spring最新下载地址
- 在Struts2中使用ValueStack、ActionContext、ServletContext、request、session等
- VC6.0编译器编译优化
- 小米开发者平台SDK接入
- 使用subprocess子进程莫名死掉的问题
- c#如何获取excel单元格的RGB颜色
- ErLang的安装 configure: error: No curses library functions found
- NEU-1452: 滑雪大冒险
- UNIX网络编程卷1 服务器程序设计范式7 预先创建线程,以互斥锁上锁方式保护accept
- java程序性能优化
- 对cocos2dx lua中http请求的简要封装和使用
- js 写txt失败的问题