单机联网模块CP接入规范_V3.2.1

单机联网模块CP接入规范_V3.2.1
单机联网模块CP接入规范_V3.2.1

单机游戏联网模块CP合作模块接口

深圳腾讯计算机系统有限公司

版权所有不得复制

修订记录

日期修订版本修改描述作者审核

2009-8-31 V1.0 初稿Juanerliu

2009-8-31 V1.0 初稿Micahcai

2009-11-13 V1.1 初始化版本号bohrsong

2009-11-19 V1.2 增加对榜单数据获取的描述juanerliu

Bensonchen

2009-12-04 V1.3 修改API 函数说明格式及内容, 增加部

分说明.归类API函数.

Bohrsong

2009-12-4 V1.4 1,修改榜单数据的字符串描述

2,去除末尾联系资料

2009-12-29 V1.5 1.细化一些接口的参数含义Bensonchen

2.颜色设置接口有一些改动

2010-01-15 V1.6 对于CP合包时,对于腾讯提供的类加

了目录结构要求

一些界面UI的优化和美化

Bensonchen

2010-1-27 V1.7 更换示例图片Bohrsong 2010-2-4 V1.8 更新QQForm内容检查说明Bohrsong

2010-2-4 V2.0 更新QQForm接口命名

增加数据接口功能

删除界面颜色设置接口功能Bohrsong Bensonchen

2010-1-15 V2.2 For RPG游戏合作的接口

清理部分老接口

上传积分接口加多参数

GetFeedInfo方法改名,加分类参数,

私有数据结构体回传都带上dataValue

Timtinliu

2010-4-30 V2.3 补充上传积分时的扩展信息描述及示例Bohrsong

2010-5-13 V3.0 完善游戏界面规范章节bohrsong

2010-12-10 V3.2 重构联网模块接口allenlian

2011-01-26 V3.2.1 修正性别定义笔误yihongli

一、概述

腾讯手机QQ单机联网模块为单机游戏KJava版提供了联网模块开发接口,将以jar包的方式为合作方提供相应的接口调用,同时模块采用KJava服务C/S调用的方式响应合作方的请求,真正实现第三方程序可以只做少量的修改即可方便地实现联网功能。

二、目的

在单机游戏中增加联网模块的目的:

1、提供更多的支付方式,拉动收入。

2、增加单机游戏的互动性,为玩家提供更丰富的游戏、社区等体验。

3、挖掘单机游戏更大的商业价值。拓宽CP的利益链。

三、范围

所有合作伙伴在KJA V A平台开发的单机游戏。

四、功能

模块实现的功能如下:

1、增加与游戏相关的辅助功能,包括游戏攻略、积分上传、通关数据等(如游戏中不存在

积分或关卡信息则可现实无此信息)。

2、增加游戏推荐专区,CP游戏推荐板块,CP可以自行推荐自己的游戏(限在QQ游戏中

心上线的游戏)。

3、增加基础社区化功能(交互论坛、个人信息的浏览)。

4、购买游戏道具时选择Q币或者金豆支付

5、积分挑战,排行查询

五、合作流程

1、合作伙伴与腾讯沟通,确定接入的游戏

2、腾讯提供联网模块jar包以及相关规范

3、合作伙伴开发接入

4、腾讯根据合作伙伴提供的单机软件包进行联调测试

5、测试通过后发布上线

六、开发接入

腾讯公司提供联网模块扩展包和Demo程序。

1、UI是在游戏中:合作伙伴通过开发包使用Q币支付、金豆支付、积分关卡信息上传、积分排行查询几个接口。这几个功能一般是在游戏中使用,所以UI和逻辑需要合作伙伴自己调用我们提供的接口来实现。注意这几个接口都是通过先调用对应方法,然后按照指定回调接口notify()中取返回值。因此合作伙伴必须在代码中实现InfoListener接口,并将实现此接口的对象当作一个参数传入模块的构造函数中。

2、UI在腾讯的联网模块中:如果发起挑战,查看个人信息、游戏论坛、游戏攻略、游戏推荐等功能,是模块自身已经做好的功能,这些内容合作伙伴只需执行一个初始化接口,提供总入口菜单,用户进入即可全部使用,不需要合作伙伴开发。

1. 客户端接口函数

数据接口类定义:

1,用户信息

public class UserInfo

{

public String uid; /* 用户ID */

public String nickName; /* 用户昵称 */

public int sex; /* 性别,0:未知,1:女,2:男*/ public int age; /* 年龄 */

public int score; /* 游戏最高分 */

public int status; /* 挑战状态:0:未挑战,1挑战中 */ public int win; /* 胜场 */

public int lost; /* 负场 */

public int honor; /* 荣誉点 */

public int level; /* 用户等级(备用) */

public String dataKey; /* 游戏中私有数据Key值 */

public String dataValue; /* 游戏中私有数据value值 */

}

2,对手信息

public class OppUserInfo

{

public String uid; /* 用户ID */

public String nickName; /* 用户昵称*/

public int sex; /* 性别,0:未知,1:女,2:男 */ public int age; /* 年龄*/

public int score; /* 被挑战的分数*/

public int level; /* 用户等级(备用)*/

public String dataKey; /* 游戏中私有数据的Key */

public String dataValue; /* 游戏中私有数据的Value */

}

3,Player信息

public class PlayerInfo

{

public String uid; /* 用户ID */

public String nickName; /* 用户昵称 */

public int sex; /* 性别,0:未知,1:女,2:男 */

public int age; /* 年龄*/

public String city; /* 归属地 */

public int score; /* 用户分数 */

public int time; /* 获得该分数的时间(整数,秒) */

public int type; /*战报信息的类型, 0:未知 1:好友 2:仇家 3:相近 4:榜单用户(高手)*/

public String dataKey; /* 游戏中私有数据Key值 */

public String dataValue; /* 游戏中私有数据value值 */

}

构造函数

MBoxClient()

入口类构造器,启动模块之前必须先构造该入口类的实例,调用类中的接口

public MBoxClient(MIDlet app,

Display display,

Displayable dis,

InfoListener info,

int w,

int h

int leftSoftKey,

int rightSoftKey,

int gameID,

int cpID,

String channel)

参数说明:

app : 调用模块的运行应用midlet对象

