我们需要获取显示名称和用户名,以便在使用特定 Oculus 帐户登录时唯一识别我们的设备。我已根据要求在 Oculus 开发者仪表板上设置了一个帐户,并进行了所有认证和要求 > 数据使用检查。
Game Manager类中的代码如下:
using UnityEngine;
using Oculus.Platform;
using Oculus.Platform.Models;
public bool InitOculus()
{
try
{
Core.Initialize(123****132);
Users.GetLoggedInUser().OnComplete(LoggedInUser);
}
catch (UnityException e)
{
Debug.LogException(e);
UnityEngine.Application.Quit();
}
return true;
}
void LoggedInUser(Message msg)
{
string name = "";
string username = "";
if (msg.IsError)
{
Debug.LogError("Failed to retrieve Oculus user.");
}
else
{
User user = msg.GetUser();
ulong userId = user.ID;
Debug.Log("USER ID IS " + userId);
username = user.OculusID;
Users.Get(userId).OnComplete(message =>
{
if (!message.IsError)
{
name = message.Data.DisplayName;
}
else
{
var e = message.GetError();
Debug.LogError($"Error loading display name: {e.Message}.");
}
});
}
Debug.Log("Display Name " + name + " and the username is " + username);
}
我在这里发帖是因为还有一些其他帖子(stackoverflow/Oculus)关于这个问题,但它们要么太旧而无效,要么没有得到答复。我也尝试过检查权利和回调方法,但这也不起作用,因为我们的应用程序不是通过 Oculus 商店发布的,我们有内部平台。
提前谢谢您。
我也有类似的问题,但我使用的是由meta创建的测试用户。将构建上传到 ALPHA realese 频道后,问题自行解决。