2013-05-02 2 views
2

Я использую ShareKit, чтобы пользователи могли делиться материалами из моего приложения с Twitter и Facebook. После того, как пользователь поделился этим объектом, я хотел бы, чтобы мое приложение уведомило об этом, чтобы передать вызов API моему серверу - чтобы он мог обрабатывать уведомления пользователей, «ваш друг просто что-то поделил, посмотрите!».Как получить уведомление, что пользователь поделился с помощью ShareKit?

Facebook SDK позволяет получить обратный вызов с информацией, такой как идентификатор сообщения. Мне интересно, как добиться чего-то подобного при использовании ShareKit 2.0 - следует ли мне переопределить некоторые способы использования Facebook и Twitter?

ответ

0

Похоже, что изменение ShareKit было самым простым (?) Вариантом.

В файле SHKFacebook.m, в

-(void)FBRequestHandlerCallback:(FBRequestConnection *)connection 
         result:(id) result 
          error:(NSError *)error 

метода параметр результата на самом деле содержит то, что мне нужно - это словарь-подобный объект, который имеет ключ id - и значение представляет собой строку, содержащую FB идентификатор пост:

result: { 
    id = "XXXXXXXX_YYYYYYYYYYYYYYYYYYY"; 
} 

Так что я на самом деле было добавление @property (nonatomic, strong) id sharingResult в базовом классе SHKSharer и установив его на значение result непосредственно перед са l [self didFinishSending] в FBRequestHandlerCallback. Это позволяет мне получить доступ к результату в shareDelegate позже, в методе - (void) sharerFinishedSending:(SHKSharer *)sharer.

2

Все SHKSharer s предоставляют механизм делегирования, который вы можете использовать для уведомления об успехе/неисполнении доли (или авторизации). Проверьте файл docs/.h.

+0

Но есть ли способ получить ответ от Facebook? Поскольку это должно дать мне ссылку на общую почту. – kender

+0

Я думаю, вам придется либо модифицировать пакет share для этого, либо, когда вы получите обратный вызов делегата, вы можете вызвать FB для запроса данных. – Wain

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