display : 屏幕显示接口对象

dis : 模块调用前,当前屏幕显示类对象

info : 实现InfoListener接口的对象

leftSoftKey :左软键参数值

rightSoftKey:右软键参数值

w : 屏幕宽度

h : 屏幕高度

GameID: 游戏的id

CpID: 合作伙伴cp公司的编号,一般是腾讯事先统一分配

Channel:渠道,暂时可填用空“”

返回值:

描述:

当你调用此函数,是用来获取cp游戏的相关的程序的运行实类对象midlet, 屏幕控制的实例对象display, 以便我们接口程序获取程序运行的控制权,其中Display dis 是我们返回给cp游戏当前的屏幕类对象。

强调,本方法务必在最开始执行,即在调用任何腾讯接口前执行他,以便初始化cpid 和gameid,后续的接口的内部逻辑都需要的。如果这两个值没有初始化,就调用其他接口,对应逻辑都不会成功。

调用需求:

class: MBoxClient

进入联网模块页面

startMBox()

启动模块,直接进入某个页面

public void startMBox(int connType, int pageId)

参数说明:

connType: 联网类型定义

CONN_TYPE_DIRECT_NETWORK 直接联网(一般采用)

pageId: 表示进哪个页面

PAGE_MAIN 专区首页

PAGE_SHOWSCORES 积分排行页

PAGE_USERINFO 个人信息页

PAGE_ONLINE_LIST 在线人员列表页

返回值:

描述:

当函数被调用,屏幕就直接切换至联网模块画面.

调用需求:

class: MBoxClient

数据功能(取一些本地缓存信息,不联网)

getUserInfo()

获取用户信息,包括用户ID号,昵称,性别,当前游戏最高分等。

public UserInfo getUserInfo()

参数说明:

返回值:

类:UserInfo

描述:

用户信息在联网模块内有缓存,因此调用该函数不会进行联网操作。调用该函数前需要预先调用requestData()来联网获取相应数据,如果未预先获取或获取失败,则返回null。

参见requestData()相关介绍。

调用需求:

class: MBoxClient

getOppUserInfo()

获取当前玩家正在挑战的对手玩家用户信息。

public OppUserInfo getOppUserInfo()

参数说明:

返回值:

类:OppUserInfo

描述:

对手用户信息在联网模块内有缓存,因此调用该函数不会进行联网操作。调用该函数前需要预先调用requestData()来联网获取相应数据,如果未预先获取或获取失败,则返回null。

参见requestData()相关介绍。

调用需求:

class: MBoxClient

getPlayersInfo()

获取部分其他玩家战况Feed信息。

public PlayerInfo[] getPlayersInfo()

返回值:

类:PlayerInfo数组,一般小于等于10个

描述:

玩家Feed信息在联网模块内有缓存,因此调用该函数不会进行联网操作。调用该函数前需要预先调用requestPlayerInfo()来联网获取相应数据,如果未预先获取或获取失败,则返回null。

参见requestPlayerInfo()相关介绍。

调用需求:

class: MBoxClient

getServerTime()

获取服务器时间。

public String getServerTime()

返回值:

String类型

描述:

服务器时间在联网模块内有缓存,因此调用该函数不会进行联网操作。调用该函数前需要预先调用requestData()来联网获取相应数据,如果未预先获取或获取失败,则返回null。

参见requestData()相关介绍。

调用需求:

class: MBoxClient

数据交互功能(向腾讯服务器发请求,联网。通过异步回调取结果)requestData()

获取各类信息,调用该方法会联网,从服务端取最新的数据。

public void requestData(int dataType)

参数说明:

dataType: 获取数据的类型

REQUEST_TYPE_USER_INFO 请求个人信息

REQUEST_TYPE_OPP_USER_INFO 请求挑战对手信息

REQUEST_TYPE_SERVER_TIME 请求服务器时间

REQUEST_TYPE_RANK_NEAR 请求相近排名数据

REQUEST_TYPE_RANK_FRIEND 请求好友排名数据

REQUEST_TYPE_RANK_WEEK 请求周榜排名数据

返回值:

描述:

调用该函数会进行联网操作。不进入联网模块页面。

其中请求个人信息,挑战对手信息,相近排行,好友排行,需要玩家先登录。如果当前玩家已经登录,则返回相应信息,如果当前玩家未登录(包括登录后注销),则取不到。

通过回调接口InfoListener(notify方法)返回服务器响应。只有在得到服务器响应之后才可从缓存中取得相应数据。相应的取缓存函数为:

取个人信息getUserInfo()

取挑战对手信息getOppUserInfo()

取服务器时间getServerTime()

取相近排名数据ResponseInfo.getMessage() 详见notify()

取好友排名数据ResponseInfo.getMessage() 详见notify()取周榜排名数据ResponseInfo.getMessage() 详见notify()

其中的排名数据是一个String对象,其数据格式为: "分数值1|昵称1|#|分数值2|昵称2|#|……|#|"。

分隔符:

|#| : 分隔不同记录

| : 分隔同一记录内两个字段,第一个字段是分数,第二个字段是用户昵称

排序:

按照用户积分从高到低降序排列。

数据示例: "130028|黑小麦|#|24677|王志彬|#|9016|泡泡|#|2539|kiki~|#|"

ResponseInfo.getCode()取到的返回内容意义如下:

0:调用成功

-1:调用失败

调用需求:

class: MBoxClient

requestPlayerInfo()

获取部分其他玩家战况信息,提供给当前玩家进行挑战。

public void requestPlayerInfo(int type, int size, int withDataValue) 参数说明:

Type:表示取得的战况列表类型 0:未知

1:好友

2:仇家

3:相近

4:榜单用户(高手)

size:表示取多少条,返回的可能等于这个,也可能少于这个,不会多于这个

withDataValue: 返回的PlayerInfo信息是否带上dataValue内容, 0: 不带,

1:带

返回值:

描述:

调用该函数会进行联网操作。不进入联网模块页面。

该函数用于获取与当前登录用户相关的一些PlayerInfo信息,外部调用方可一次性获取一些指定的PlayerInfo信息,然后选择集中展示,或轮播的方式推给用户。并可以直接挑战对方。

