2013-06-27 48 views
0

我已經整合Facebook上與我的Android應用程序之後。它運行良好,但是當我關閉應用程序時,會話被破壞,我必須重新登錄。的Facebook會話銷燬應用程序關閉

我想保持登錄,直到在註銷用戶點擊按鈕?我怎樣才能做到這一點?

回答

2

的關鍵,這個解決方案和問題的原因中使用的訪問令牌有可能被發現。我的猜測是你目前正在使用一個短訪問令牌。

如果你會用長期的訪問令牌,見,https://developers.facebook.com/docs/facebook-login/access-tokens/,並將其存儲在一個持續性的方式問題將得到解決。由於您使用的是Android,我會將其存儲在SQLite中,並在應用程序啓動/恢復時進行檢索。

從Facebook開發者網站:

過期和擴展令牌

一些訪問令牌有大約一到兩個小時有限的有效期。爲了繼續期滿時間後使用這些標記,他們需要進行擴展。

使用面向Android和iOS的Facebook SDK,使用服務器端登錄流的桌面應用程序或應用程序的應用程序會自動生成長期用戶訪問令牌。每次觸發登錄流時,這個長期存在的令牌都會刷新並擴展。然而,實現自己的客戶端流量的應用程序必須實現一些服務器端代碼來使用圖形API端點手動擴展標記:

所以,如果我是你,我會嘗試生成一個長期的訪問令牌將其存儲爲一種持久的方式(例如在數據庫中),並在應用程序啓動或恢復時使用它。

問候, 喬納斯

2

正如@Jonas karlsson說我要一些點添加到它。

  • 如果你想,應用程序不應該要求一次又一次登錄,當應用程序啓動時,你應該使用持久存儲。保存accessTokenSharedPreference storage。因爲將它保存在數據庫中不是一個好主意。如果你的應用程序不需要使用數據庫,那麼它沒有理由創建一個數據庫來存儲一個值。使用該保存的訪問令牌來驗證會話,它將爲您工作。

這可能會幫助你...歡呼...