如何修复 Facebook 的 Unity SDK Pay 对话框中的这个错误?

How can I fix this error in Facebook's Unity SDK Pay dialog?

我正在将 Unity 项目改编为网络播放器中的 运行,以便与 Facebook 的 Canvas 集成,特别是 FB 应用内购买系统。转换即将完成,就在几周前,我已经验证了 IAP 选项下的每一个可能的选择都完美地工作并且会正确地解决交易。然而,异步支付选项突然开始失败,并出现一条奇怪的错误消息,该消息似乎与任何 Unity 代码或为托管游戏而设置的 Web 服务器无关。

当玩家选择异步支付选项并在 FB Pay 对话框中单击确认时,对话框不会关闭,并且错误会输出到调试控制台:

TypeError: undefined is not an object (evaluating 'window.parent.require("GamePaymentProviderIFrameFlow").processIFrame')

redirect.php

这是 Safari 的错误输出,其他浏览器给出类似的消息,表明 "processIFrame" 未被识别,因为 "window.parent.require(...)" 正在返回未定义的引用。

现在我不确定 "redirect.php" 到底在哪里,但从我收集到的信息来看,它似乎正在寻找但未能找到名为 "GamePaymentProviderIFrameFlow" 的模块。我找不到任何信息来说明这是作为 Facebook Unity SDK 的一部分发生的事情还是 Facebook 服务器上发生的事情。我确实发现 "require" 调用很可能是 Node.js 的一部分,因此在播放器的浏览器中不会是 运行,而是在服务器上。

我使用的是 Unity 版本 4.3.0f4 和 Facebook Unity SDK 版本 6.2.2。由于支付系统工作正常,我当时没有触及任何关于支付系统的事情,虽然我知道这不能保证,但错误似乎根本没有发生在 Unity 中。我能想到的唯一可能是,由于 Facebook API 的一些变化,一些与 FB Unity SDK 的 FB 通信已经开始失败。但是,如果那是真的,我不知道除了等待 FB 的补丁之外是否有任何合理的方法来解决这个问题。

有没有其他人遇到过这个或类似的事情,或者可以就这个主题提供任何其他建议?

在 Facebook 的开发网站上发现了一份错误报告,其中详细说明了我遇到的确切问题。显然这是一个已知的 UI 问题,正在解决中。

https://developers.facebook.com/bugs/145796563404096/

我猜我只需要等待。