Как приложение Canvas перенаправить на другую вкладку, такую ​​как Стена? - PullRequest
0 голосов
/ 07 сентября 2011

Я пытаюсь создать так называемое приложение "Welcome Tab" для бизнес-страницы. Я хочу, чтобы или мое приложение Canvas отображало сообщение, когда vistor не понравилась страница, или обычную вкладку «Стена», если оно есть.

Я сделал это, установив страницу холста в качестве целевой вкладки по умолчанию, а затем проверив параметр «Мне нравится», переданный Facebook, и мой PHP может успешно определить, что он должен делать. Согласно этому извлечению:

if ($results['page']['liked'] == 1) {
$redirect = $pages[$results['page']['id']]['liked']; } else {

$redirect = $pages[$results['page']['id']]['unliked']; }

header('Location: '.$baseurl.$redirect);

Однако использование header () для загрузки страницы, которая, в свою очередь, содержит немного Javascript для выполнения «top.location = http://www.facebook.com/pages/xxxxxxx/yyyyyyy?sk=wall" перенаправления, занимает около секунды и приводит к тому, что посетитель видит пустой холст короткая страница, а затем полная перезагрузка страницы.

Однако эта страница https://www.facebook.com/ourcarnoustie, кажется, способна мгновенно отображать Стену для лайкеров и собственную вкладку «Добро пожаловать» для не-лайкеров без какой-либо явной задержки или обновления.

Любые предложения или указатели будут с благодарностью. Спасибо.

Ответы [ 3 ]

0 голосов
/ 08 сентября 2011

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

В настоящее время я использую этот php, чтобы изменить мой html между «понравился» и «не понравился» ...

<?php
    $signed_request = $_REQUEST["signed_request"];
    list($encoded_sig, $payload) = explode('.', $signed_request, 2);
    $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
    if (empty($data["page"]["liked"])) {

//echo 'UNLIKED';

    } else {

//echo 'USER HAS LIKED';

    }
?>

Но мне также нужно узнать, как пользователям, которым уже понравилась страница, перенаправить на стену - вместо того, чтобы видеть приложение приветствия.

Поскольку это внутри iframe, вы думаете, это возможно?

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

0 голосов
/ 10 сентября 2011

Я нашел ответ на свой вопрос.

Часто задаваемые вопросы на страницах Facebook включают следующее:

Почему я не могу выбрать целевую вкладку для существующих подписчиковмоя страница?

Вкладку по умолчанию можно настроить только для людей, которые не следят за вашей страницей.Как только они пойдут за вашей страницей, они увидят стену страницы по умолчанию.

Таким образом, люди, которым НРАВИТСЯ страница, автоматически попадают на страницу стены, независимо от того, какая вкладка посадки выбрана в настройках страницы.Поэтому приложение с целевой вкладкой не должно выполнять перенаправление, которое я пытался выяснить, так как Facebook уже делает это!

0 голосов
/ 08 сентября 2011

Facebook по умолчанию на стене для людей, которым понравилась страница.На самом деле, как правило, запрашивается обратный порядок настройки страницы приветствия для всех:)

Для того, что вы просите, вам не нужно ничего делать, так как это поведение.

...