通过回调接口InfoListener(notify方法)返回服务器响应,具体参InfoListener 说明。只有在得到服务器响应之后才可以从缓存中取得PlayerInfo数据,使用的方法是getPlayersInfo()。

ResponseInfo.getCode()取到的返回内容意义如下:

0:调用成功

-1:调用失败

调用需求:

class: MBoxClient

joinChallenge()

参加挑战。

public void joinChallenge(String oppUin, String dataKey ,int oppScore) 参数说明:

oppUin: 挑战对手的ID号

dataKey: 游戏的私有数据,例如某赛道,某音乐等

oppScore: 挑战对手的分数

返回值:

描述:

调用该函数会进行联网操作,并进入联网模块页面。

如果用户处于未登录状态,会进入登录页面;如果用户已处于登录状态,会自动返回原游戏中,并通过InfoListener接口的notify()方法返回服务器响应。

通过回调接口InfoListener(notify方法)的回调取得服务器响应数据,具体参考

InfoListener和ResponseInfo说明。

ResponseInfo.getCode()取到的返回内容意义如下:

0 : 参加挑战成功

-1: 参加挑战失败,上次挑战未完成

-2: 参加挑战失败,后台接口异常或超时

-3: 参加挑战失败,网络异常

-4: 参加挑战失败,其他未知错误或异常

调用需求:

class: MBoxClient

giveUpChallenge()

放弃当前的挑战。

public int giveUpChallenge(String oppUin)

参数说明:

oppUin: 正在挑战的对手UIN

返回值:

描述:

调用该函数会进行联网操作,并进入联网模块页面。

在游戏中放弃挑战。一个可能的场景是用户在游戏中的Feed看到其他玩家的战况信息,点击挑战,发现挑战失败,于是,我们可以获取该玩家正在挑战的对手,并放弃当前挑战,这样才可以进行挑战新的对手。

如果用户处于未登录状态,会进入登录页面;如果用户已处于登录状态,会自动返回原游戏中,并通过InfoListener接口的notify()方法返回服务器响应。

通过回调接口InfoListener(notify方法)的回调取得服务器响应数据,具体参考

InfoListener和ResponseInfo说明。

ResponseInfo.getCode()取到的返回内容意义如下:

0:放弃成功

-1:放弃失败,该用户没有挑战的对手

-2:放弃失败,后台接口异常或超时

-3:放弃失败,网络异常

-4:放弃失败,其他未知错误或异常

调用需求:

class: MBoxClient

uploadUserData()

该函数用于上传用户数据,包括:游戏积分,挑战对手,对手分数,私有数据,扩展数据等。调用方可根据游戏特点,灵活选择参数进行上传。

public static void uploadUserData(

int curScore,

String oppUin,

int oppScore,

int winner,

String dataKey,

String dataValue,

String extInfo)

参数说明:

curScore :

当前玩家在游戏中的积分值(CP注意,用户游戏得分大于0,才给用户提供上

传,如果用户游戏玩的差,最终得的是0分,则不提供积分上传功能给他们)oppUin :

对手的伪QQ号码,(如果没有挑战谁,则用空串“”)

OppScore :

对手的分数,(如果没有挑战谁,则用0分)

Winner :

如果有挑战谁,表示自己胜利还是失败

0 自动判断(服务器根据分数判断,)

1:挑战者胜利

2:挑战者失败

dataKey :

上传积分时,可选的私有数据Key值

dataValue :

上传积分时,可选的私有数据Value值

extInfo :

通用的附加扩展信息,可以上传成就,装备,奖励等游戏中特有东西,并会在Feed中传播。

字符串格式:

类型:名称|类型:名称

其中多个内容分隔符为竖线”|”,类型和名称分隔符为冒号”:” ,分隔符均为

半角符号,为避免格式错乱,类型和名称本身不可包含上述两个分隔符。

支持的类型:

1:成就【示例:1:富甲天下】

2:装备【示例:2:青龙宝刀】

4:奖励【示例:4:金币100个】

255: 其他,特殊类型不属于上面类别或者不希望系统的解析,希望使用纯文

字来描述的物品或方法【示例: 255:青龙宝刀一把】

示例1:

extInfo=”1:富甲天下”

Feed内容可能为:

(1小时前)在游戏XXXX中获得了xxxx分!并得到成就【富甲天下】

示例2:

extInfo=”1:富甲天下|2:青龙宝刀”

Feed内容可能为:

(1小时前)在游戏XXXX中获得了xxxx分!并得到成就【富甲天下】、装备【青

龙宝刀】

如果你不想系统加上成就,装备等字样,可以用255类型来传,但是一定要保

证Feed信息的可读性。

示例3

extInfo=”255:富甲天下成就|255: 青龙宝刀一把”

Feed内容可能为:

(1小时前)在游戏XXXX中获得了xxxx分!并得到富甲天下成就、青龙宝刀一

注意事项:

1,请完全按照指定格式传送字符,并详细测试各种可能的组合。

2,单个成就,装备名称请注意表述清晰简洁,控制在5个汉字左右为佳。

3,用户一次上传积分时,附加信息不易过多,1~2个为宜,字数太多一方面影响界面的美观,另一方面可能会造成Feed读写失败,影响用户体验。

返回值:

描述:

调用该函数会进行联网操作,并进入联网模块页面。

本函数是用来上传积分或挑战等其他相关信息。如果用户处于未登录状态,会跳转到模块的登录页面;如果用户已处于登录状态,会自动返回原游戏中,并通过InfoListener 接口的notify()方法返回服务器响应。

通过回调接口InfoListener(notify方法)的回调取得服务器响应数据,具体参考

InfoListener和ResponseInfo说明。

ResponseInfo.getCode()取到的返回内容意义如下:

0:上传成功

-1:上传失败

调用需求:

class: MBoxClient

支付功能

***************************************************************** 支付流程说明:

用户在游戏中选择了商品和支付方式,确认支付后如果用户没有登录则会跳转到模块的登录验证页面,登录验证成功后才会成功发送支付请求到Server,模块一收到Server 应答就会跳转回游戏界面,同时模块回调InfoListener接口。

***************************************************************** unifyPay

支付函数

public void unifyPay(int payType,

int amount,

String goodsID,

String goodsname,

String extInfo)

