Как получить доступ к параметрам запроса при использовании sdk facebook unity

Я решил интегрировать новый sdk facebook unity, до сих пор я использовал настраиваемую веб-страницу со встроенным проигрывателем unity.

Я настроил приложение Facebook, включив «Интеграция с Unity включена» и указав URL-адрес Unity Binary с моим приложением.

Вопрос: как получить доступ к параметрам URL в такой настройке?

Например, если кто-то нажимает ссылку https://apps.facebook.com/myapp/?inviter_id=123 Я хочу получить доступ к inviter_id из Unity. До сих пор я реализовал его на javascrit на моем собственном веб-сайте, содержащем веб-плеер, и я просто передал его в качестве параметров при вызове unityObject.embedPlayer, поэтому в Unity я мог получить к нему доступ с помощью Application.srcValue В данный момент я не предоставляю собственный веб-сайт / js только файл .unity3d.


person Mirek Pluta    schedule 17.09.2013    source источник


Ответы (2)


Это скоро появится в следующем обновлении SDK. Он будет доступен на iOS, Android и Facebook Canvas.

Обновление SDK 4.3.3: теперь в SDK есть эта функция для всех трех платформ: Canvas, iOS и Android. Посмотрите на FB.GetDeepLink().

https://developers.facebook.com/docs/unity/reference/current/FB.GetDeepLink

person Brian Jew    schedule 17.09.2013
comment
Никакого фактического ETA, кроме того, что это произойдет быстро. Мы исправляли ошибки и получали действительно хорошие отзывы от разработчиков с каждым выпуском. А пока вы можете использовать что-то вроде этого, чтобы получить параметры URL Application.ExternalEval("u.getUnity().SendMessage(<string name of your GameObject>, <string name of your method in the GameObject>, location.href);");, чтобы ваш метод принимал одну строку в качестве параметра. Вы можете разобрать нужный URL-адрес. - person Brian Jew; 19.09.2013
comment
Привет, Брайан, у меня последняя версия, но я не мог понять, как получить доступ к внешним параметрам ... Я имею в виду, если я отправлю запрос в своем приложении, а друг примет его в приложении facebook, как мне получить запуск URL? Я нигде не нашел в документации :( - person KnF; 01.10.2013
comment
Привет, извините, мы еще не добавили его в последнюю версию SDK. Сначала у нас было решение, но мы обнаружили серьезную ошибку, когда параметры не отображались каждый раз. Вместо того, чтобы выпустить наполовину готовое решение или отложить другие исправления ошибок, мы вытащили его, чтобы найти лучший способ сделать это. - person Brian Jew; 01.10.2013
comment
Ох, это очень плохо ... Я пытался избежать покупки плагина Prime31 по этой единственной причине ... Подождать еще пару дней? - person KnF; 02.10.2013
comment
Извините, я пропустил уведомление о переполнении стека, на которое вы ответили. При следующем запуске SDK это будет, и он выйдет через несколько дней. Или, если вы не против получить раннюю версию, против которой вы можете написать код, вы можете отправить нам электронное письмо по адресу [email protected]. Мы все еще тестируем его на предмет потенциальных ошибок, прежде чем опубликовать его, так что имейте это в виду. - person Brian Jew; 08.10.2013

После некоторого рытья я обнаружил, что лучший способ - выполнить код javascript, который передает window.location.href обратно в Unity:

        Application.ExternalEval(
        "UnityObject2.instances[0].getUnity().SendMessage('FacebookCallbackGO', 'InitializeForFacebook', window.location.href);"
        );
person Mirek Pluta    schedule 17.09.2013
comment
Это действительно только для Canvas ... вы знаете, как получить доступ к launchURL в iOS и Android? - person KnF; 01.10.2013
comment
FB.GetDeepLink() в версии 4.3.3 имеет способ получить его для всех платформ. - person Brian Jew; 18.10.2013