2013-06-28 59 views
0

我正在整合Facebook,但我仍然沒有看到FBSession如何將所有內容聯繫在一起。FBSession如何使用

這是我認爲它的工作原理。

每個應用程序啓動都需要一個新的FBSession。 (這是真的?)。每當應用程序停止時,FBSession也需要關閉(如果這是真的,我們如何開始新會話而不要求用戶再次登錄?)

就會話而言,[FBSession activeSession]是由facebook sdk管理的全球?我們是否應該隨時使用這個默認會話來拉取數據或檢查會話是否存活?

假設上述邏輯已經解決了,並且您獲得了用戶標識(fb id),那麼我們會將該標識提供給FBImageView並獲取配置文件圖片,但是這個標識不是每次啓動都會更改嗎?因此,將它存儲在我們的服務器上並不有用?我們是否應該在每次發佈時都獲得ID

請讓我知道什麼是對或錯關於上述聲明,並解釋爲什麼?

謝謝。

回答

0

我建議你使用activeSessionFBSession。這樣你就不必自己創建會話。只需使用[FBSession openActiveSessionWithReadPermissions:...]方法FBSession激活activeSession,並在成功打開後,您可以使用FBSession.activeSession作爲您的Facebook請求。祝你好運! PS> 爲了恢復activeSession你可以這樣做:

if (![FBSession.activeSession isOpen]) { 
     [FBSession openActiveSessionWithReadPermissions:@[@"basic_info"] allowLoginUI:NO completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { 
     }]; 
    } 

如果它已緩存的令牌信息不顯示登錄界面,這將打開的會話。

+0

謝謝!爲什麼不不關閉會議? –

+0

無論如何,會話在您的應用終止時會關閉。這就是爲什麼Facebook SDK提供這種機制來恢復會話。 –

+0

那就是自動??即使我不把關閉放在appdelegate中? –

相關問題