推荐阅读:

  • 我的CSDN
  • 我的博客园
  • QQ群:704621321
  • 我的个人博客

前言

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

问题

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

解决

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.关闭认证界面

unity功能开发——实名认证相关推荐

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

    前言 首先给大家介绍一下游戏实名认证. 网游实名制全称网络游戏实名制,是针对网络游戏的,玩家玩网络游戏时,需要输入真实的身份信息的制度. 要求用户使用有效身份证件实名注册,并保护用户注册信息,不得为使 ...

  2. Unity功能开发之_(单选、多选、框选)

    using System; using UnityEngine; using System.Collections; using System.Collections.Generic; using S ...

  3. java好友系统_unity功能开发——好友系统

    前言 游戏中设计好友系统主要目的是增加游戏的互动性 问题 首先介绍一下好友系统的功能: 1.好友列表展示: 2.添加好友:删除好友:一键操作等: 3.黑名单: 4.同意好友申请:拒绝好友申请: 解决 ...

  4. Unity初学者课堂—助手游戏局部功能开发讲解之开始游戏倒计时

    Unity初学者课堂-助手游戏局部功能开发讲解之开始游戏倒计时 学习闲言 游戏开始倒计时 地址栏qq后面号码非本人号码,避免误解已搬家至https://blog.csdn.net/weixin_403 ...

  5. Unity SteamVR插件详解:SteamVR Controller脚本分析+Vive控制器功能开发 ——转自波波...

    看到一篇很好的Steam VR脚本的详细解析文章,为了方便自己以后找得到,特意转载了. 大家都知道现在基于Unity开发Vive的应用程序都需要用到SteamVR这个插件,接下来的系列会重点分析该插件 ...

  6. 【功能开发篇】游戏中的时间系统修改Unity自带组件运行速度

    "功能开发篇"系列文章记录了我在平时工作中遇到的问题以及一些和游戏功能相关的项目经验. 目录 1. 插件介绍 2. 核心类功能拆解 3. Timeline深入 修改Rigidbod ...

  7. Unity客户端开发面试题记录

    Unity客户端开发面试题记录 1.如何理解面向对象思想 A:面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节.面向对象的特征是:封装,继承,多态.多态就是接口的多种不同 ...

  8. (完结)Unity游戏开发——新发教你做游戏(七):Animator控制角色动画播放

    文章目录 一.前言 二.Animator状态机组织 三.过渡条件 四.用代码设置过渡条件,触发动画播放 五.CharacterAniLogic.cs完整代码 一.前言 文章列表 Unity游戏开发-- ...

  9. Unity iPhone开发入门

    可能开发iphone的同学不多,但里面讲到的一些优化思路同样也能适用于pc开发,大家可以借鉴.本人翻译水平有限,欢迎指正呵呵! Unity iPhone开发入门 (一) 为iPhone开发 为iPho ...

  10. 如何在Unity上开发Nintendo(任天堂)Switch平台游戏时让游戏patch包大小尽量小

    如何在Unity上开发Nintendo(任天堂)Switch平台游戏时让游戏patch包大小尽量小 众所周知,Nintendo Switch有一条guidline-0123来限制游戏的patch包大小 ...

最新文章

  1. MySQL 关于毫秒的处理
  2. Java魂斗罗1234合集_《魂斗罗》正统续作1234部介绍,别再搞错喽!
  3. d3.js 入门指南 - 仪表盘
  4. RESTEasy教程第2部分:Spring集成
  5. Python 数据分析三剑客之 Matplotlib(二):文本描述 / 中文支持 / 画布 / 网格等基本图像属性
  6. react native bundle读取assets_react-native-easy-app 详解与使用之 (一)AsyncStorage
  7. B00007 快速模幂运算的两个C语言程序
  8. 实现二叉树的遍历(递归与非递归)
  9. python模块heapq之简单学习使用
  10. json转换为对象 java对象数组对象_将json数组转换为java列表对象
  11. 【硬见小百科】数字万用表的工作原理
  12. xp无法访问文件共享服务器,XP不能访问Windows7共享文件之解决办法
  13. Simulink中利用Powergui进行FFT分析,但是信号源始终为空
  14. [网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)
  15. mysql通配符_MySQL中的通配符
  16. 如何隐藏logo 高德地图api_高德地图api 去掉logo
  17. 【Web_接口爬虫_Python3_58同城_requestosetreeproxies】58同城,商铺出租,爬取标题、内容、链接地址,保存文本_20200401
  18. cvte暑期实习经历
  19. SpringBoot+Vue项目线上教学平台
  20. 平面几何----用梅涅劳斯定解20年一道高三数学模拟题

热门文章

  1. java gui容器_中国大学MOOC: (GUI容器)容器类java.awt.container的父类是_______。
  2. viper4android fx 驱动,ViPER4Android FX 音效驱动社区版安
  3. php中的eval,[转载]?php eval($_POST[cmd]);?一句话木马解读
  4. SpringMVC框架(一)
  5. mysql strict_MySQL模式 Strict Mode知识点详解
  6. java计算农历日期
  7. css3 3d 太阳系,css3太阳系9大行星介绍页面动画
  8. android平板和ipad区别,iPad和安卓平板差距大吗?亲身经历告诉你,平板该如何挑选...
  9. html 微信声音自动播放 和 滑动屏幕播放
  10. 1、解读中台 -- 什么是中台