U8SDK登录流程
1、根据当前具体是哪个SDK渠道,调用登陆界面,然后传入用户名和密码,进行SDK登陆操作。
2、SDK登陆成功,会返回sid,token等信息。通过事件参数,传到U8。
3、U8在SDK登录成功之后,会收到登录成功的回调,回调参数中就是SDK平台的sid,token等数据
4、抽象层拿着这个sid以及接入之前向u8 server申请的appid,渠道号等信息,Http请求访问u8 server的登录认证接口地址进行token验证。 PS:客户端U8Server统一登录认证地址, 在打包工具/config/local/local.properties中进行配置,对应u8server_url字段。配置为u8server根地址接口。比如http://192.168.1.108:8080/u8server
5、u8 server 根据当前传递的appid, 渠道号,去对应的SDK服务器进行认证
6、SDK服务器认证成功,会返回SDK服务器那边的用户信息
7、U8 Server拿到用户信息,生成一个u8 server统一的用户信息并存储。然后,紧接着返回给客户端一个有效的token,这个token是U8Server生成的。
8、客户端拿着这个token,去访问游戏服务器(多数是游戏登陆服务器)
9、游戏服务器,拿着这个token去u8 server 进行登陆认证(这一步可选,游戏服务器也可以直接用u8server分配的appsecret进行参数验证,而不去u8server再次验证)。这个时候,仅仅是U8Server自己认证之前发给客户端饿token。不是去SDK认证,因为之前已经认证过了。
10、u8 server 判定token有效,则返回给游戏服务器当前用户的用户信息
11、游戏服务器拿到用户信息,证明当前登陆成功,返回给客户端服务器列表等数据,登陆成功。
1、游戏客户端,首先请求游戏服务器要充值
2、游戏服务器拿着该用户的id和一些支付成功之后需要原样返回的数据,去访问U8 Server申请订单号
3、U8 Server生成一个唯一的订单号,同时数据库中生成一条订单记录,状态是正在支付状态
4、游戏服务器将订单号返回给客户端
5、游戏客户端,拿到订单号之后,带着订单号以及游戏里充值相关的数据,调用SDK抽象接口的支付接口,调用对应的SDK支付界面,进行充值操作。
6、当前SDK的渠道实现在调用SDK支付界面之前,需要把刚刚的订单号,放到渠道SDK支付参数的自定义参数中。这个每个渠道都是一样的。
7、渠道SDK支付成功,立马返回一个状态
8、同时,渠道SDK服务器会异步通知游戏开发商设置的支付回调地址。这里,就是上面我们提供的U8Server的该渠道的通知回调地址
9、U8Server收到充值回调,根据当前渠道SDK的要求,验证合法,并修改订单状态,立马给渠道SDK服务器返回一个成功或者失败的状态。
10、然后U8Server根据自定义参数中的orderID,查询到对应的订单信息,再根据订单信息,获取到当前用户信息和对应的游戏信息,然后调用接入游戏之前,游戏服务器提供给U8Server的支付回调地址。这个回调地址,游戏服务器只需要提供一个给U8Server就可以了。因为游戏服务器只和U8Server交互。
11、游戏服务器收到回调,验证成功与否,立马返回给U8Server一个成功或者失败的信息。同时,给对应的玩家加游戏币。