2012-03-04 20 views
5

के माध्यम से एक एफबी ओपन ग्राफ ऑब्जेक्ट बनाना मैं आईफोन के लिए एक म्यूजिक प्लेयर पर काम कर रहा हूं और मैं चाहता हूं कि उपयोगकर्ता अपनी टाइमलाइन पर गाने पोस्ट कर सकें। मेरे पास फेसबुक कनेक्ट काम कर रहा है और मैंने फेसबुक के साथ ओपन ग्राफ ऑब्जेक्ट्स और एक्शन पंजीकृत किए हैं, लेकिन मैं यह नहीं समझ सकता कि आईओएस से ऑब्जेक्ट और एक्शन कैसे बनाएं/पोस्ट करें।आईफोन एसडीके

फेसबुक मुझे निम्नलिखित कोड देता है, लेकिन मुझे नहीं पता कि उनके आईओएस एसडीके के लिए इसका उपयोग कहां किया जाए।

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# MYAPPNAME: http://ogp.me/ns/fb/MYAPPNAME#"> 
<meta property="fb:app_id"  content="xxxxxxxxxxxxxxx" /> 
<meta property="og:type"  content="MYAPPNAME:song" /> 
<meta property="og:url"   content="Put Your Own URL Here" /> 
<meta property="og:title"  content="Some Arbitrary String" /> 
<meta property="og:description" content="Some Arbitrary String" /> 
<meta property="og:image"  content="http://ogp.me/logo.png" /> 

उत्तर

3

आप आईओएस एसडीके से ऑब्जेक्ट्स प्रकाशित नहीं करते हैं - आप एसडीके के माध्यम से क्रियाएं प्रकाशित करते हैं और किसी ऑब्जेक्ट को एक यूआरएल संदर्भित करते हैं।

[[delegate facebook] requestWithGraphPath:@"me/YOUR_APP_NAMESPACE:YOUR_ACTION_NAME" andParams:[@"YOUR_OBJECT_URL" forKey:@"recipe"] andHttpMethod:@"POST" andDelegate:self]; 

Baically, आप मानक आईओएस ग्राफ़ एपीआई तरीकों का उपयोग कर ग्राफ़ एपीआई पर पोस्ट करें:

आप के लिए कुछ इसी तरह से करते हैं।

जो आप कैसे इस यहाँ करने के लिए पता चलता एक नमूना अनुप्रयोग Theres: जहाँ तक मैं समझता हूँ https://github.com/facebook/wishlist-mobile-sample

+1

सवाल यह है कि, हम * ऑब्जेक्ट्स * के लिए पैरामीटर कैसे पोस्ट करते हैं? शीर्षक, यूआरएल, आदि की तरह – cocoapriest

+0

वही समस्या यहाँ! ऑब्जेक्ट्स के लिए –

+0

पैरामीटर YOUR_OBJECT_URL के लिए HTML प्रतिक्रिया पर स्थित हैं। – mnickv31

0

(और मुझे आशा है कि मैं/हूँ काश मैं गलत थे), यदि आप किसी iOS से फेसबुक के OpenGraph को प्रकाशित नहीं कर सकते 5.x मूल ऐप सीधे। आपको एक और जटिल तकनीक ढेर की जरूरत है।

साइमन क्रॉस और निक क्या समझा रहे हैं कि आपको अपने आईओएस कार्यों को प्राप्त करने के लिए एक वेब सर्वर की आवश्यकता है, और आपका वेब सर्वर तब फेसबुक के साथ संवाद करता है। और भी, आपका वेब सर्वर (मुझे विश्वास है) वास्तव में अपनी वस्तुओं को होस्ट करना होगा - उदा। छवियों, या आपके मामले में गाने - और हालांकि बड़ी फ़ाइल-होस्टिंग सेवाएं हैं जो आईओएस के साथ बहुत अच्छी तरह से बातचीत करती हैं (मैं Parse.com खोद रहा हूं), वे फेसबुक के ओपनग्राफ के लिए देशी/जीयूआई संचालित सेवाओं की पेशकश नहीं करते हैं। (मेरी इच्छा है कि हेरोोकू या पार्स या किसी ने कुछ ऐसा पेश किया जो काम करेगा और बॉक्स के बाहर स्केल करेगा ..)

