Обнаружение всплывающего интерфейса запроса без трения - PullRequest
2 голосов
/ 26 марта 2012

Я пытаюсь создать поток запросов в нашем приложении Canvas, которое использует запросы без трения, чтобы разрешить отправку запросов в полноэкранном режиме.

Проблема, для которой я не вижу решения, заключается в том, как обнаружить при отправкезапрос будет всплывать диалоговое окно пользовательского интерфейса, и когда это не так.Если я отправлю запрос конкретно одному или нескольким пользователям, и ни у одного из них еще не будут включены запросы без трения, мне потребуется выйти из полноэкранного режима, чтобы отобразилось диалоговое окно FB UI.

ОднакоЕсли пользователь ранее отправлял запросы и устанавливал флажок без трения, нам не нужно выходить из полноэкранного режима.

Как узнать, будет ли отображаться диалоговое окно интерфейса пользователя?Сначала я подумал, что можно использовать hideFlashCallback, но похоже, что он запускается только для элементов Facebook, таких как панель уведомлений, а не для диалогов, которые инициирует само приложение.

Заранее благодарен за любую помощь илиидеи!Я знаю, что есть игры на FB, которые справляются с этим должным образом, но я не могу понять, как они это делают.

1 Ответ

1 голос
/ 27 марта 2012

Насколько я знаю, нет способа обнаружить это через API. Возможно, вам удастся обнаружить его в DOM, но вы будете готовы к поломке с обновлениями FB, используя недокументированные функции.

Что вы можете попробовать, так это установить тайм-аут для отключения полноэкранного режима, и если ваш обратный вызов сразу же получит ответ, вы можете отменить его. Вы должны были бы сфокусировать продолжительность тайм-аута, основываясь на том, сколько времени API обычно занимает обратный вызов в запросах без трения, но вы, вероятно, могли бы заставить это работать примерно с 250 или 500 миллисекундами.

...