参数说明:

payType :

支付类型 1: Q币Q点支付方式

2:元宝支付方式

现在模块仅支持Q币Q点的支付方式

amount :

所购买商品货物需要支付Q币,务必这里注意把数字转化为Q点

比如扣2Q币,则参数请使用20(不是2)。 4Q币,则使用40

goodsID :

所购买商品货物的ID值,

ID格式:cpId+gameId+货物编号(游戏商自己定,一般2位数)

例如 cpid = 15, gameid = 36

goodsID就是1536XX(例如:153601、153602、153603),goodsname :

商品名称(预留)

extInfo :

附加扩展信息(预留)

返回值:

描述:

调用该函数会进行联网操作,并进入联网模块页面。

本函数是用于用户对商品货物支付所需Q币的执行函数。如果用户处于未登录状态,会跳转到模块的登录页面;如果用户已处于登录状态,会自动返回原游戏中,并通过InfoListener接口的notify()方法返回服务器响应。

通过回调接口InfoListener(notify方法)的回调取得服务器响应数据,具体参考

InfoListener和ResponseInfo说明。

ResponseInfo.getCode()取到的返回内容意义如下:

0:支付成功

-1:支付失败

调用需求:

class: MBoxClient

接口类InfoListener继承功能

public interface InfoListener

{

public final static int NOTIFY_TYPE_LOGIN = 0x01; /* 登陆函数回调*/

public final static int NOTIFY_TYPE_VERIFY = 0x02; /* 验证函数回调*/

public final static int NOTIFY_TYPE_UPLOAD_DATA = 0x03; /*上传数据*/

public final static int NOTIFY_TYPE_PAY_QBQD = 0x04; /*Q币支付*/ public final static int NOTIFY_TYPE_PAY_YB = 0x05; /*元宝支付*/ public final static int NOTIFY_TYPE_GET_TIME = 0x06; /*取服务端时间*/

public final static int NOTIFY_TYPE_GET_USER = 0x07; /*取自己信息*/

public final static int NOTIFY_TYPE_GET_OPP = 0x08; /*取对手信息*/

public final static int NOTIFY_TYPE_GET_PLAYERS = 0x09; /*取各种feed信息*/

public final static int NOTIFY_TYPE_JOIN_CHALLENGE = 0x0A; /*挑战回调*/

public final static int NOTIFY_TYPE_GIVEUP_CHALLENGE = 0x0B; /*取消挑战回调*/

public final static int NOTIFY_TYPE_GET_RANK = 0x0C; /*取各种排行信息*/

public final static int NOTIFY_TYPE_RETURN_GAME = 0x0D; /*页面中回到游戏*/

public void notify(int status, ResponseInfo obj);

}

notify()

实现监听接口的通知函数

public void notify(int status, ResponseInfo obj)

参数说明:

status :

表示哪个远程方法触发的回调,如之前调用过

requestData(REQUEST_TYPE_SERVER_TIME) //请求服务器时间则服务器端传回数据时,会调用notify()方法,其中

status = NOTIFY_TYPE_GET_TIME

Obj :

ResponseInfo对象,服务端返回结果存放处

ResponseInfo类具有以下几个方法:

getCode() 返回消息代号 0:请求完成无异常其余:异常 getSubCode() 返回消息子代号

getMessage() 返回String通知内容

返回值:

描述:

此函数是用来获取诸如积分上传,Q币支付,查积分排行等几个有联网的接口调用返回结果, 以及些相关附加信息. (特别注意) 这个方法在回调接口中被调用,当服务端返回数据就会触发回调,但是CP在调用时也注意防止意外情况,需要设置一个超时(例如5秒),以防止网络卡,而回调方法一直没被触发,使程序一直卡在那里取不到返回

合作伙伴需要在自身的类中实现InfoListerner接口,并重写notify()函数来执行相关的需要的操作。可以参考一下例子:

public class gameCanvas extends Canvas implements..,InfoListener {

....

//初始话函数:

private void Initial()

{

MBoxClient mbox = new MBoxClient(appStance,

display,

this,

this,

getWidth(),

getHeight(),

-6,

-7,

...);//构造MBoxClient类实例mbox.requestData(MBoxClient.REQUEST_TYPE_RANK_WEEK);//排行榜请求

}

//实现监听接口的通知方法,异步回调

public void notify(int status, ResponseInfo obj)

{

//排行榜请求回调

if(status==InfoListener.NOTIFY_TYPE_GET_RANK) {

int result = obj.getCode();

if(result == 0)//操作成功

{

//游戏自己处理结果信息,可以考虑展示描述信息

String rankInfo = obj.getMessage();

}

else if(result[0].equals("-1"))

{

//操作失败,检查错误

}

}

//...其他类型回调处理

}

调用需求:

class: MBoxClient

获取模块状态功能

isInForum

获取当前论坛状态

public boolean isInForum()

参数说明:

返回值:

返回值类型 :

boolean

返回值说明:

true : 用户在论坛状态

false : 反之

描述:

此函数是用来查询当前用户是否在论坛的状态.

调用需求:

class: MBoxClient

isLogin()

获取当前登录状态

public boolean isLogin()

参数说明:

返回值:

返回值类型 :

boolean

返回值说明:

true : 用户在登录状态

false : 反之

描述:

此函数是用来查询用户是否在登录状态.

调用需求:

class: MBoxClient

2. 模块使用说明

将联网模块扩展jar包放到工程根目录,引入到游戏工程,并与游戏一起打包。

但是注意:千万不要将扩展包参与游戏代码一起混淆,否则有可能导致模块不可用或者出现不可预知的问题。

打包小技巧:先正常混淆游戏包,但是不要把MBoxClient的资源放进去。等混淆过了再重新打包,把MBoxClient的资源打包到游戏JAR文件里去,推荐用ANT打包。

使用的地方构造入口类MBoxClient的实例,通过实例调用如上说明的接口

进入游戏专区例子:

int cpid=11; //CPID,腾讯分配给CP的一个编号ID

int gameid=48; //GAMEID,CP给游戏分配的编号ID

String channel=””; // 渠道信息

MBoxClient qbox = new MBoxClient(appStance, display, this, this, width, height, -6, -7, gameid,cpid, channel);

……

qbox. startMBox(MBoxClient.PAGE_MAIN); // 例如进入和展示专区首页

…..

特别注意:

模块中有几个异步方法参数中都传了一个回调接口,是用来取返回值的,这几个方法执行后,取返回内容,是在终端模块包收到服务端返回数据自动回调infoListner接口的notify去取,CP在这个方法里去处理,必须加上一个超时限制(例如5~10秒),以免网络问题导致回调函数没有被调用,界面僵死。

3. 游戏包自检

由于联网模块可能会进行更新和升级,为了避免每次客户端升级,都找合作伙伴重新去合游戏包,所以合作伙伴在初次合包时,保留腾讯的类在原目录(大部分腾讯已做了混淆),且不要再混淆。腾讯在更新联网模块时,可自行替换操作,不用再发新版jar给合作伙伴,合作伙伴去合包操作。这样提高配合的效率。

4.1结构检查:

典型的例子格式:

4.2 内容检查

比较合成后的游戏包与合成前的QQMBoxClient包内容,进一步确认com.tencent.mbox文件夹下内容是否发生改变,如下图:

如果你经过比较发现两者文件完全一致,那么恭喜你,你的设置完全正确,否则就需要检查一下你的混淆合包设置了。

七、游戏界面规范

1、主菜单

主菜单的各频道入口。见如下图示:

1)游戏主菜单:进入游戏开始的主界面,需要有3个入口QQ社区、积分榜单(固定名称)、

