Короткая версия
У меня есть приложение 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
, где я перенаправляю пользователя, если обнаруживаю, что он не вошел в мое приложение.
Что мне следует изменить, чтобы иметь возможность направлять новых пользователей прямо на конкретный контент (подстраница) в моем приложении?