2011-09-07 2 views
0

비즈니스 페이지 용으로 '환영 탭'앱을 만들려고합니다. 내가 원하는 것은 내 캔버스 앱이 vistor가 페이지를 좋아할 때 메시지를 표시하거나 정상적인 "Wall"탭이있을 때 메시지를 표시한다는 것입니다.캔버스 앱을 벽과 같은 다른 탭으로 리디렉션 할 수 있습니까?

캔버스 페이지를 기본 랜딩 탭으로 설정 한 다음 Facebook에서 전달한 '좋아요'매개 변수를 확인하면 내 PHP가 수행해야 할 작업을 성공적으로 결정할 수 있습니다. 이 추출물에 따라 :

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

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

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

차례로 수행하는 자바 스크립트의 약간을 포함하는 페이지로드 헤더()를 사용하여 "따라 top.location을 = http://www.facebook.com/pages/xxxxxxx/yyyyyyy?sk=wall"재 지정은에 두 번째 정도 및 결과를 소요 빈 캔버스 페이지를 잠시보고 나서 전체 페이지를 다시 읽는 방문자.

그러나이 페이지 https://www.facebook.com/ourcarnoustie은 Wall to Likers와 그 자신의 "Welcome"탭을 명백한 지연이나 새로 고침없이 리터가 아닌 사용자에게 즉시 표시 할 수있는 것처럼 보입니다.

어떤 제안이나 조언을 주시면 감사하겠습니다. 감사.

답변

0

페이지를 좋아 한 사용자의 벽면은 기본적으로 Facebook에 기본 설정되어 있습니다. 실제로 그것은 모든 사람에게 환영 페이지를 설정하는 방법에 대해 요청한 역순입니다. :)

당신이 요구하는 것에 대해 행동을 취할 필요가 없습니다.

+0

안녕하세요 Dustin 및 감사합니다. 실제로 내 "환영"페이지를 벽이 아닌 기본 방문 페이지로 설정했습니다. 그래서 모든 사람들이 먼저 거기로 이동하게됩니다.내 코드는 방문자가 Liker인지 확인한 후 위에서 설명한대로 벽으로 리디렉션합니다. 그러나 예제 페이지만큼 부드럽게 움직이지 않습니다. –

0

흠 나는 오늘 같은 문제로 나 자신을 착륙 시켰습니다. 나는 현재 '좋아'를 좋아하지 '사이 내 HTML을 변경하려면이 PHP를 사용하고

...

<?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 안에 있기 때문에 가능하다고 생각하십니까?

나는 또한 당신이 일한다고 말한 환영 앱으로 그 페이 스북 페이지를 보았고, iframe을 사용하여 그 콘텐츠를 끌어 들이지 않는 오래된 애플 리케이션이 아니면 그렇게 할 수 있어야한다.

+0

안녕하세요 - 예를 들어 제가 사용한 예제 페이지가 더 오래된 것을 사용하고 있는지 궁금합니다. top.location = "벽 페이지 용 전체 URL"을 사용하여 Javascript가 포함 된 iFrame에서 "좋아하는"HTML을 출력하여 벽에 페이지를 좋게 보낸 사람들을 인증받을 수 있지만 그 문제는 캔버스 페이지 디스플레이입니다 처음 몇 초 동안 전체 Facebook 페이지가 다시로드되어 벽이 표시됩니다. (깔끔하고 부드럽지 않습니다.) ( –

+0

리디렉션으로 인해 플래시가 발생하고 페이지가 두 번로드되는 것이 아닌지 궁금합니다. 깔끔한 방법. 내 앱에서 이런 일이 일어나기를 바랄 수 있다면 흥미가 생기 겠지만, 행운을 빌어도 계속 사냥을 할 것입니다. – Joshc

+0

안녕하세요, David 님, 회신에서 "나는 할 수있다. "벽에 페이지를 좋아 한 사람들을 리디렉션하도록 인증서를 얻으십시오."- 페이스 북 외부의 웹 사이트로 리다이렉트 (redirect)하기 위해 탭을 가져와야 할 필요가 있기 때문에이 코드로 나를 도울 수 있다고 생각하십니까? – Joshc

0

나는 내 자신의 질문에 대한 답을 찾았습니다.

가 왜 내 페이지의 추종자 기존 착륙 탭을 선택할 수 없습니다 :

페이스 북 페이지 자주 묻는 질문

이 문을 포함?

기본 방문 도구 탭은 페이지를 따르지 않는 사람들에 대해서만 조정할 수 있습니다. 사용자가 페이지를 따라 가면 페이지의 벽이 기본값으로 표시됩니다.

페이지를 좋아하는 사용자는 페이지 설정에서 선택한 방문 페이지 탭에 관계없이 자동으로 벽 페이지로 이동합니다. 그러므로 랜딩 탭 앱은 페이스 북이 이미 그것을 수행하기 때문에 내가 알아 내려고 시도했던 리다이렉션을 할 필요가 없다!