QQ游戏中心(固定名称)。位置请放在菜单上方。

QQ社区点击后跳转到联网模块首页。

积分榜单点击后在游戏中显示积分排行。(见第五点)

QQ游戏中心的位置可以放到菜单偏下的位置,不需要太明显。点击跳转到统一的外部链接。

2)可选项:如果游戏有设定专门的挑战专区,可以在菜单增加挑战模式的入口(名字可以

根据游戏更改,比如叫PK竞技场、武斗大厅等等)

物联网信息安全期末考试重点

物联网信息安全期末考试重点 考前九章: 1、单选15x2’ 2、填空7x2’ 3、名词解释5x3’ 4、简答5x5’ 5、论述1x16’(短文500左右) 一、散的知识 1、物联网可划分成哪几个层次? 感知层、传输层、处理层、应用层 2、物联网人与物、物与物之间通信方式? 综合利用有线和无线两者通信 3、物联网核心基础设施是? 网络,传感器,控制器,物理设备 6、安全协议哪些用于应用层?哪些用于传输层? 传输层:IPSEC协议、TLS协议、VPN、安全套接字层协议(SSL)、安全外壳协议(SSH); 应用层:Web安全协议、电子邮件安全协议、门户网站、安全电子交易(SET)。

7、机密性的服务包括哪些? 文件机密性、信息传输机密性、通信流的机密性。 8、防火墙+VPN+入侵检测+访问控制? VPN(Virtual Private NetWork,虚拟专用网络)是一种在公用网络上建立专用网络的技术。整个VPN网络的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络服务商所提供的网络平台之上的逻辑网络。 VPN可以在防火墙与防火墙或移动的Client间对所有网络传输的内容加密,建立一个虚拟通道,让两者间感觉是在同一个网络上,可以安全且不受拘束地互相存取。 防火墙(Firewall),也称防护墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网(US5606668(A)1993-12-15)。它是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。 入侵检测(Intrusion Detection),顾名思义,就是对入侵行为的发觉。他通过对计算机网络或计算机系统中若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。 访问控制是给出一套方法,将系统中的所有功能和数据标识出来,组织起来,托管起来,然后提供一个简单的唯一的接口,这个接口的一端是应用系统一端是权限引擎。权限引擎所回答的只是:谁是否对某资源具有实施某个动作(运动、计算)的权限。返回的结果只有:有、没有、权限引擎异常。

物联网安全技术国家标准

物联网安全技术国家标准 2018年12月28日,全国信息安全标准化技术委员会归口的27项国家标准正式发布,涉及到物联网安全的有: GB/T 37044-2018 《信息安全技术物联网安全参考模型及通用要求》 GB/T 36951-2018 《信息安全技术物联网感知终端应用安全技术要求》 GB/T 37024-2018 《信息安全技术物联网感知层网关安全技术要求》 GB/T 37025-2018 《信息安全技术物联网数据传输安全技术要求》 GB/T 37093-2018 《信息安全技术物联网感知层接入通信网的安全要求》 再也不会有人说,IOT安全国家没有标准了。 国家标准的出台,非常不易,值得行业相关人士仔细品读,比如物联网安全参考模型及通用要求》从2014年信安标委就开始着手,到2019年7月实施,花了5年多时间。我们来看下标准中说的物联网安全参考模型: 上面这个图也就是将通用参考模型和安全要求全都画上去了。物联网安全架构是从安全防护需求角度描绘物联网系统安全功能。物联网安全措施是从实际实施的角度描述物联网系统安全因素。措施和架构都分别有基础设施+安全技术来保障,共同支撑物联网安全对象。物联网安全对象包括但不限于智慧医疗,智慧交通,智慧安防,智慧旅游,智慧政府,智慧社区,智慧家庭等。 其他的安智客也不做解读了,现在还是草案。 值得注意的是: 物联网信息系统中感知终端的安全技术要求分为基础级和增强级两类。感知终端至少应满足基础级安全技术要求;处理敏感数据或遭到破坏对人身安全、环境安全带来严重影响的感知终端,或GB/T 22240-2008规定的三级以上物联网信息系统中的感知终端应满足增强级要求。 物联网数据传输安全技术要求也分为基础级和增强级两类。处理一般性数据传输应满足基础级安全技术要求;处理重要数据、敏感数据,涉及重大安全问题的数据传输应满足增强级安全技术要求,或参考等级保护或其他相关标准中安全等级划分内容。 物联网感知层接入信息网络的安全技术要求中基础级和增强级,比如对于设备标识,基础级要求是信息网络接入系统中的设备应具备可用于通信识别的物联网系统中的唯一标识。增强级要求是:并且该标识具备硬件防篡改保护。 但在物联网感知层网关安全技术要求中并不分级,这是因为物联网网关实现感知网络与通信网络,以及不同类型感知网络之间的协议转换、互联及设备管理功能,是物联网安全的薄弱环节同时也是重要组成部分。 正式的标准文本估计要过段时间从https://www.360docs.net/doc/a417421138.html,/fuwu/bzxxcx/bzh.htm上看到。