तो, मूल रूप से, आपको एफबी से पोस्ट करने के लिए अपना खुद का वेब सर्वर रोल करना होगा OpenGraph का उपयोग कर एक देशी ऐप।

नोट: आईओएस 6 में, ऐसा लगता है कि एफबी एकीकरण आईओएस 5 में ट्विटर एकीकरण के रूप में उतना ही आसान और आसान है (यानी आप 30 मिनट में चलेंगे और चलेंगे)। यह देखने के लिए कि क्या यह मामला है, मैं अगले हफ्ते इसके साथ गड़बड़ कर दूंगा। :)

0

जैसे साइमन ने कहा, आप 'ओजी ऑब्जेक्ट्स' प्रकाशित नहीं करते हैं, आप उन्हें बनाते/पंजीकृत करते हैं (एफबी ऐप डैशबोर्ड के भीतर आपकी 'क्रियाओं' के साथ)। फिर अपने ऐप के भीतर से आप फेसबुक ऑब्जेक्ट एपीआई का उपयोग करके 'क्रियाएं' प्रकाशित करते हैं। आपके 'क्रियाओं' में आपके द्वारा बनाए गए कस्टम ओजी ऑब्जेक्ट के उदाहरण के लिए एक संदर्भ (एक यूआरएल के माध्यम से) शामिल होना चाहिए। इस कस्टम ओजी ऑब्जेक्ट में अद्वितीय डेटा होगा (उदा। शीर्षक, डेटा, आदि)।

यहां किकर है, उन 'कस्टम' ओजी ऑब्जेक्ट्स को बैकएंड सर्वर पर होस्ट किए गए एक अद्वितीय वेबपृष्ठ के रूप में रहना चाहिए। सही बेकार !!! इसलिए आपको या तो गतिशील रूप से जेनरेट किए गए वेबपृष्ठों (ओजी ऑब्जेक्ट्स) को सर्वर बनाने में सहायता के लिए बैकएंड सर्वर कोड को चाबुक करने की आवश्यकता होगी या आप एक सेवा को हिट करेंगे जो आपके लिए यह करेगी (बाएएस - बैकएंड एक सेवा के रूप में)।

हालांकि, एफबी का कहना है कि 'Parse' इसे संभालेगा और वे एक भागीदार हैं, मुझे ऐसा करने के लिए Parse.com पर कोई जानकारी नहीं मिली .... वास्तव में, मुझे इसके विपरीत समर्थन सलाह मिली । पर्स ऐप के लिए उपयोगकर्ता प्रबंधन और क्लाउड डेटा स्टोरेज के लिए बहुत अच्छा प्रतीत होता है। लेकिन, मैं 'Kinvey' की अनुशंसा करता हूं, क्योंकि वे ओजी ऑब्जेक्ट सृजन और भंडारण (हल्के यातायात के लिए मुफ्त) का समर्थन करते हैं और सेटअप और एकीकृत करने के लिए सरल हैं।

0

आप सीधे गाने पोस्ट नहीं कर सकते हैं, तो आपको अपने सर्वर पर गाने (या साउंडक्लाउड जैसे सोशल नेटवर्क), फिर post फेसबुक पर उन ऑब्जेक्ट्स होस्ट करने की आवश्यकता होगी। आप हालांकि साथ एसडीके में हाल के परिवर्तनों का उपयोग कर मक्खी पर वस्तुओं बना सकते हैं:

NSMutableDictionary<FBOpenGraphObject> *object = 
      [FBGraphObject openGraphObjectForPostWithType:@"yourns:yourtype" 
                title:title 
                image:imageDataIfAny 
                 url:@"a URL that can be clicked" 
               description:descriptionIfAny]; 
      //attach custom data 
      object[@"data"] = @{ 
           //any custom data of your object type comes here 
           }; 

आप स्पष्ट रूप से अब और किसी वेबपृष्ठ से OG टैग लगाने की जरूरत नहीं है, लेकिन आप अभी भी एक URL पैरामीटर की जरूरत है कि ले जाएगा क्लिक किए जाने पर उपयोगकर्ता को वेबपृष्ठ पर।