Приложение Facebook - глубокая ссылка для нового пользователя приложения - PullRequest
1 голос
/ 09 декабря 2011

Короткая версия

У меня есть приложение Facebook iframe в качестве вкладки на странице поклонника.Приложение собирает записи для конкурса.Он перечисляет записи, а также имеет страницу для отображения одной записи.Я хочу иметь возможность ссылки на страницу однократной записи - у меня это работает с использованием параметра app_data, но только если пользователь ранее использовал приложение.Это не работает для нового пользователя, который должен добавить приложение (войти в систему).

Длинная версия

До сих пор мне удалось добиться того, чтобы это частично работало, связавшись с

http://facebook.com/pages/<myPageName>/<myPageId>?sk=app_<myAppID>&app_data=<myUrlEncodedJsonData>

Параметр app_data передается в iframe моего приложения через Facebook, и я могу затем обработать его на стороне сервера, чтобы перенаправить пользователя на соответствующую подстраницу.Кажется, что все работает хорошо ... но только если я вошел в приложение, прежде чем пытался получить доступ к содержанию с глубокими ссылками.

Если я пытаюсь перейти по глубокой ссылке на страницу с однократной записью и не имеюприложение установлено (сценарий: я друг участника, и мне предложили проголосовать за его запись, я еще не использовал приложение), после входа в систему я на главной страницемоего приложения, и это не то, что мне нужно.

Я использую PHP facebook SDK для получения loginUrl, например:

$loginUrl = $facebook->getLoginUrl(array('canvas' => 1,'fbconnect' => 0, 'scope' => 'email,publish_stream,offline_access,user_likes,publish_actions', 'next' => $canvasPage));

, где $canvasPage - это полноеURL-адрес приложения на моем сервере, $loginURL, где я перенаправляю пользователя, если обнаруживаю, что он не вошел в мое приложение.

Что мне следует изменить, чтобы иметь возможность направлять новых пользователей прямо на конкретный контент (подстраница) в моем приложении?

1 Ответ

0 голосов
/ 19 декабря 2011

решаемая. Я использовал сеанс, чтобы сохранить то, куда пользователь хочет попасть вначале, затем перенаправить его на страницу входа в систему, а когда он / она вернулся, читается сеанс, чтобы перенаправить пользователя в конечный пункт назначения.

...