2012-09-02 105 views
0

我開始與我的應用程序與FB集成,我一直在閱讀很多信息。Facebook和iOS集成最佳做法,以避免登錄按鈕

我已經下載了SDK並完成了將框架集成到我的應用程序中的所有必要步驟。這已經是Facebook的準備。

儘管如此,還是有一件事我沒有想清楚。這是相當概念化的。

我的應用程序非常簡單。只有幾個屏幕,沒有骨幹網,網絡服務,用戶帳戶等。基本上,您可以在卡上放三個選項,並在洗牌後選擇一張卡。沒有其他的。

Facebook集成的每個入門教程都有登錄部分。我見過的每個例子都有登錄按鈕,但我真的不想在我的應用上有登錄按鈕。只需「分享」按鈕。

處理這個問題的最佳方法是什麼?我應該讓「分享」按鈕的行爲像「登錄」按鈕,然後分享內容?它會在下一次該用戶已經登錄並且以某種方式跳過登錄部分時知道嗎?

這是最好的路?

回答

1

發佈時,如果尚未登錄,則會自動完成登錄過程,然後發佈。

如果您存儲檢索到的登錄令牌,則您將來使用該令牌,並且不需要再次登錄。

編輯-----

我這樣做。我有一個Facebook單身課程。在單例的init中,您將facebook.accessToken設置爲登錄完成時存儲在NSUserDefaults中的accessToken。 通過這種方式,您可以使用.isSessionValid方法來決定是重新登錄還是重新登錄。如果用戶尚未登錄,則accessToken將爲零,因此會話無效。

-(void) postToWallWithDialogNewHighscore:(int)highscore 
{ 
    _highScore = highscore; 
    _postAfterLogin = NO; 

    if (![_facebook isSessionValid]) { 
     NSLog(@"session not valid"); 
     _postAfterLogin = YES; 
     [_facebook authorize:_permissions]; 
    } 
    else { 
     NSLog(@"session valid so post"); 
     [self postToWallWithDialogNewHighscore]; 
    } 
} 

我希望這會有所幫助。如果沒有,請告訴我。

+0

謝謝達倫。我仍然不知道是否必須從示例中獲取登錄操作的代碼,並將其分配給我的「分享」按鈕,而不是使用一些額外的代碼在牆上發佈。這是唯一符合邏輯但我完全沒有這方面經驗的人,另外一點我不清楚這種方法是如何管理用戶已登錄的情況並點擊相同的「分享」按鈕也將執行登錄/授權代碼。 –

+0

請參閱上面的修改。 – Darren

+0

基本上就是這樣。我會測試一下。謝謝! –