公告接入指南
公告接入指南
1. 基本概念
游戏中的公告系统,用于发布和管理公告信息,玩家在游戏中可以查看已发布的公告。
UOS Passport公告系统提供了一个集中化的平台,使管理者能够有效地向玩家发布重要的公告、通知和更新。提供了公告发布与管理、分类与标签、展示与搜索等功能。
UOS Passport公告系统中的公告需要用户主动调用接口获取,适用于公告面板等情景。如果需要消息推送功能,建议使用「UOS Push」
2. 功能配置与管理
在 UOS Passport 服务 「公告」 处点击 「立即创建」,创建一个名为 “《游戏管理协议》更新通知” 的公告:
配置说明:
- 标题:可用作公告的展示标题。
- 副标题:可用作公告的副标题,填写一些次要信息。
- 内容:公告的主体内容。
- 命名空间:自定义命名空间,可用于区分公告类型,如:更新/维护/上新/活动/玩法/测试/停服,默认为default。
- 标签:维度标签,可以自定义设置渠道,版本,区服等,可用于搜索公告时的筛选项。
- 自定义属性:自定义公告属性。


点击 「保存」 存储已填写的信息。至此,已经完成了公告的基本配置。
如果不想立刻对公告进行发布相关工作,可点击 「完成」 回到公告列表,后续可在菜单中单独配置发布信息。
如果想要配置公告的发布信息,可点击 「配置发布计划」 进入发布选择:
- 发布时间:公告的生效时间,可以选择立即发布或者自定义预约发布时间。
- 下线时间:公告的失效时间。空则表示永久有效,后续可手动进行下线操作。

至此,我们创建了一个名称为“《游戏管理协议》更新通知”的公告,将在2024年6月28日0点0分发布,2024年6月29日0点0分下线。确认公告配置内容后点击 「发布/预约」 将公告发布,完成一个公告的所有配置工作。
此时,可在 Passport 「公告」 页面查看和管理公告,可单独对公告进行查看详情、编辑、修改发布时间、撤销发布操作。
3. 在 Unity 中接入 SDK
在接入 SDK 前请确保完成 「功能配置」
在接入 SDK 前,请确保在代码中引入了 Passport 的命名空间:
using Unity.Passport.Runtime;接入用户登录模块
外部账号系统登录
参考 「外部账号系统登录」 正确接入外部ID系统。 确保在调用 公告 相关方法之前 已完成外部ID系统的接入
Passport登录
- 参考 「Passport 登录」 正确接入 Passport Login,确保在调用 公告 相关方法之前 用户已经登录完成。
- 安装并初始化 Feature SDK
- 在 UOS Launcher 服务列表中,找到 Passport Feature, 点击 「Install SDK」,将服务 SDK 安装到当前项目中
- 初始化 Feature SDK
try { await PassportFeatureSDK.Initialize(); } catch (PassportException e) { Debug.Log($"failed to initialize sdk: {e.Message}"); throw; }
- 在 UOS Launcher 服务列表中,找到 Passport Feature, 点击 「Install SDK」,将服务 SDK 安装到当前项目中
1. 搜索公告
List<Billboard.BillboardInfo> billboardList = await PassportFeatureSDK.Billboard.SearchBillboards();
// 将获取到的公告打印出来
foreach (var billboard in billboardList)
{
Debug.Log(billboard);
}
public class BillboardInfo
{
// 公告ID
public string Id;
// 公告所属的uos appID
public string IdDomainID;
// 自定义命名空间,默认为default
public string Namespace;
// 标题
public string Title;
// 短标题
public string BriefTitle;
// 公告正文
public string Content;
// 标签,维度信息,可以自定义设置渠道,版本,区服等
public RepeatedField<string> Dimensions;
// 自定义属性
public Dictionary<string, string> Properties;
// 状态
public Billboard.BillboardStatus Status;
// 发布时间
public Timestamp PublishedAt;
// 过期时间
public Timestamp ExpiredAt;
// 创建时间(UTC)
public Timestamp CreatedAt;
// 创建用户
public string CreatedBy;
// 最后修改时间(UTC)
public Timestamp ModifiedAt;
// 最后修改用户
public string ModifiedBy;
}2. 获取公告详情
var billboardId = "26";
Billboard.BillboardInfo res2 = await PassportFeatureSDK.Billboard.GetBillboard(billboardId);4. 附录
核心类和接口
namespace Unity.Passport.Runtime
{
public partial class PassportFeatureSDK
{
public class Billboard
{
// 搜索公告
// billboardNamespace: 自定义命名空间
// dimensions: 标签
public static async Task<List<BillboardInfo>> SearchBillboards(string billboardNamespace = null, List<string> dimensions = null){}
// 获取公告详情
// billboardId: 公告ID
public static async Task<BillboardInfo> GetBillboard(string billboardId){}
}
}
}服务端 API
客户端 API
错误码
参见 「Passport 错误码」 。