[转] unity功能开发——实名认证

前言

首先给大家介绍一下游戏实名认证。
网游实名制全称网络游戏实名制,是针对网络游戏的,玩家玩网络游戏时,需要输入真实的身份信息的制度。
要求用户使用有效身份证件实名注册,并保护用户注册信息,不得为使用游客模式”登录的用户提供游戏内充值或者消费服务。其主要目的是:为了防止沉迷游戏。

问题

因此,对于一个游戏来说,实名认证功能也是必不可少的,那么,你知道怎么来实现这个功能吗?

解决

1.首先需要有个界面来展示实名认证

我们创建一个Text来作为它的标题,并赋值文本为"实名认证中心",接着创建两个InputField对象,用作姓名和身份证信息输入。
最后创建两个按钮,分别为"取消"按钮和"认证"按钮。到此,界面已经创建完成了,如下:
在这里插入图片描述

拼接界面只完成了该系统的冰山一角,接下来,我们要正式开始认证功能实现了。

2.请求认证

在游戏开发中,通常我们实现实名认证是借助SDK接口来实现的,大致流程就是将实名认证需要用到的一些数据按照某种格式拼接成一个http地址,然后使用WWW去请求该地址,请求后会返回认证结果。根据不同返回结果对应处理。
通常我们会有一个data字符串,是由姓名,身份证号等信息拼接而成的。由于这个data字段存放的信息很重要,为了保护玩家的隐私,通常我们需要经过MD5将它加密成另一个字符串。

    /// 对字符串MD5加密
    public static string md5(string source)
    {
        MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
		///转换为UTF8编码的字节数组
        byte[] data = Encoding.UTF8.GetBytes(source);
		///计算哈希值
        byte[] md5Data = md5.ComputeHash(data, 0, data.Length);
        md5.Clear();

        string destString = "";
        for (int i = 0; i < md5Data.Length; i++)
        {
            destString += System.Convert.ToString(md5Data[i], 16).PadLeft(2, '0');
        }
        destString = destString.PadLeft(32, '0');
        return destString;
    }

3.返回结果处理
假设

resp = 1:认证成功
resp = 2:认证失败(改账户绑定账号个数已达最大值)
resp = 3:认证失败(输入信息错误)

根据实名认证的返回结果,我们只需要特殊处理返回成功情况。
返回成功处理:
1.隐藏实名认证入口;
广播通知关闭入口,使用SetActive(入口,false)隐藏入口按钮
2.全局变量标记已实名认证;
通常这里会使用SDK的一个变量来标记
3.关闭认证界面

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值