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

时间:2015-07-06 18:56:52

标签: facebook unity3d facebook-unity-sdk unity-web-player

我正在调整Unity项目以在Web播放器中运行,以便与Facebook的Canvas集成,特别是FB In-App Purchase系统。转换几乎已经完成,并且最近几周前我已经验证了IAP选项下的每个可能的选择都能很好地完成,并且可以正确地解决交易问题。但是,异步支付选项突然开始失败,并显示一条奇怪的错误消息,该消息似乎与任何Unity代码或设置为托管游戏的Web服务器无关。

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

  

TypeError:undefined不是对象(评估   ' window.parent.require(" GamePaymentProviderIFrameFlow&#34)。processIFrame&#39)

     

redirect.php

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

现在我不知道" redirect.php"实际上是,但是从我能够收集到的内容来看,它似乎正在寻找并且未能找到名为" GamePaymentProviderIFrameFlow"的模块。我无法找到有关这是否是Facebook Unity SDK的一部分或Facebook服务器上的内容的任何信息。我确实发现"要求" call很可能是Node.js的一部分,因此不会在播放器的浏览器中运行,而是在服务器上运行。

我使用的是Unity版本4.3.0f4和Facebook Unity SDK版本6.2.2。因为它正常工作,我还没有碰到任何关于支付系统的事情,虽然我知道这不能保证,但这个错误似乎并没有发生在Unity内部。我能想到的唯一可能性是,由于Facebook API的一些变化,FB Unity SDK的一些FB通信已经开始失败。但是,如果这是真的,我不知道是否有任何合理的方法来解决这个问题,而不是等待来自FB的补丁。

是否有其他人遇到此类或类似内容或可就此主题提供任何其他建议?

1 个答案:

答案 0 :(得分:0)

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

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

猜猜我只需要等待。