Facebook Unity3d SDK не включает классы FBUtil и GameStateManager.

Я пытаюсь интегрировать facebook sdk в свою игру для Android Unity. Я не могу найти FBUtil и GameStateManager в SDK, загруженном с сайта разработчика. Я получил идентификатор пользователя, используя FB.UserId. Тоже получил ответ

"sending to Unity OnInitComplete({"access_token":"CAAUCMHNGlZCcBAHJBQAs7AoJNevkZAFbkpSRk60TURemvv4Y6IOu9NXjGcFjFRZAx9RoxwKT4ZBZASs0NLiYTmi4rl7RyWYdtxxhlKkSjoIWiqqDSBdSDKk0OppB2ZB4U6IgtqQs9PM8uNCaNF5xgqWn2c9DDkp4dJc9p38XONKpdwRF7qDHtM","user_id":"100003735696788","opened":true})"

Сразу после этого, когда я попытался получить изображение профиля пользователя, используя код, указанный на developer.facebook.com,

void LoginCallback() {
FB.API (
    "/me/picture",
    Facebook.HttpMethod.GET,
    APICallback
);      

}

В ответ я получаю 4 вопросительных знака.

????

в чем проблема? Пожалуйста помоги..


person Nick    schedule 31.08.2013    source источник
comment
Проблема FileNotFoundException решена. Теперь ждем ответа от FB по поводу отсутствующих классов FBUtil и GameStateManager.   -  person Nick    schedule 02.09.2013
comment
Привет, Ник. Можете ли вы сказать мне, какой фрагмент кода ссылается на них? А пока вот файлы: snipplr.com/view/72268/gamestatemanagercs snipplr.com/view/72269/fbutilcs Спасибо за проверку SDK!   -  person aaron    schedule 03.09.2013
comment
Привет @aaron, спасибо за ответ. Проблема, с которой я столкнулся при получении изображения профиля, была решена с помощью жестко запрограммированной ссылки http://graph.facebook.com/"+FB.UserId.ToString()+"/picture?type=large, так как я не получаю правильного ответа от FB, используя эту ссылку developers.facebook.com/docs/unity/reference/FB.API. Ссылка, которую вы предоставили для gamestatemanager и fbutil, дает ошибку "The snippet you're looking for has either been deleted by its owner or it never existed to begin with."   -  person Nick    schedule 03.09.2013
comment
Я подозреваю, что классы FBUtil и GameStateManager включены в демонстрационное приложение Friend Smash. Документы, в которых они упоминаются, находятся в учебнике Friend Smash developers.facebook.com. /docs/unity/tutorials/games/personalize Так что просто создавайте собственные версии этих классов, если вам нужна их функциональность.   -  person Donn Lee    schedule 04.09.2013
comment
@NickMascarenhas, эти ссылки теперь должны быть общедоступными (по крайней мере, у меня работает окно в режиме инкогнито), извините за это. FB.API('/me/picture'...) должен поддерживаться, но нет, я создам для этого задачу. Спасибо за ответ!   -  person aaron    schedule 04.09.2013
comment
@aaron, понял. Теперь я вижу код. Спасибо за ссылки.   -  person Nick    schedule 04.09.2013
comment
Спасибо @Аарон! Это сводило меня с ума в течение 2 дней, когда я пытался заставить SDK работать. Я искал повсюду код разгрома друзей, на который есть ссылка в документах. Проблемы с /me/... тоже сводили меня с ума. Спасибо за то, что вы в курсе.   -  person HowDoIDoComputer    schedule 04.09.2013


Ответы (2)


Я использовал эту ссылку, используя WWW в Unity, и она работала хорошо. Это именно то, что я сделал

  1. Получив идентификатор пользователя, создайте объект WWW следующим образом:

WWW url = new WWW("http://graph.facebook.com/INSERT_USER_ID_HERE/picture?type=large");

  1. Then in the LateUpdate I put an IF condition checking if the picture was loaded or not with a bool called loaded to avoid reloading the picture more than once

    if (url.isDone && !loaded)
    {
        loaded = true;            
    
        Texture2D textFb2 = new Texture2D(50, 50, TextureFormat.ARGB32, false); //TextureFormat must be DXT5
    
        url.LoadImageIntoTexture(textFb2);
        PLANE_OR_QUAD_OBJECT.renderer.material.mainTexture = textFb2;
    
    }
    

ПРИМЕЧАНИЕ: URL виден во всем классе, а также в загруженном виде

Если вам нужна дополнительная помощь с этим, дайте мне знать!

person Kennyomar    schedule 31.08.2013
comment
Я получил изображение профиля, используя это. Также, когда я вызываю FB.API ( "/me/picture", Facebook.HttpMethod.GET, APICallback );, я получаю ответ в делегате с неопределенными символами, такими как ??????? - person Nick; 31.08.2013

Обычно API изображений Facebook должен возвращать данные с типом текстуры, а не с текстом.

Например, если вы используете такой код, как ответ @jkgm777,

WWW url = new WWW("http://graph.facebook.com/INSERT_USER_ID_HERE/picture");

Вы должны получить тип текстуры, который можно использовать для замены объекта текстуры в сцене. Но если вы хотите получить URL-адрес изображения, ИСПОЛЬЗУЙТЕ ЭТО

http://graph.facebook.com/INSERT_USER_ID_HERE/picture?redirect=false

Вы получите этот JSON для ответа

data: {
url: "{#IMAGE_URL#}",
is_silhouette: false
}
person Peerawit Canthasaksiri    schedule 04.09.2013