unity功能开发——实名认证

本文涉及的产品
身份二要素核验,500次流量包 3个月
手机号三要素核验简版,10000次流量包 3个月
金融级实人认证,500次流量包 6个月
简介: 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.关闭认证界面

相关文章
|
4月前
|
定位技术 C# 图形学
从零开始的unity3d入门教程(二)----基本功能讲解
这是一篇Unity3D入门教程,详细介绍了Unity界面操作、游戏物体创建修改、场景搭建、玩家控制、音效添加以及游戏测试和导出的全过程。
从零开始的unity3d入门教程(二)----基本功能讲解
|
4月前
|
算法 vr&ar C#
使用Unity进行虚拟现实开发:深入探索与实践
【8月更文挑战第24天】使用Unity进行虚拟现实开发是一个充满挑战和机遇的过程。通过掌握Unity的VR开发技术,你可以创造出令人惊叹的VR体验,为用户带来前所未有的沉浸感和乐趣。随着技术的不断进步和应用场景的不断拓展,VR开发的未来充满了无限可能。希望本文能为你提供有用的指导和启发!
|
4月前
|
图形学
小功能⭐️Unity UnityEvent实现代码的选择
小功能⭐️Unity UnityEvent实现代码的选择
|
4月前
|
机器学习/深度学习 图形学 Windows
小功能⭐️unity3d KeyCode各键值说明
小功能⭐️unity3d KeyCode各键值说明
|
4月前
|
图形学 Android开发
小功能⭐️Unity调用Android常用事件
小功能⭐️Unity调用Android常用事件
|
4月前
|
图形学
小功能⭐️获取Unity游戏物体上,所挂载组件的名称
小功能⭐️获取Unity游戏物体上,所挂载组件的名称
|
4月前
|
图形学
小功能⭐️Unity截屏功能的实现
小功能⭐️Unity截屏功能的实现
|
4月前
|
图形学
小功能⭐️Unity中Texture2D、Sprite、Texture、RenderTexture、image、byte的转换
小功能⭐️Unity中Texture2D、Sprite、Texture、RenderTexture、image、byte的转换
|
4月前
|
图形学
|
3月前
|
图形学 C++ C#
Unity插件开发全攻略:从零起步教你用C++扩展游戏功能,解锁Unity新玩法的详细步骤与实战技巧大公开
【8月更文挑战第31天】Unity 是一款功能强大的游戏开发引擎,支持多平台发布并拥有丰富的插件生态系统。本文介绍 Unity 插件开发基础,帮助读者从零开始编写自定义插件以扩展其功能。插件通常用 C++ 编写,通过 Mono C# 运行时调用,需在不同平台上编译。文中详细讲解了开发环境搭建、简单插件编写及在 Unity 中调用的方法,包括创建 C# 封装脚本和处理跨平台问题,助力开发者提升游戏开发效率。
291 0