1

Я серьезно не понимаю, как работают разрешения. Поясню:Facebook SDK 6.0 для Unity: я не понимаю, как работают разрешения

  1. У меня есть приложение Facebook установить в моем аккаунте разработчика
  2. Я определил тест приложение
  3. В мое приложение Unity с помощью Facebook SDK, Im вызова этой функции входа в систему:

    string permissions = "public_profile,user_bithday,user_location"; 
    FB.Login (permissions, LoginCallback); 
    
  4. После обратного вызова, я прошу предоставленных разрешений, и я получаю:

    request response: {"data":[{"permission":"public_profile","status":"granted"},{"permission":"email","status":"granted"},{"permission":"publish_actions","status":"granted"},{"permission":"user_birthday","status":"granted"},{"permission":"user_likes","status":"granted"},{"permission":"user_photos","status":"granted"},{"permission":"user_friends","status":"granted"}]} 
    

Я должен сказать, что я все еще экспериментирую с созданием SDK с одним и тем же приложением Facebook, разными логинами из разных проектов Unity (конечно, из редактора). Разрешения, которые я получаю, - это тот, который я задал с проектом, который я разрабатывал 3 недели назад. Поскольку все работает, я сосредоточился на чем-то другом. Сегодня я сделал новый проект, запросив разрешения, определенные в функции входа в пункт 3.

Мой вопрос: почему я получаю разрешения, о которых я не просил? Будет ли у меня такая же проблема при развертывании приложения на разных устройствах? [EDIT] Более важно, чем те, почему я не получаю разрешения «user_location», о которых я прошу? Это даже не означает, что запрашиваемое разрешение было отклонено. [/ EDIT]

Идея заключается в том, чтобы использовать то же приложение Facebook, но с 2-мя различными проектами Unity: один проект является игра, которая будет развернута на прошивкой и Android, а другой представляет собой отдельное приложение для Mac и Windows, что позволит уполномоченному лицу изменять игру (скажем, редактор игры). Как вы можете догадаться, проектам потребуются разные разрешения. Является ли это чем-то подобным или потому, что я использую 2 разных проекта с одним и тем же приложением Facebook, у меня будут проблемы?

Приветствия за помощь, ребята :-)

+0

Я не знаю ничего о разрешениях на Facebook, но действительно ли это проблема, которую вы должны получить, разрешения, о которых вы не просили? Предположительно, вы просто проанализируете ответ разрешений на запрашиваемые вами вещи, видите, все они предоставлены и игнорируют все остальное? – Vicky

+0

Ну, я не буду использовать какую-либо функцию для разрешений, которые я не спрашивал, но проблема в том, что мне нужно разрешение, которое не предоставляется, и, кроме того, проверка не скажет мне, что у него нет был предоставлен. Обычно, если вы запрашиваете разрешение, которое не было предоставлено, должно быть уведомление о недопустимости разрешения, которое не происходит. – Apache81

+0

У вас есть. Возможно, было бы яснее сделать это явным в вопросе. – Vicky

ответ

1

После того, как пользователь предоставил определенные права доступа приложения Facebook, они остаются там, если разработчик или пользователь явно отнимают их; Вызов FB.Login() должен гарантировать, что у вас есть, как минимум, разрешения, которые вы запросили.

Кстати, Facebook рекомендует запрашивать разрешения только в том месте, где вы должны их использовать; Запрос дополнительных разрешений выполняется с помощью FB.Login («just_the_new_permission_you_need»), и он не отображает то, что дал пользователь до сих пор.

tl; dr yes, используя два проекта с одним и тем же вспомогательным средством, разрешения от одного будут предоставлены другому и наоборот.

+0

gotcha. Еще одна вещь: я прошу предоставить все необходимые разрешения в первом входе в систему, потому что мне действительно нужно получить информацию о зарегистрированном пользователе, чтобы заполнить поле моего приложения. есть ли способ получить их в первом вызове, а не проверять, что я получил и спросить снова? это задание и повторное задание имеют стоимость, если вы знаете, что я имею в виду. – Apache81

+0

Я боюсь, что нет; Facebook всегда дает пользователю свободу решать, что они не хотят давать разработчику определенные разрешения. EDIT: Это может помочь вам объяснить ** почему ** вы хотите получить разрешения, прежде чем просить их, а не загружать приложение по своему требованию. – shacharg

+0

О да, я это знаю. Я подробно объясню, почему мне нужно разрешение, когда я отправлю приложение для утверждения. То, о чем я спрашивал, было связано с первым приемом входа в приложение. Позвольте мне лучше объяснить: если мне нужно опубликовать, отправить электронную почту и местоположение, могу ли я попросить разрешения в один прием в моем первом входе в систему, или я должен попросить их 3 из 3 разных последовательных вызовов входа? Я полагаю, что я могу попросить их всех за один раз ... но, как я уже сказал, я не получаю место в этом случае ... – Apache81

 Смежные вопросы

  • Нет связанных вопросов^_^