创造你的世界
经济

获取用户所拥有物品的信息

8min

您可以使用 ZEPETO.Module.Shop API 按类别检索当前连接用户的物品信息。



安装

窗口 → 包管理器 → 请先安装 ZEPETO.World 包 1.21.14 版本或更高版本。

然后安装 ZEPETO.Module 包 1.0.7 版本或更高版本。

Document image




ZEPETO.Module.Shop API

如果您对 ZEPETO.Module.Shop API 感兴趣,请参考文档:

📘 请参考以下指南。 [ZEPETO.Module.Shop API]



输出物品信息示例

  • 项目 > 创建 > ZEPETO > TypeScript 被创建并且名称更改为 MyItemList。
  • 编写如下所示的示例脚本。
TypeScript




Document image




  • 脚本描述
    • 获取我的物品标签信息
      • 调用 ShopService.GetMyCategoryAsync() 以了解我的物品标签中的物品类别。
      • 当您成功收到响应时,可以通过 responseData 属性访问 CategoryResponse 对象。
      • CategoryResponse.category.categories 被浏览,输出我的物品标签中的物品类别列表。
    • 获取物品列表
      • 调用 ShopService.GetMyContentItemListAsync(ItemKeyword.all, null) 以获取所有类别的物品列表。
        • 您可以选择仅从某些类别中检索物品。例如,您可以使用 ItemKeyword.hair 而不是 ItemKeyword.all 来仅检索头发物品。
        • 第二个参数仅在您知道下一个页面令牌时使用。第一次调用 API 时将其设置为 null。
          • 有关 nextPageToken 的示例,请查看以下信息。
        • 当您收到成功响应时,可以通过 responseData 属性访问 ContentItemListResponse 对象。
        • ItemResponse.items 被浏览,输出每个物品的 ID 和部分 Enum 代码。
        • 此外,物品缩略图被设置为指定的 rawImage。
  • 完成脚本编写后,将脚本添加到场景中的对象。
  • 按下播放按钮将显示我的物品标签的类别列表和所有类别的物品信息。
Document image

Document image

Document image

  • 如果您创建了项目缩略图预制件,并且缩略图是根据项目列表动态创建的,您可以在用户界面上显示项目列表缩略图。



检查用户特定物品的拥有状态示例

您可以利用 GetMyContentItemListAsync() 来检查某人在世界上是否穿着特定的衣物。

以下是一个简单的示例,用于在拥有特定物品的用户界面上显示消息。

  • 项目 > 创建 > ZEPETO > TypeScript 被创建并且名称更改为 CheckItem。
  • 编写如下示例脚本。
TypeScript




  • 脚本描述
    • 这是一个浏览已登录用户的“我的物品”列表(所有类别)的脚本,并在检查器中找到输入的匹配物品ID。
    • 如果有很多物品,nextPageToken值不为null。因此,使用do-while语句重复该过程,直到值变为null。
      • 请注意,nextPageToken作为ShopService.GetMyContentItemListAsync(ItemKeyword.all, nextPageToken)的第二个参数提供。
    • 当您收到成功响应时,可以通过responseData属性访问ContentItemListResponse对象。
    • ItemResponse.items被浏览以查找输入的物品ID的匹配项。
    • 如果找到匹配的物品,将调用ActivateMatchedItem()在用户的屏幕上显示文本并结束循环。
  • 完成脚本编写后,将脚本添加到场景中的对象。
  • 输入您希望检查的物品ID,以查看世界中的用户是否在检查器中拥有该物品。
Document image




  • 按下播放按钮以运行该过程。如果用户登录到一个世界并且有与输入的物品ID匹配的物品,屏幕上将显示文本。
Document image




您可以应用此示例来创建各种有趣的内容。