
大致接入流程:
1、查看小米的sdk文档,了解基本的一些信息。
2、熟悉sdk自带的demo例子,了解基本的结构。
3、手写java代码实现小米sdk的接口。
一、初始化小米sdk
在小米开发者创建应用并获取 AppId 、AppKey和AppSecretKey,创建应用时packageName必须以“.mi”为后缀。
将 SDK 包中的 MiGameCenterSDKService.apk 放到应用工程的的 assets 目录下, SDK 的 jar 包放到工程的 libs 下,在 buildpath 中引用,然后对 SDK 进行初始化。
注意: 需要检查下面的一致性,如果不一致会导致调用登录和其它 SDK 接口失败
1.游戏的包名是否与提供给小米后台数据配置的包名一致;
2.AppId与 AppKey是否与申请的一致。
然后在AppActivity实现onCreate调用以下初始化方法
MiAppInfo appInfo = new MiAppInfo();
appInfo.setAppId("AppID");//小米后台数据的AppID
appInfo.setAppKey("AppKEY"); //小米后台数据的AppKEY
appInfo.setAppType(MiAppType.online); // 网游
appInfo.setOrientation(ScreenOrientation.horizontal );//设置sdk横竖屏
2、AndroidManifest.xml中添加SDK 所需要的权限
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="com.xiaomi.sdk.permission.PAYMENT" />
3、小米账户登录调用代码
//可以通过实现OnLoginProcessListener接口来捕获登录结果
MiCommplatform.getInstance().miLogin( context, new OnLoginProcessListener(){
@Override
publicvoidfinishLoginProcess( intcode,MiAccountInfoarg1) {
switch( code ) {
case MiErrorCode.MI_XIAOMI_GAMECENTER_SUCCESS:
// 登陆成功
//获取用户的登陆后的 UID(即用户唯一标识)
long uid = arg1.getUid();
//获取用户的登陆的 Session(请参考 3.3用户session验证接口)
String session = arg1.getSessionId();//若没有登录返回 null
//请开发者完成将uid和session提交给开发者自己服务器进行session验证
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;
}
}
通过上面的一些说明可以大致的完成了初始化的配置。(上面的文档我针对cocos2dx做了简单改动)。
下面贴出来我的AppActivity.java代码,
package org.cocos2dx.cpp;
import org.cocos2dx.lib.Cocos2dxActivity;
import android.os.Bundle;
import com.xiaomi.gamecenter.sdk.MiCommplatform;
import com.xiaomi.gamecenter.sdk.MiErrorCode;
import com.xiaomi.gamecenter.sdk.OnLoginProcessListener;
import com.xiaomi.gamecenter.sdk.entry.*;
public class AppActivity extends Cocos2dxActivity implements OnLoginProcessListener {
//onCreate方法 初始化sdk
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MiAppInfo appInfo = new MiAppInfo();
appInfo.setAppId("小米后台获取的appID");
appInfo.setAppKey("小米后台获取的appkey");
appInfo.setAppType(MiAppType.online); // 网游
appInfo.setOrientation(ScreenOrientation.horizontal );//设置sdk横竖屏
MiCommplatform.Init( this, appInfo );
MiCommplatform.getInstance().miLogin( AppActivity.this, AppActivity.this );
}
//实现OnLoginProcessListener接口中的finishLoginProcess方法
public void finishLoginProcess(int code, MiAccountInfo arg1) {
switch( code )
{
case MiErrorCode.MI_XIAOMI_GAMECENTER_SUCCESS:
// 登陆成功
long uid = arg1.getUid();
//获取用户的登陆的 Session(请参考 3.3用户session验证接口)
String session = arg1.getSessionId();//若没有登录返回 null
//请开发者完成将uid和session提交给开发者自己服务器进行session验证
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;
}
}
}
注意事项:
千万别忘了修改AndroidManifest.xml的包名和小米后台数据配置的包名一致。
再次确认proj.android\assets\目录下加入了MiGameCenterSDKService.apk这个文件。
下一篇:
【小米sdk】cocos2dx网游客户端接入Android渠道MISDK总结二:小米登陆账号UID和SessionId的获取http://www.byjth.com/sdk/46.html
本文地址:https://www.byjth.com/sdk/45.html
版权声明:若无注明,本文皆为“闭眼就天黑专栏_技术博客_个人学习总结”原创,转载请保留文章出处。
- 【MoboSdk】MoboSdk升级问题:Android studio导入MoboSdk打包启动闪退
- 【MoboSdk】cocos2dx越南渠道IOS版MoboSdk接入总结二:Object-C与C++混编获取AccessToken实现登录
- 【小米sdk】cocos2dx网游客户端接入Android渠道MISDK总结一:实现初始化和登录
- 【九游sdk】Android渠道UCSdk实现用户登录会话标识sid 的获取
- 【MoboSdk】cocos2dx越南渠道IOS版MoboSdk接入总结一:实现SDK界面初始化
- 【小米sdk】cocos2dx网游客户端接入Android渠道MISDK总结二:小米登陆账号UID和SessionId的获取
- 【MoboSdk】cocos2dx越南渠道IOS版MoboSdk接入总结三:SDK账号退出及游戏切换账号
版权所有:《闭眼就天黑专栏_技术博客_个人学习总结》 => 《【小米sdk】cocos2dx网游客户端接入Android渠道MISDK总结一:实现初始化和登录》
本文地址:https://www.byjth.com/sdk/45.html
除非注明,文章均为 《闭眼就天黑专栏_技术博客_个人学习总结》 原创,欢迎转载!转载请注明本文地址,谢谢。