步骤 1 - 初始化 PlayFab Services SDK
第一步是使用 PFServicesInitialize 和 PFServiceConfigCreateHandle API 初始化 PF Service SDK。 PFServiceConfigCreateHandle API 接收一个连接字符串和一个可从 PlayFab Game Manager 上的游戏获得的 title ID。 第三个参数是一个 PFServiceConfigHandle 结构,表示正在创建的配置。此服务配置句柄将在下一步中使用。步骤 2 - 创建遥测事件管道
接下来,让我们使用 PFEventPipelineCreateTelemetryPipelineHandleWithKey API 使用遥测密钥创建遥测事件管道。遥测密钥是通过 PlayFab Game Manager 创建和管理的。 创建 PFEventPipelineTelemetryKeyConfig 结构体时,我们传入实际的遥测密钥和 SDK 初始化时获得的服务配置句柄。步骤 3 - 更新管道配置
让我们更新管道配置,在此示例中,我们希望发送最多 10 个事件的批次(默认值为 5)。 此外,由于我们将 maxWaitTimeInSeconds 和 pollDelayInMs 作为 null 指针发送,它们将使用相应管道类型的默认值。 我们还指定了”中”压缩级别,设置此属性可压缩正文有效负载,并有助于优化网络资源利用率。 然后,我们继续调用 PFEventPipelineUpdateConfiguration,传递从上一步获得的 PFEventPipelineHandle 和 PFEventPipelineConfig 结构。步骤 4 - 发送事件
在这一步中,我们继续通过 PFEventPipelineEmitEvent API 只发送一个名为 “TelemetryKeyEvent” 的事件。 由于我们到目前为止还没有提供实体身份验证,此事件未链接到任何实体。步骤 5 - 获取实体
这里,我们希望获取一个可用于开始将事件与其链接的实体。 在本教程中,我们调用 PFAuthenticationReLoginWithXUserAsync API 以获取有效的 PFEntityHandle。作为 PFAuthenticationLoginWithXUserRequest 一部分传递的 userHandle 对象是 XUserHandle 类型。如何获取有效的 XUserHandle 步骤超出本教程范围。有关此主题的更多信息,请参阅 XUserAddAsync 文档。
步骤 6 - 将实体添加到管道
由于我们已经获得了有效的实体,可以调用 PFEventPipelineAddUploadingEntity,传入事件管道句柄和上一步中的实体句柄。这一操作允许管道切换为使用实体身份验证。步骤 7 - 发送事件
此过程与前面的事件提交相同。 唯一的两个区别是:- 我们将此事件标记为不同的名称(“EntityEvent”)以使其更清晰。
- 此事件将被记录并与我们之前获取的实体链接。
