网络游戏接入小米SDK最佳实践

网络游戏的特征:

  1. 强账号系统,游戏启动时必须登录
  2. 游戏进度记录存储在云端;
  3. 游戏虚拟货币余额、玩家道具装备存储在云端;
  4. 必须有服务器才能玩的游戏;
  5. 常见的卡牌游戏、ARPG等类型游戏;

最佳实践建议:

  1. 用户标识务必使用 getUid()接口获得,禁止使用IMEI或者硬件标识来识别用户,若发现产品会进行下架处理;
  2. 对于网游,最佳登录顺序为:登录小米账号(miLogin) –> 选择游戏区服–>选择角色–> 玩游戏;
  3. 对于网游,为了避免用户账号丢失,请开发者一定要在服务器端记录用户Uid与区服的匹配关系,当用户清除本地游戏数据后,使用相同的小米ID登录,依然能够载入上次登录的区服。当然如果开发者能够标注出哪些区服用户有玩过就更好了;
  4. 为了保护小米用户权益,网络游戏要在创建订单时透传服务器、角色、等级等参数,要保证数值准确真实,否则不允许上架。(必传信息包括:角色、区服、角色ID、虚拟币余额)
  5. 为了保护网游用户账号安全性,网络游戏一定要接入服务器端校验verifySession的接口;
  6. AppId / AppKey不要存储在apk里,这样很容易被反编译;
  7. 小米SDK欢迎页面支持横屏显示,可根据自己游戏的屏幕显示尽量调成一致以免横竖屏切换影响玩家体验。(SDK充值页面暂不支持横屏)
  8. 特别提醒网游的游戏,如果启动游戏需要下载大于10M的资源包时,用户处于非WiFi环境,务必提示用户“推荐使用WLAN下载,检测到您当前WLAN还未打开或连接,是否继续下载?”若无此提示游戏将无法审核上线;
  9. 目前平均网游初始安装包大小70M,超过此值可能会影响用户下载,建议初始安装包在50M以内,之后随着用户玩的场景进行增量下载;
  10. 提交给小米平台的游戏包名必须是唯一的,不能和其他渠道的包名相同,建议在官方包后面增加”.mi”;
  11. 游戏不能显示小米uid,这个uid不是小米ID,是通过小米游戏计费系统转换的ID,因此用户不会认知此ID;
  12. 网游创建充值订单时,先要在游戏服务器端生成一个cpOrderId,然后再由客户端发起充值,因充值流程可能会耗时数分钟,所以当用户充值返回后一定要利用此cpOrderId到CP服务器上进行查询以便确保是否充值成功;此外,如果服务器端收到小米游戏服务器的充值回调,也要通知给客户端,以便客户端及时将虚拟物品给用户。