0

私は数時間探していましたが、私の問題に対する答えが見つからないようです。そのため、ここに助けを求めました.

Facebookにいいねゲートがあります。ユーザーが苦労した後、友人の招待ウィンドウが表示されます。これも正常に機能し、友人、テキストを表示し、通常どおり人々を招待します。問題は、ユーザーがアプリに招待されたときに、リンクがフレームなしでアプリに直接誘導されることです (続行するためのボタンがありません)。

別のいいねボタンを使用してこれを修正できますが、それはしたくありません。この種のウォークアラウンドを作成する方法はありますか?

  1. ページが気に入らなかった人には、スプラッシュ スクリーンが表示されます。気に入らないページ
  2. 好きな人は中に入ってください。
  3. 招待された人は、いいねボタンなしで直接リンクを取得します...写真へのリンク

私は開発にかなり慣れていないので、できるだけ簡単に説明してください。前もって感謝します

4

1 に答える 1

0

「問題は、ユーザーがアプリに招待されたときに、リンクがフレームなしでアプリに直接誘導することです (続行するためのいいねボタンはありません)。」

これにより、訪問者が [いいね] ボタンのないページから [いいね] ボタンのあるページにリダイレクトされます。

<script>
    if(document.URL.indexOf("fb_source") != -1)
    {
    top.location.href = "http://www.facebook.com/pages/PAGE_NAME/PAGE_ID/APP_ID";
    //change accordingly
    }
</script>

「ページが気に入らなかった人はスプラッシュ スクリーンを取得します。気に入った人は中に入ります。」

FQL クエリを実行して、訪問者がすでにページを気に入っているかどうかを確認します。

$page_id = PAGE_ID; //change accordingly
$facebook = new Facebook(array(
    'appId'  => APP_ID, //change accordingly
    'secret' => APP_SECRET, //change accordingly
    'cookie' => true,
));
$access_token = $facebook->getAccessToken();

function userIsFan()
{
    global $page_id, $facebook, $access_token;
    $fql = "SELECT uid from page_fan WHERE uid=me() AND page_id='".$page_id."'";
    $param = array('method' => 'fql.query',
    'access_token' => $access_token,
    'query' => $fql,
    'callback' => '');
    $response = $facebook->api($param);
    if (isset($response[0]))
    {
        return true;
    }
    return false;
}

彼らがあなたのページを気に入った場合は、アプリケーション (yourApplication.php) に誘導し、それ以外の場合はスプラッシュ ページ (splashPage.php) に誘導し、あなたのページを気に入るように依頼します。

if (userIsFan())
{
    header("Location: yourApplication.php"); //change accordingly
}
else
{
    header("Location: splashPage.php"); //change accordingly
}
于 2012-06-21T10:19:38.970 に答える