信息安全技术物联网数据传输安全技术要求-全国信息安全标准化技术

《信息安全技术物联网数据传输安全技术要求》 国家标准编制说明 一、工作简况 1.1任务来源 物联网被认为是下一代IT潮流,设备将能够通过网络传输客户和产品数据。汽车、冰箱和其他设备连接物联网后,都可以产生并传输数据,指导公司的产品销售和创新。同时,消费者也可以使用连接物联网的设备收集自己的信息,比如现在的智能手环可以收集每天走多少步,心跳次数和睡眠质量等数据。 目前,物联网领域标准不一,让物联网市场碎片化。例如智能家居系统使用一套标准,医疗健康系统优势一套标准,甚至同样的领域,厂商的软件也指支持自己的设备。没有厂商愿意生产支持所有设备的通用程序,因此,集成数据和创建无缝的客户体验就成了难题。特别地,物联网安全标准的缺乏也让用户担心不同的设备如何保护客户数据的隐私和安全。隐私和安全是市场的敏感区域,如果物联网不能够保护好数据,很可能陷入危险的境地。” 有鉴于此,为了推进物联网产业在中国快速、健康的发展,2014年12月,全国信息安全标准化技术委员会将“信息安全技术物联网数据传输安全技术要求”课题下达给北京工业大学。 本标准工作组由北京工业大学、中国电子技术标准化研究院、中央财经大学、公安部第三研究所、中国科学院软件研究所、北京邮电大学、西安电子科技大学、无锡物联网产业研究院等组成。 本项目最终成果为:《信息安全技术物联网数据传输安全技术要求》国家标准。

1.2主要工作过程 主要工作过程如下: 1)2015年3-4月,课题组结合各参与单位的意见和实际系统的安全测评,进行任务研究分工,研究国内外相关标准内容,结合实际情况和各成员返回意见对标准草案编制方案进行了初步规划。 2)2015年5月,明确标准研制思路,项目组编制标准草案。 3)2015年6月,组织了标准草案研讨会,讨论已制定内容,根据研讨会各成员专家意见对内容进行完善。 4)2015年6月,进行信安标委专家研讨会,收集整理专家组修改意见,对草案下一步写作及修改内容进行制定。 5)2015年7月,进行第二次成员单位研讨会,讨论信安标委专家研讨会会议内容及修改办法。 6)2015年6-9月,调研国内外物联网现状,与成员单位物联网企业进行交流调研,进行资料收集整理。 7)2015年9-12月,整理现有资料和调研结果,根据国内外物联网信息与安全技术标志研究报告。 8)2016年1月,与公安物联网小组进行研讨会,交换意见。 9)2016年2月,结合目前所有研究结果,对草案内容进行补充,按照信安标委专家要求尽快形成标准草案稿,征求意见表,编制说明。 10)2016年3月-2017年3月,结合目前研究现状和各专家意见,对草案进行修改完善,形成征求意见稿。

信息安全技术物联网安全参考模型及通用要求-全国信息安全标准化

国家标准《信息安全技术物联网安全参考模型及通 用要求》编制说明 一、工作简况 1.1任务来源 为促进我国物联网技术健康发展,确保物联网系统安全可靠,全国信息安全标准化技术委员会于2014年下发了委托开展物联网安全参考模型及通用要求标准制定工作的相关文件,名称为“信息安全技术物联网安全参考模型及通用要求”,国标计划号为20151593-T-469,信安标委计划号为2014bzzd-WG5-010。 该标准由中国电子技术标准化研究院牵头承担研制工作,参与单位包括北京工业大学、国家信息技术安全研究中心、国家网络与信息系统安全产品质量监督检验中心、无锡物联网产业研究院等单位。 1.2主要工作过程 主要工作过程如下: 1)2014年6月,成立项目组,联系各个参与单位,进行任务分工和任务组织;研究现有国内外物联网技术及安全相关标准,分析各自特点,学习借鉴,包括《信息技术传感器网络第1部分:参考体系结构和通用技术要求》(GB/T 30269.1-2015 )、《信息技术传感器网络第601部分:信息安全:通用技术规范》(GB/T 30269.601-2016 ),《推荐的联邦信息系统和组织的安全控制措施》(NIST SP 800-53)等标准。 2)2014年7-9月,项目组先后到网神信息技术(北京)股份有限公司、中国信息通信研究院、北京信息安全测评中心、大唐移动通信设备有限公司等多个单位进行了实地调研,并与物联网相关技术人员进行了座谈,掌握了物联网安全的基本需求。 3)2014年10-12月,项目组形成了标准草案框架,明确了标准初步研制思路,形成了标准初步草案。 4)2015年3月,项目组组织召开了行业专家讨论会,听取了来自启明星辰、北京神州绿盟信息安全科技股份有限公司等行业专家对标准草案的意见。 5)2015年4月,组织了标准草案研讨会,进一步对标准制定内容进行讨论,项目组根据专家意见对标准内容进行了完善,根据已有标准《物联网总体框架与

物联网信息安全知识点.docx

