Agora io Unity Demo 不加入频道

Agora io Unity Demo not joining channel

我在 macOS Catalina 10.15 上使用 Angora Unity SDK 2.9.2.2Unity 2019.4.0f1。 6.

我正在尝试让演示场景正常工作。我添加了一个 appId,但是我没有看到 onJoinChannelSuccess 调试日志。它怀疑 JoinChannel 调用没有成功。

我已经从 JoinChannel 注销了 return,我得到 -7。从文档中我了解到任何低于 0 的值都是失败的,但我没有收到任何错误消息并且文档中未引用代码 -7

有人知道这个错误是什么吗,或者我如何才能访问有关它的更多详细信息?

你真的有调用这行代码吗,

mRtcEngine.OnJoinChannelSuccess = onJoinChannelSuccess;

(请注意,“onJoinChannelSuccess”可以是您选择的任何函数名称。在演示中他们将其设为“同一个词”这一事实可能会造成混淆。)

关于那个函数,类型是“private async void”(不仅仅是“void”)

private async void onJoinChannelSuccess(string channelName, uint uid, int elapsed)
{
    // "this app" joined Agora
    Debug.Log(">> onJoinChannelSuccess my own uid " + uid);
}

--

根据评论,您必须

public void loadAgoraEngine()
{
    string agoraId = "66666....";
    if (mRtcEngine != null)
    {
        Debug.Log("Agora engine exists already!!");
        return;
    }
    mRtcEngine = IRtcEngine.GetEngine(agoraId);
    mRtcEngine.SetLogFilter(LOG_FILTER.DEBUG | LOG_FILTER.INFO | LOG_FILTER.WARNING | LOG_FILTER.ERROR | LOG_FILTER.CRITICAL);
    Debug.Log("loadAgoraEngine - seemed OK");
}

然后你必须

做三件事,

public void joinAgora(string channelName)
{
    Debug.Log(">> joinAgora .. " + channelName);
    Debug.Log(">> agora version  .. " + IRtcEngine.GetSdkVersion() );

    if (mRtcEngine == null) { return; }
    _setup();

    mRtcEngine.EnableVideo();
    mRtcEngine.EnableVideoObserver();

    mRtcEngine.JoinChannel(channelName, null, 0);
}

其中“设置”只是回调:

void _setup()
{
    mRtcEngine.OnJoinChannelSuccess = onJoinChannelSuccess;
    mRtcEngine.OnUserJoined = onUserJoined;
    mRtcEngine.OnUserOffline = onUserOffline;
}

运气好吗?

最后我发现我的问题是由于我使用的 A​​gora appId,它在 agora 控制台中激活了证书,这意味着连接成功我必须同时提交令牌。

为了解决这个问题,我刚刚在 Agora 网站上创建了一个新的 appId 并确保它使用的是 APP_ID 身份验证方法 并且它非常有效。

感谢@Fattie,他尽一切可能帮助我,并将我推向了非常有用的 Slack 频道,我会向其他面临问题的人推荐。