跳到主要内容
版本:v3

TapTap 好友指南

权限说明

SDK 配置

可以在 下载页 获得 TapSDK,引入 TapTap 登录模块。

Unity 开发环境要求:Unity 2019.4 或更高版本

支持版本:

SDK 可以通过 Unity Package Manager 导入或手动导入,二者任选其一。请根据项目需要选择。

方法一:使用 Unity Package Manager

从 3.29.1 版本开始, SDK 修改 JSON 解析库为 Newtonsoft-json,如果当前工程已接入该依赖库,则不需额外处理,否则需在 Packages/manifest.json 添加如下依赖:

"com.unity.nuget.newtonsoft-json":"3.2.1"
NPMJS 安装

从 3.25.0 版本开始,TapSDK 支持了 NPMJS 安装,优势是只需要配置版本号,并且支持嵌套依赖。

在项目的 Packages/manifest.json 文件中添加以下依赖:

"dependencies":{
"com.taptap.tds.friends":"3.29.3",
"com.taptap.tds.login":"3.29.3",
"com.taptap.tds.common":"3.29.3",
}

但需要注意的是,要在 Packages/manifest.jsondependencies 同级下声明 scopedRegistries

"scopedRegistries": [
{
"name": "NPMJS",
"url": "https://registry.npmjs.org/",
"scopes": ["com.tapsdk", "com.taptap", "com.leancloud"]
}
]

GitHub 安装

在项目的 Packages/manifest.json 文件中添加以下依赖:

"dependencies":{
"com.taptap.tds.login":"https://github.com/TapTap/TapLogin-Unity.git#3.29.3",
"com.taptap.tds.common":"https://github.com/TapTap/TapCommon-Unity.git#3.29.3",
}

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

方法二:手动导入

  1. 下载页 找到 TapSDK Unity 下载地址,下载 TapSDK-UnityPackage.zip

  2. 在 Unity 项目中依次转到 Assets > Import Packages > Custom Packages,从解压后的 TapSDK-UnityPackage.zip 中,选择希望在游戏中使用的 TapSDK 包导入,其中:

    • TapTap_Common.unitypackage TapSDK 基础库,必选
    • TapTap_Login.unitypackage TapTap 登录库,必选
  3. 如果当前项目已集成 Newtonsoft.Json 依赖,则忽略该步骤,否则在 NuGet.org Newtonsoft.Json 页面中通过点击右侧 「Download package」 下载库文件,并将下载的文件后缀从.nupkg 修改为 .zip,同时解压该文件并复制内部的 Newtonsoft.Json.dll 文件拷贝到工程 AssetsPlugins 目录下,另外为了避免导出 IL2CPP 平台时删除必要数据,需在 Assets 目录下创建 link.xml 文件(如果已有该文件,则添加如下内容),其内容如下:

<linker>
<assembly fullname="System.Core">
<type fullname="System.Linq.Expressions.Interpreter.LightLambda" preserve="all" />
</assembly>
</linker>

获取好友列表

调用前请确保登录时已申请好友权限,即使用 TapTap 登录接口时 permissions 参数添加 user_friends

TapFriendResult result = await TapFriends.QueryMutualList(cursor, size);
if (result?.FriendList?.Count > 0) {
foreach (TapFriendInfo friendInfo in result.FriendList) {
Debug.Log($"{friendInfo.Name}, {friendInfo.OpenId}, {friendInfo.Avatar}");
}
}
Debug.Log($"下一游标:{result.Cursor}");

上述参数中 cursor 为每页游标,第一页为 null,后续页游标从上一次返回结果中获取;size 为结果数量。

该接口返回结果 Result 包括好友信息集合和下一页游标 cursor,好友信息集合中每条信息包含的字段说明如下表:

字段名描述
nameTap 昵称
avatarTap 头像
openidTap 用户 openid

当游标 cursor 为 null 时,表示为最后一页数据。