第一章 物联网的安全特征: 1,感知网络的信息采集、传输与信息安全问题。 2 ,核心网络的传输与信息安 全问题。 3,物联网业务的安全问题。 物联网从功能上说具备哪几个特征 1,全面感知能力,可以利用 RFID、传感器、二维条形码等获取被控 / 被测物体的 信息。 2,数据信息的可靠传递,可以通过各种电信网络与互联网的融合,将物体的 信息实时准确的传递出去。 3,可以智能处理,利用现代控制技术提供智能计算方法,对大量数据和信息 进行分析和处理,对物体实施智能化的控制。 4,可以根据各个行业,各种业务的具体特点形成各种单独的业务应用,或者整 个行业及系统的建成应用解决方案。 物联网结构应划分为几个层次 1,感知识别层 2 ,网络构建层 3 ,管理服务层 4,综合应用层概 要说明物联网安全的逻辑层次 物联网网络体系结构主要考虑3 个逻辑层,即底层是用来采集的感知识别层, 中间层数据传输的网络构建层,顶层则是包括管理服务层和综合应用层的应用中 间层 + 物联网面对的特殊安全为问题有哪些 1 ,物联网机器和感知识别层节点的本地安全问题。 2,感知网络的传输与信息安 全问题。 3,核心网络的传输与信息安全问题。 4,物联网业务的安全问题。信息 安全:是指信息网络的硬件软件及其系统中的数据受到保护,不易受到偶然的或 者恶意的原因而遭到破坏、更改、泄露,系统连续可靠的运行,信息服务不中断。 (上课时老师让抄下来的) 物联网的信息安全问题将不仅仅是技术问题,还会涉及许多非技术因素。下述几 个方面的因素很难通过技术手段来实现: (1)教育:让用户意识到信息安全的重要性和如何正确使用物联网服务以减 少机密信息的泄露机会; (2)管理:严谨的科学管理方法将使信息安全隐患降低到最小,特别应注意 信息安全管理; (3)信息安全管理:找到信息系统安全方面最薄弱环节并进行加强,以提高 系统的整体安全程度,包括资源管理、物理安全管理和人力安全管理; (4)口令管理:许多系统的安全隐患来自账户口令的管理; 物联网结构与层次 ①感知识别层:涉及各种类型的传感器、 RFID标签、手持移动设备、 GPS终端、 视频摄像设备等;重点考虑数据隐私的保护;②网络构建层:涉及互联网、无线传感 器网络、近距离无线通信、3G/4G通信网络、网络中间件等;重点考虑网络传输安; ③管理服务层:涉及海量数据处理、非结构化数据管理、云计算、网络计算、高 性能计算、语义网等;重点考虑信息安全;④综合应用层:涉及数据挖掘、数据 分析、数据融合、决策支持等。重点考虑应

物联网信息安全

物联网信息安全(复习思考题) 1、信息安全的基本属性有哪些? 答:机密性、完整性、可用性、真实性、不可抵赖性。 2、私钥密码体制和公钥密码体制的区别是什么? 答:公钥密码体制的加密和解密采用不同的密钥。私钥密码体制的加解密采用相同的密钥。这是公钥密码体制和私钥密码体制最大的区别。 3、哪些密码体制属于私钥密码体制?它们的分组长度和密钥长度各是多少? 答:数据加密标准(DES):明文、密文分组长度:n=64,密钥长度:l=56 国际数据加密算法(IDEA):明文、密文分组长度:n=64,密钥长度:l=128 高级数据加密标准(AES):明文、密文分组长度:n=128,192,256,密钥长度:l=128,192,256 4、什么叫分组密码?分组密码有哪几种工作模式? 答:将明文消息分为包含n个符号的组,用密钥k依次对每个明文分组进行加密,得到对应的密文组的密码体制。工作模式:电子密码本模式ECB、密文分组链接模式CBC、输出反馈模式OFB、密文反馈模式CFB、计数器模式CTR。 5、什么是公钥密码体制?画出公钥密码体制示意图。 答:在公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,加密密钥(公开密钥)向公众公开,谁都可以使用,解密密钥(秘密密钥)只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,顾其可称为公钥密码体制。 6、对于RSA公钥密码体制,已知p=7,q=11。 (1)已知私钥d=37,求公钥e。 (2)设明文x=53,求密文y。 (3)设密文y=21,求明文x。 答:(1)13(2)25(3)21 7、加密函数和Hash函数在信息安全中各有什么作用? 答:密码技术主要保证数据的机密性。Hash函数能保证数据的完整性和认证性。 8、解释MD5、SHA-1、MAC的中文意义。 答:MD5(message digest,消息摘要)第5版。安全Hash算法SHA-1(secure hash algorithm)第1版。带

物联网信息安全技术研究

5联网https://www.360docs.net/doc/a417421138.html, 0引言 物联网是在计算机互联网的基础上将各种信息传感设备,比如射频识别(RFID),红外传感器,全球定位系统,激光扫描器等各种信息传感设备与互联网结合起来构成的一个巨大网络,来进行信息的通信和交流,以实现对物品的识别,跟踪,定位和管理,即“internetofthings”。它是接下来网络发展的主要方向,具有全面感知,可靠传递,智能化处理的特点。所以物联网是互联网,传感网,移动网络等多种网络的融合,用户端由原来的人扩展到了任何的物与物之间都可进行通信以及信息的交换。但是随着这些网络的融合以及重新构成的统一的新的网络,使网络入侵,病毒传播等影响安全的可能性范围越来越大,它存在着原来多种网络已有的安全问题,还具有它自己的特殊性,如隐私问题,不同网络间的认证,信息可靠传输,大数据处理等新的问题将会更加严峻。所以在物联网的发展过程中,一定要重视网络安全的问题,制定统一规划和标准,建立完整的安全体系,保持健康可持续发展。 1物联网的安全特性 物联网按照一般标准分为三个层次:应用层,网络层,感知层。应用层主要是计算机终端,数据库服务器等,进行数据的接收,分析和处理,向感知系统其他终端下达指令。网络层是依靠现有的网络,如因特网,移动网络等将应用层和感知层之间的通信数据进行安全可靠的传递,类似于人体的神经系统。感知层主要包含一些无线传感设备,RFID标签和读写器,状态传感器等,类似于人体的感官。虽然各层都具有针对性较强的密码技术和安全措施,但相互独立的安全措施不能为多层融合一起的新的庞大的物联网系统解决安全问题,所以我

