Я пытаюсь реализовать Facebook SDK 3.1 в нашем приложении, строго для того, чтобы позволить пользователю публиковать о нашем приложении на своей стене. Мы не хотим никакой информации о пользователе. Мы просто хотим, чтобы они наслаждались использованием приложения настолько, что делились им, чтобы другие покупали его и загружали.
Я следил за инструкциями на следующей странице Facebook для начала работы, а также в Facebook:
https://developers.facebook.com/ios/features/whats-new-ios-sdk-3.1/
На устройстве под управлением iOS 6.0 я был разочарован, увидев следующий блок кода, который должен запрашивать базовую информацию:
- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
return [FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
[self sessionStateChanged:session
state:state
error:error];
}];
}
Результаты в следующем диалоговом сообщении UIAlertView отображаются пользователю:
"App Name" would like to access your basic profile info and list of friends.
Как конечный пользователь, мне было бы интересно, почему этому приложению нужен список моих друзей. И на самом деле, наше приложение не нуждается в списке друзей и будет обеспокоено тем, что приложение начнет рассылать спам моим друзьям (например, так много приложений действительно делают, что мы даем разрешения).
Опять же, делая вид, будто я конечный пользователь, неохотно предоставляя привилегии, я перехожу в браузер и получаю доступ к своим настройкам учетной записи в Facebook и выбираю "Приложения". Затем я выбираю приложение, к которому я только что предоставил доступ. В нем говорится следующее:
Для этого приложения необходимо:
Your email address
Your birthday
Your location
Опять же, приложение не нуждается в этих вещах.
На той же странице настроек приложения в Facebook у нее есть опция "Последний доступ к данным" → "См. подробности". Когда я нажимаю, он говорит следующее:
Last Data Access
In the last 90 days, "App Name" accessed the following information on your behalf:
Basic Information
Education History, Current City and Work History
Сюжет сгущается! Моему приложению не нужна история образования, текущий город и история работы.
Причина, по которой это меня беспокоит, заключается в том, что я считаю, что пользователи откажутся от этих запросов доступа, потому что они не понимают, почему моему приложению нужны все эти вещи.
Как мне по-настоящему идти за минимальными привилегиями, чтобы я мог позволить пользователю публиковать сообщения из нашего приложения о нашем приложении на собственной стене?
Кто-нибудь смог сделать это успешно?