Создание открытого графического объекта FB через iPhone SDK - PullRequest
5 голосов
/ 05 марта 2012

Я работаю над музыкальным проигрывателем для iPhone, и я бы хотел, чтобы пользователи могли публиковать песни на своих временных шкалах.У меня работает Facebook Connect, и я зарегистрировал объекты и действия Open Graph в Facebook, но я не могу понять, как создать / опубликовать объект и действие из iOS.

Facebook дает мне следующий код, но я не знаю, где его использовать для iOS SDK.

<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" /> 

Ответы [ 4 ]

3 голосов
/ 06 марта 2012

Вы не публикуете объекты из iOS SDK - вы публикуете действия через SDK и ссылаетесь на URL-адрес объекта.

Вы делаете что-то похожее на:

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

Baically, вы ПОСТАВЛЯЕТЕСЬ в Graph API, используя стандартные методы API Graph iOS.

Вот пример приложения, которое показывает вам, как это сделать здесь: https://github.com/facebook/wishlist-mobile-sample

0 голосов
/ 13 сентября 2013

Вы не можете публиковать песни напрямую, вам нужно будет разместить песни на вашем собственном сервере (или в социальной сети, такой как Soundcloud), а затем post эти объекты в Facebook.Вы можете создавать объекты на лету, хотя с последними изменениями в SDK используйте:

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, которыйпри нажатии перенаправит пользователя на веб-страницу.

0 голосов
/ 11 сентября 2013

Точно так же, как сказал Саймон, вы не публикуете «Объекты OG», вы создаете / регистрируете их (вместе с вашими «Действиями» на панели инструментов приложения FB).Затем из вашего приложения вы публикуете «Действия» с помощью API объекта Facebook.Ваши «Действия» должны включать ссылку (через URL) на экземпляр созданного вами пользовательского объекта OG.Этот пользовательский объект OG будет иметь уникальные данные (например, заголовок, данные и т. Д.).

Вот кикер, эти «пользовательские» объекты OG, ДОЛЖНЫ, ДОЛЖНЫ размещаться как уникальная веб-страница, размещенная на бэкэнд-сервере.Полный отстой !!!Таким образом, вам нужно будет либо скопировать код серверного бэкенда, чтобы помочь вам настроить динамически генерируемые веб-страницы (объекты OG), либо запустить сервис, который сделает это за вас (BaaS - бэкэнд как сервис).

Хотя, FB говорит, что ' Parse ' справится с этим, и что они являются партнером, я не смог найти никакой информации на Parse.com, чтобы сделать это .... на самом деле,Я нашел совет поддержки, чтобы быть наоборот.Parse отлично подходит для управления пользователями и облачным хранилищем данных для приложений.Но я бы порекомендовал « Kinvey », поскольку они поддерживают создание и хранение объектов OG (бесплатно для легкого трафика) и просты в настройке и интеграции.

0 голосов
/ 14 сентября 2012

Насколько я понимаю (и надеюсь, что ошибаюсь / желаю ошибаться), вы не можете публиковать в OpenGraph Facebook непосредственно из собственного приложения iOS 5.x . Вам нужен более сложный технологический стек.

Что объясняют Саймон Кросс и Ник, так это то, что вам нужен веб-сервер для получения ваших действий iOS, и ваш веб-сервер затем связывается с Facebook. Более того, ваш веб-сервер (я считаю) должен на самом деле размещать ваши объекты - например, изображения или песни в вашем случае - и хотя есть отличные файлообменники, которые очень хорошо взаимодействуют с iOS (я копал Parse.com), они не предлагают нативные / управляемые GUI сервисы для OpenGraph Facebook. (Я бы хотел, чтобы Heroku, Parse или кто-то предложил что-то, что могло бы работать и масштабироваться вне коробки).

Итак, в основном, вам нужно свернуть свой собственный веб-сервер для публикации на FB из нативного приложения с использованием OpenGraph.

ПРИМЕЧАНИЕ: В iOS 6 похоже, что интеграция с FB такая же приятная и простая, как и интеграция с Twitter в iOS 5 (то есть вы будете работать через 30 минут). Я буду возиться с этим на следующей неделе, чтобы понять, так ли это. :)

...