2013-10-15 18 views
0

我有一個philosophy multiplayer question-answering應用程序,允許玩家互相對戰,回答有關哲學和道德問題。對於註冊,我允許Facebook登錄。我有一個玩家可以邀請他的臉書朋友玩的列表。它完成了對所有玩家朋友的應用後端請求,並返回已安裝該應用的應用。如何使用iOS的facebook-graph-api將自定義消息發送給一個朋友?

對於那些還沒有安裝應用程序的人,我想讓玩家邀請他們安裝應用程序。我還沒有找到用iOS圖形API來做到這一點的方法。當玩家點擊一個朋友(我有fbID)時是否可以發送帶有一些自定義文本和鏈接的消息以下載應用程序?

enter image description here

通過了WebDialogs方法似乎並沒有允許自定義的文本發送到一個特定的球員。該方法通過朋友選擇打開一個新窗口。我不需要這樣做,因爲用戶已經選擇了一個朋友邀請。有沒有辦法使用FBWebDialogs來做到這一點,或在Facebook iOS API中的任何其他方法?

[FBWebDialogs 
    presentRequestsDialogModallyWithSession:nil 
    message:@"Learn how to make your iOS apps social." 
    title:nil 
    parameters:nil 
    handler:nil] 
+1

對於請求是「邀請」(到尚未安裝該應用的用戶),請求的消息部分不是由Facebook有意顯示的。 – CBroe

+0

你是否明白這一點? – AdamG

回答

0

做到這一點的方法是建立一個簡單的XMPP服務器的服務器上,並使用他們的XMPP登錄,你可以用下面的代碼片段獲取發送。

if (![FBSession.activeSession.permissions containsObject:@"xmpp_login"]){ 
     [[FBSession activeSession] requestNewReadPermissions:@[@"xmpp_login"] completionHandler:^(FBSession * session, NSError * error){ 
      if (!error){ 
       [self functionThatCommunicatesWithServerAndSendsXMPPLoginInformation]; 
      } else { 
       // handle error 
      } 
     }]; 
    } 

有一些很好的框架,使XMPP很容易在一個簡單的水平,如SleekXMPP爲Python/Django的實現。

這絕對是一個小小的工作,但可能更有效。只是不要垃圾郵件。

更多指南(雖然我覺得有點過時):

Facebook chat framework for iphone sdk

相關問題