2013-12-11 81 views
0

我想爲Facebook應用的用戶ID,如下所述: https://developers.facebook.com/docs/ads-for-apps/custom-audiences-for-mobile-apps/可以自己使用FBRequestConnection startForCustomAudienceThirdPartyID嗎?

他們給的代碼片段是:

[FBRequestConnection startForCustomAudienceThirdPartyID:nil 
    completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
     NSString *id = error ? nil : [result objectForKey:@"custom_audience_third_party_id"]; 
     // Stash off this id, send it to your server, etc. Use later to construct 
     // a custom audience. A result of 'nil' means that either the user can't be 
     // identified, or they've limited ad tracking via iOS 6. 
    } 
]; 

這總是返回400錯誤我。像this這樣的答案表明它需要被用作更大代碼的一部分,但Facebook頁面上沒有提到這一點。

我可以只使用上面的代碼片段,還是需要在其周圍實現某些功能?

回答

1

我得到這個從FB開發者頁面:

討論: 此方法將拋出一個異常,如果無論是< [FBSettings defaultAppID]>或< [FBSettings clientToken]>是零。當pList包含appID或者明確設置時,appID不會爲零。 clientToken需要通過< [FBSettings setClientToken:]>來設置。

.....

請先檢查上面的條件。創建會話

startForCustomAudienceThirdPartyID: -> should actually point to the current FBSession 
+0

我沒有看到一個例外,它只是返回錯誤400.我打過電話[FBSettings setClientToken:XXXX]但它沒有任何區別。 – parsley72

+0

400是一個HTML異常代碼。你應該檢查你的FB appID是否配置正確....它應該在info.plist/Custom IOS Properties中。也是在你的應用程序代理應該有這樣的事情: - (BOOL)申請:(UIApplication的*)應用 的OpenURL:(NSURL *)網址 sourceApplication:(的NSString *)sourceApplication 註釋:(ID)註釋{ BOOL RET = [FBSession.activeSession handleOpenURL:url]; – Paulo

+0

....如果你有一個獨立的應用程序,你需要通過FB開發者頁面創建一個應用程序來獲得的AppID,那麼你需要通過你的IOS bundle id進行一些驗證,Facebook需要你註冊你的IOS應用程序。如果我沒有弄錯,您的用戶使用他們的Facebook憑證登錄到您的應用程序的Oauth應用程序需要客戶端令牌 - 令牌指的是活動的FB會話。 – Paulo

相關問題