其实在Unity手机端开发过程中,一般特别是游戏类型的开发,都会用到登录模块,现在目前成熟且常见的无外乎QQ登录,微信登录,以及第三方登录(TapTap登录,系统账户登录),这篇文章主要以TapTap为例进行介绍。

Unity是 实时3D互动内容创作和运营平台 。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。简单来说,Unity3D不单单可以做游戏,还可以通过相关接口与API来进行设备的交互【例如虚拟仿真】

🎬 博客主页:https://blog.gmcj0816.top

🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

📆 此文章为原创,并通过Typora编辑器撰写✨

🌲 开发工具:Unity3D 2021.3.21f1(个人版) Rider2022.2.4(教育版)

本篇全部以U3D为准,如果接入UE4,安卓等,可以参考自官方开发文档:接入 TapTap 登录 | TapTap 开发者文档

登录模块

接入 TapTap 登录有两种方式:

  1. 基于[内建账户系统]接入 TapTap 登录(此方式是博主和官方都比较推荐的);
  2. [单纯 TapTap 用户认证]登录;

环境准备

使用TapTap需要符合以下要求:

  • Unity2019.4或者更高版本(博主使用的是Unity2021.3.21f1,如果担心配置过程中有问题,可以使用与博主类似的版本)
  • iOS 10 或更高版本
  • Android 5.0(API level 21)或更高版本

集成准备

其实这一步就需要到TapTao开发者官方网站上去操作(主要作用便是获取到 Client ID和Client Token等信息,后面接入需要用到)

地址为:https://developer.taptap.cn/

这里需要注意的是需要成为认证开发者,这一步还是比较容易的,选择个人开发者然后填写详细地信息后等待审核就可以了,一般五个工作日差不多就会审核完

TODO:这一块先留着,到时候补图就行

SDK获取

其实这一步呢,SDK 可以通过 Unity Package Manager 导入或手动导入,但博主感觉第二种比较稳妥且容易一些,不过都会列入的,如下

使用UPM导入

这一步需要去项目的根路径下找到Packages/manifest.json文件打开添加以下依赖信息:

1
2
3
4
5
6
7
"dependencies":{
"com.taptap.tds.login":"https://github.com/TapTap/TapLogin-Unity.git#3.18.5",
"com.taptap.tds.common":"https://github.com/TapTap/TapCommon-Unity.git#3.18.5",
"com.taptap.tds.bootstrap":"https://github.com/TapTap/TapBootstrap-Unity.git#3.18.5",
"com.leancloud.realtime": "https://github.com/leancloud/csharp-sdk-upm.git#realtime-1.0.2",
"com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-1.0.2",
}

之后就可以到在 Unity 顶部菜单中选择 Window > Package Manager 可查看已经安装在项目中的包了。

手动导入(博主较为推荐)

这种方式与第一种的区别就在于所有依赖都是自己去导入进来,不会出现包体丢失问题,加之如果是新手用第一种出错误难以自行解决,下面就详细介绍一下这种方式

点击资源下载 | TapTap 开发者文档找到 TapSDK UnityLeanCloud C# SDK 下载地址,下载 并在本地解压这两个压缩包TapSDK-UnityPackage.zipLeanCloud-SDK-Realtime-Unity.zip

对于TapSDK-UnityPackage.zip这个压缩包基本上东西还是特别多的,但是一般登录这一模块我们主要就用三个:

  • TapTap_Bootstrap.unitypackage TapSDK 启动器,必选。
  • TapTap_Common.unitypackage TapSDK 基础库,必选。
  • TapTap_Login.unitypackage TapTap 登录,必选。

对于 LeanCloud-SDK-Realtime-Unity.zip 为 Plugins 文件夹。解压后拖拽至 Unity 即可

SDK 初始化

初始化 TapSDK 时需传入 Client ID、区域等应用配置信息。

1
2
3
4
5
6
7
8
9
using TapTap.Bootstrap; // 命名空间
using TapTap.Common; // 命名空间
var config = new TapConfig.Builder()
.ClientID("your_client_id") // 必须,开发者中心对应 Client ID
.ClientToken("your_client_token") // 必须,开发者中心对应 Client Token
.ServerURL("https://your_server_url") // 必须,开发者中心 > 你的游戏 > 游戏服务 > 基本信息 > 域名配置 > API
.RegionType(RegionType.CN) // 非必须,CN 表示中国大陆,IO 表示其他国家或地区
.ConfigBuilder();
TapBootstrap.Init(config);

初始化的时候,必须填入 client_idclient_tokenserver_url,其中:

  • client_idclient_token 信息可在 开发者中心 > 你的游戏 > 游戏服务 > 应用配置 查看。
  • server_url使用 HTTPS 协议,参考文档关于 域名 的说明。