游戏新闻快速入门

游戏新闻是一种向玩家传达补丁说明或游戏即将举行的大型活动的机制。 它包含一些基本元素:

  • 日期
  • 状态
  • 标题
  • 正文
  • 语言

注意

正文元素是一个字符串,可以包含原始文本或 JSON。

要求

本快速入门基于其他主题中提供的信息。 如果您有任何疑问,请参阅以下主题链接。

注意

必须已设置 title default language 才能继续使用本地化游戏新闻。

  • 现已可将游戏新闻本地化。 有关使用游戏默认语言以及玩家首选语言的详细信息,请查看设置默认语言教程。 请注意 - 要继续使用本地化游戏新闻,必须相应地设置 title default language

PlayFab 支持代表游戏开发者存储本地化字符串,方法是将标题和正文与游戏新闻条目的语言相关联。

我们添加了必要的逻辑,以便为玩家提供其首选语言的正确字符串。 当客户端查询游戏新闻时,他们将根据玩家首选语言接收不同版本的游戏新闻。 可以将多个翻译版本添加到单一游戏新闻条目中。

创建游戏新闻条目

可以通过以下两种方式创建游戏新闻条目:

  1. 通过 Game Manager。
  2. 使用管理 API 方法 AddNews

使用 Game Manager 创建游戏新闻

使用 Game Manager 创建游戏新闻条目:

导航到标题 ->内容 ->标题新闻 ->新标题新闻 如下图所示。

游戏新闻

在本教程中,我们假设游戏默认语言是英语。 这意味着必须先添加默认语言的字符串,然后才能保存游戏新闻。

添加更多语言十分简单,只需单击 ADD LANGUAGE,选择要添加的语言,然后键入本地化字符串。 选择 Save Title News 按钮,创建条目。

时间戳是玩家在游戏新闻旁边看到的时间。 在选择 Save Title News 按钮时,时间戳会自动设置为系统日期,但 可以手动设置它。 保存游戏新闻页面后,将重定向回包含游戏新闻条目列表的页面。

使用 PlayFab 管理 API 创建游戏新闻

可以通过调用 AddNews 方法来创建游戏新闻。 可以使用此管理 API 指定自定义时间戳。 以这种方式添加的新闻将立即 发布。 然后,可以通过调用 AddLocalizedNews 并附上 AddNews 方法返回的新闻 ID 将本地化内容添加到刚刚创建的项中。

下面的代码示例演示了这一操作。

void CreateNews() {
    PlayFabAdminAPI.AddNews(new AddNewsRequest {
        Timestamp = new DateTime(2014, 1, 8, 12, 0, 0), // Any date - This one is the founding of PlayFab
        Title = "My Second News",
        Body = "This is my second news post."
    },
    result => Debug.Log("News post added!"),
    error => Debug.LogError(error.GenerateErrorReport()));
}
void CreateNews() {
    PlayFabAdminAPI.AddLocalizedNewsRequest(new AddLocalizedNewsRequest{
                   NewsId = "74623b12-6c80-ee4b-7c3b-58e638aa62bd",
                   Language = "de"
                   Title = " Meine zweite Nachricht",
                   Body = " Dies ist meine zweite Nachricht."
    },
    result => Debug.Log("Localized news post added!"),
    error => Debug.LogError(error.GenerateErrorReport()));
}

阅读游戏新闻

GetTitleNews 方法使得阅读游戏新闻变得十分容易。 此方法返回所有已发布的游戏新闻条目,不返回已存档和未发布的条目。

  • 如果游戏新闻项添加了玩家首选语言的本地化内容,则从客户端 API 调用 GetTitleNews 将返回此语言的新闻条目;否则返回游戏默认语言的新闻条目。
  • 从服务器 API 调用 GetTitleNews 将返回游戏默认语言的新闻条目。
// Using the Client API method
void ReadTitleNews() {
    PlayFabClientAPI.GetTitleNews(new GetTitleNewsRequest(), result => {
        Debug.Log("Got latest news!");
        // Process news using result.News
    }, error => Debug.LogError(error.GenerateErrorReport()));
}

// Using the Server API method
void ReadTitleNews() {
    PlayFabServerAPI.GetTitleNews(new GetTitleNewsRequest(), result => {
        Debug.Log("Got latest news!");
        // Process news using result.News
    }, error => Debug.LogError(error.GenerateErrorReport()));
}

更新现有游戏新闻条目

只能在 Game Manager 中修改游戏新闻条目的内容。

Game Manager 中找到并选择要修改的条目:

  • 转到左侧菜单,然后选择 Content
  • 转到 Title News 选项卡。
  • 选择 Existing Entry

进行更新、保存更新和(可选)添加本地化版本:

  • 更新条目的 TitleStatusData
  • 选择 Save Title News 按钮。
  • 如果更新的是仅具有单一语言标题和正文的游戏新闻条目,现在可通过选择 Add Language 添加此游戏新闻的本地化版本。

如果计划为将来的版本发布未发布的条目,可以通过此方式转换其已发布和已存档状态。 还可以通过更新游戏新闻来修复拼写错误。

删除游戏新闻

如果不再需要某个条目,可以在 Game Manager 中将其删除。

找到要修改的条目,然后:

  • 导航到你的“游戏”。
  • 在左侧菜单中,选择 Content
  • 转到 Title News
  • 勾选 Existing Entry 复选框。
  • 选择要删除的 Title News 条目,然后选择 X Delete Title News