Как удалить запрос приложения в iOS Facebook SDK?

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

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

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

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


person RealCasually    schedule 30.01.2012    source источник


Ответы (1)


Следующий 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 в url NSURL. Это происходит только тогда, когда пользователь нажимает на уведомление о запросе приложения в приложении Facebook для iOS, а ваше приложение facebook включено iOS Native Deep Linking.

person Praveen    schedule 01.06.2012
comment
В моем случае в target_url отсутствует параметр request_ids. Мой целевой URL имеет следующий формат: facebook.com/appcenter/‹APP_ID›. Любые идеи, почему в URL-адресе может отсутствовать параметр request_ids? - person DancOfDeth; 22.09.2012
comment
скажем, я хочу удалить запрос, как только пользователь нажмет на запрос в уведомлении, тогда где лучше всего поместить код? - person MohamMad Salah; 01.11.2012