Недавно я обнаружил странное поведение с Facebook SDK для Unity (v6.0.0), когда он будет запрашивать FB, используя старый Graph API (1.0), если ваш идентификатор приложения создан до 30 апреля 2014 года.
Насколько я понимаю, исходя из ограниченной документации об этом поведении, SDK будет автоматически применять новый API 2.0 после 30 апреля 2015 года. Все это хорошо, если предположить, что формат ответа API не изменится. Тем не менее, я заметил, что есть изменение в запросе списка me / permissions, которое дает очень разные ответы в зависимости от предоставленного идентификатора приложения:
- При использовании идентификатора приложения, созданного до 30 апреля 2014 г., в качестве ответа используется формат Graph API 1.0.
- При использовании APP ID, созданного ПОСЛЕ 30 апреля 2014 г., формат ответа - 2.0.
Это очень странное и сбивающее с толку поведение. Это означает, что на данный момент, даже если я обновлю Facebook SDK до последней версии, он всегда будет запрашивать через Graph API 1.0? Как мне обновить свою игру для поддержки нового API 2.0 до 30 апреля 2015 г.?
На данный момент, если я исправлю свой код для анализа данных ответа, как описано в документе 2.0, он никогда не будет работать для моих уже выпущенных приложений, выпущенных до 30 апреля 2014 года, а просто сломает его.
Итак, вопрос в том, есть ли способ заставить SDK использовать API 2.0? ИМХО, вся эта автоматическая база выбора версии API на APP ID кажется отсталой и бессмысленной. Facebook должен просто обеспечить его соблюдение, чтобы новый SDK всегда использовал новый API. Мы, разработчики, узнаем, как это исправить, и опубликуем новое обновление для наших пользователей.