Как удалить запрос приложения в iOS Facebook SDK? - PullRequest
4 голосов
/ 30 января 2012

При отправке запросов приложения на Facebook с помощью iOS SDK руководство разработчика требует, чтобы разработчики удалили запрос при открытии приложения.

Удаление запросов

Когда пользователь перенаправляется в ваше приложение, нажимая кнопку подтверждения запроса. Вы должны удалить запрос после того, как он был принят. Запросы не удаляются автоматически после нажатия, поэтому это ответственность разработчика - очистить их, как только они будут приняты. https://developers.facebook.com/docs/requests/#deleting

Есть ли функция для очистки всех уведомлений или других подобных помощников?

1 Ответ

5 голосов
/ 02 июня 2012

Следующий API очистит конкретный запрос приложения:

FBRequest *request = [facebookObject requestWithGraphPath:@"REQUEST-ID_USER-ID"
                                    andParams:[NSMutableDictionary dictionary]
                                    andHttpMethod:@"DELETE"
                                    andDelegate:self];

Замените идентификатор запроса на REQUEST-ID и идентификатор пользователя Facebook на USER-ID (подчеркивание между ними важно).Измените andDelegate и andParams при необходимости, но не передавайте объект nil в andParams, иначе он полностью потерпит неудачу.

Чтобы удалить все запросы, вам нужно выполнить итерацию по всем запросам, переданным в URL:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;

, который, вероятно, реализован в вашем делегате приложения.

Все существующие идентификаторы запросов пользователя разделяются запятыми в параметре request_ids параметра target_url в NSURL url.Это происходит только тогда, когда пользователь нажимает на уведомление о запросе приложения в приложении iOS на Facebook и в вашем приложении Facebook включена iOS Native Deep Linking.

...