检测无摩擦请求UI弹出窗口

时间:2012-03-26 19:40:24

标签: facebook facebook-javascript-sdk apprequests

我正在尝试在我们的画布应用程序中创建一个请求流,该应用程序使用无摩擦请求以允许在全屏模式下发送请求。

我没有看到解决方案的问题是如何检测发送请求时会弹出UI对话框,何时不会。如果我专门向一个或多个用户发送请求,并且其中任何一个用户尚未启用无摩擦请求,我将需要突破全屏,以便FB UI对话框可以显示。

但是,如果用户之前已发送请求并检查了无摩擦复选框,则无需突破全屏。

我如何知道UI对话框是否会显示?起初我认为可以使用hideFlashCallback,但似乎这只是针对Facebook元素(例如通知面板)而不是针对应用程序本身启动的对话框。

提前感谢任何帮助或想法!我知道FB上有游戏可以正确处理这个问题,但我无法弄清楚他们是如何做到这一点的。

1 个答案:

答案 0 :(得分:1)

据我所知,无法通过API检测到这一点。您可以在DOM中检测到它,但是您可以通过使用未记录的功能打开自己的FB更新破坏。

您可以尝试设置超时以打破全屏,如果您的回调立即获得响应,那么您可以取消它。您必须根据API在无摩擦请求中执行回调通常需要多长时间来确定超时的持续时间,但是您可能会使用250或500毫秒的时间来完成此操作。