Users.LaunchBlockFlow(UInt64 userID)UInt64 userID:观众将要对之发起屏蔽流程请求的用户编号。GetLaunchBlockFlowResult() 来获取观众在模态对话框中的操作结果。请参阅下面的代码示例 1,了解如何处理屏蔽回调消息。LaunchBlockFlowResult.GetDidBlock 用来检查观众是否在模态对话框中选择了“Block”(屏蔽)。LaunchBlockFlowResult.GetDidCancel 用来检查观众是否在模态对话框中取消操作或选择了“Back”(返回)。| 情况 | 描述 | 结果反馈 (LaunchBlockFlowResult) |
|---|---|---|
成功屏蔽 | 用户将看到一个对话框,在其中可以选择“Block”(屏蔽)或“Cancel”(取消)。用户选择“Block”(屏蔽),系统成功执行屏蔽。 | GetDidBlock:true;GetDidCancel:false |
用户取消 | 用户将看到一个对话框,在其中可以选择屏蔽或取消。如果用户选择取消,则让观众返回应用。 | GetDidBlock:false;GetDidCancel:true |
观众尝试屏蔽之前曾屏蔽过的用户 | 观众会收到一条消息,告知他们当前的情况,并询问是否要取消对目标用户的屏蔽。选择返回,会让观众返回其应用。 | GetDidBlock:false;GetDidCancel:true |
观众尝试屏蔽自己 | 观众会收到一条消息,表示不支持此操作。选择返回,会让观众返回其应用。 | GetDidBlock:false;GetDidCancel:true |
由于其他原因,屏蔽操作无法发送。 | 用户会收到如下消息:“无法屏蔽。请检查连接并重试。”选择返回,会让观众返回应用。 | GetDidBlock:false;GetDidCancel:true |
Users.LaunchUnblockFlow(UInt64 userID)UInt64 userID:观众将要对之启动取消屏蔽流程请求的用户编号。GetLaunchUnblockFlowResult() 来获取观众在模态对话框中的操作结果。请参阅下面的代码示例 1,了解如何处理屏蔽/取消屏蔽回调消息。LaunchUnblockFlowResult.GetDidBlock 用来检查观众是否在模态对话框中选择了“Unblock”(取消屏蔽)。LaunchUnblockFlowResult.GetDidCancel 用来检查观众是否在模态对话框中取消操作或选择了“Back”(返回)。using Oculus.Platform;
Users.LaunchBlockFlow(UInt64 userID).OnComplete(OnBlockUser);
...
void OnBlockUser(Message<Models.LaunchBlockFlowResult> message) {
if (message.IsError) {
Debug.Log("Error when trying to block the user");
Debug.LogError(message.Data);
} else {
Debug.Log("Got result: DidBlock = " + message.Data.DidBlock + " DidCancel = " + message.Data.DidCancel);
}
}
...
Users.LaunchUnblockFlow(UInt64 userID).OnComplete(OnUnblockUser);
...
void OnUnblockUser(Message<Models.LaunchUnblockFlowResult> message) {
if (message.IsError) {
Debug.Log("Error when trying to unblock the user");
Debug.LogError(message.Data);
} else {
Debug.Log("Got result: DidBlock = " + message.Data.DidUnblock + " DidCancel = " + message.Data.DidCancel);
}
}
Users.GetBlockedUsers()。此方法会检索当前用户的屏蔽用户编号数组,而这些屏蔽用户同样有权使用您的应用。请参阅参见下面的代码示例 2,了解如何记录被屏蔽的用户数据。Users.GetNextBlockedUserArrayPage() 并对数据进行分页。using Oculus.Platform;
void GetBlockedUsers()
{
Users.GetBlockedUsers().OnComplete(OnGetBlockedUsers);
}
void OnGetBlockedUsers(Message<Models.BlockedUserList> message)
{
Debug.Log("EXTRACTING BLOCKED USER DATA");
if (message.IsError)
{
Debug.Log("Could not get the list of users blocked!");
Debug.LogError(message.Data);
}
else
{
foreach (Models.BlockedUser user in message.GetBlockedUserList())
{
Debug.Log("Blocked User: " + user.Id);
}
}
}