们必须在原来的基础上研究系统整合后带来的新的安全问题。 应用层支撑物联网业务有不同的策略,如云计算,分布式系统,大数据处理等等都要为相应的服务应用建立起高效,可靠,稳定的系统,这种多业务类型,多种平台,大规模的物联网系统都要面临安全架构的建立问题。 网络层虽然在因特网的基础之上有一定的安全保护能力,但在物联网系统中,由于用户端节点大量增加,信息节点也由原来的人与人之间拓展为物与物之间进行通信,数据量急剧增大,如何适应感知信息的传输,以及信息的机密性,完整性和可用性如何保证,信息的隐私保护,信息的加密在多元异构的物联网中显得更加困难。 感知层信息的采集,汇聚,融合,传输和信息安全问题,因为物联网的感知网络种类复杂,各个领域都有可能涉及,感知节点相对比较多元化,传感器功能简单,无法具有复杂的安全保护能力。 2感知层的安全问题 由于应用层和网络层我们相对比较熟悉,而感知层是物联网中最能体现物联网特性的一层,信息安全保护相对比较薄弱的议程,我们了解一下感知层的安全问题。 感知层主要通过各类传感器和设备从终端节点收集信息,用传感器来标识物体,可无线或远程完成一些复杂的操作,节约人力成本。而物联网中这些传感器或设备大多安装在一些无人监控的地点,可以轻易接触或被破坏,极易被干扰,甚至难以正常运行,或被不法分子进行非法控制。 比如我们在物联网中常见的RFID系统,它主要设计用来提高效率,降低成本,由于标签成本的限制,也很难对起采用较强的加密方式。并且它的标签和阅读器采取无线的非接触方式,很容易受到侦听,导致在数据的收集,传输和处理过程中都面临严重的安全威胁。RFID系统一般部署在户外环境,容易受到外部影响,如信号的干扰,由于目前各个频带的

物联网感知设备安全通用技术要求草案-全国信息安全标准化技术

《信息安全技术物联网感知终端应用安全技术要求》编制 说明 一、任务来源、起草单位,协作单位,主要起草人 2009年8月7日,温家宝总理在无锡考察时提出“感知中国”的概念。北京、江苏等地纷纷提出智慧城市的规划,物联网应用广泛开展,物联网安全成为焦点问题。 北京信息安全测评中心自2011年就开展物联网安全研究,包括《物联网及其应用安全防护方法研究》、《北京市政务物联数据专网安全测试研究》、《北京市政务物联数据专网安全性测试》、《物联网安全测试方法和测试平台》等。 在上述工作的基础上,北京信息安全测评中心在2013年11月向市质监局申报了《物联网感知设备安全通用技术要求》并得到批准。根据《关于印发2014年北京市地方标准制修订项目计划的通知》(京质监标发〔2014〕36号),《物联网感知设备安全通用技术要求》列入了2014年北京市地方标准制修订项目计划,是一类项目(即标准制定项目),是一项推荐性标准。 在地方标准工作基础上,北京信息安全测评中心联合其他单位2014年底申报制定《信息安全技术物联网感知设备安全技术要求》国家标准(《关于通报全国信息安全标准化技术委员会2014年信息安全标准项目的通知》信安秘字[2015]003号,隶属于WG5/WG6工作组),标准制定单位为:北京信息安全测评中心、工业和信息化部电信研究院、北京时代凌宇科技股份有限公司、大唐移动通信设备有限公司、中国科学院信息工程研究所、威海北洋光电信息技术股份公司。 由于本标准不仅关注感知类产品的功能和性能安全,而且更关注该类产品的部署和应用安全,而用“感知设备”容易让读者误以为仅仅关注产品的功能和性能安全,并且感知设备容易与传感器概念混淆,根据标准制定过程中的专家意见,把标准名称调整为《信息安全技术物联网感知终端应用安全技术要求》。 二、制定标准的必要性、意义、研究目标和内容

物联网信息安全(终极版)

填空(25*1’) ①物联网的特征:全面感知、可靠传递、智能处理 ②物联网的安全问题:传统的网络安全问题、计算系统的安全问题、物联网感知过程中的特殊安全问题 ③物联网的安全特征:安全体系结构复杂、涵盖广泛的安全领域、有别于传统的信息安全 ④RFID三类隐私威胁:身份隐私威胁、位置隐私威胁、内容隐私威胁 ⑤传感器节点一般由四个部分构成:感知模块、处理模块、传输模块和电源模块 ⑥传感器网络安全技术:基本安全框架、密钥管理、安全路由、侵入检测以及加密技术等 ⑦古典密码学包含的互相对立的分支:密码编码学、密码分析学 ⑧密码体制可分为:对称密码体制、非对称密码体制 ⑨评价密码体制的安全因素包括:保密度强、密钥长度、算法复杂度、差错传播性、密文增加程度 ⑩密码分析分为四类:已知密文攻击、已知明文攻击、选择明文攻击、选择密文攻击 ?古典数据加密方法:变换、置换 ?分组密码分为三类:代替密码、移位密码、乘积密码 ?应用广泛的数字签名方法:RSA签名、DSS签名、散列签名 ?依据物联网中各个层次接入物联网方式的不同,物联网接入安全分为:节点接入安全、网络接入安全、用户接入安全 ?网络诱骗技术:蜜罐(honeypot),蜜网(honeynet)技术 十六,*在信息系统中,对数据安全的保护就是对数据资源的机密性(Confidentiality)、完整性(Integrity)和可用性(Availability)的保护,简称CIA三原则。 十七,在密码学中,伪装(变换)之前的信息是原始信息,称为明文;伪装之后的信息看起来是一串无意义的乱码,称为密文。把明文伪装成密文的过程称为加密,该过程使用的数学变换称为加密算法;将密文还原为明文的过程称为解密,该过程使用的数学变换称为解密算法。 十八,身份认证是指用户身份的确认技术,它是物联网信息安全的第一道防线,也是最重要的一道防线。(访问控制包括三个要素:主体、客体和控制策略。) (SSL安全通信协议是一种传输层安全协议) 十九,DES算法、AES算法的密钥长度多少位? 在DES加密算法中,明文和密文均为64位,有效密钥长度为56位。 AES的密钥长度可变,可按需要增大。 名词解释(7*3’) ①IoT:物联网②RFID:射频识别技术③ITU:国际电信联盟④DDoS:分布式入侵系统(DoS:拒绝服务攻击)(APT:高级持续性威胁攻击)⑤CIA:保密性、完整性、可用性⑥WSN:无线传感器网络⑦PAP:口令认证协议⑧ACP:访问控制包 ⑨ACL:访问控制列表⑩PKI:公钥基础设施?证书授权(Certificate Authority,CA)中心?IDS:入侵检测系统?honeypot:蜜罐?honeynet:蜜网?SSL:传输层安全协议?VPN:虚拟专用网,被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。?WPA:无线保护访问

相关文档
最新文档