1

我正在开发一个通过自定义 url 方案共享数据的 iPhone 应用程序。这在电子邮件中运行良好,但我很难在 Facebook 中获得此功能。

我想使用我的自定义 url 方案发布一个带有回调的链接到我的应用程序。基本上,如果您在安装了应用程序的 iOS 设备上运行,我想要一个打开应用程序的链接。

我正在尝试使用提要对话框中的属性来执行此操作,但在调用对话框时出现错误:帖子的操作链接必须是有效的 URL...看来 API 不允许在属性中使用非标准 URL基于此 - 还有另一种方法可以做到这一点吗?

SBJSON *jsonWriter = [SBJSON new];
NSDictionary *propertyvalue = [NSDictionary dictionaryWithObjectsAndKeys:@"Final Count", @"text", @"finalcount://somecustomstuffhere", @"href", nil];
NSDictionary *properties = [NSDictionary dictionaryWithObjectsAndKeys:propertyvalue, @"Import ", nil];
NSString *finalproperties = [jsonWriter stringWithObject:properties];
NSString *finalactions = [jsonWriter stringWithObject:actions];            
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                       kAppId, @"app_id",
                                       @"http://itunes.apple.com/us/app/final-count/id532992913?ls=1&mt=8", @"link",
                                       @"http://southwestgecko.com/wp-content/uploads/2012/05/PrimaryIcon@2x.png", @"picture",
                                       @"Final Count", @"name",
                                       @"caption", @"caption",
                                       @"description", @"description",
                                       finalproperties, @"properties",
                                       nil];
[facebook dialog:@"feed" andParams:params andDelegate:self];
4

1 回答 1

0

这就是我最终这样做的方式:

我利用了这样一个事实,即我的基于 WordPress 的网站将忽略正常 URL 之后的任何内容,并在那里打包所有回调数据。Facebook 应用程序足够智能,可以将完整的 URL 字符串转发到应用程序,而我的应用程序足够智能,可以忽略属于 WordPress 网站的 URL 的第一部分。

这是我放入 Facebook 帖子的链接:

link = [NSString stringWithFormat:@"http://southwestgecko.com/?page_id=%i%@",timer.link, [self generateURLFromTimer:timer]];

其中 [self generateURLFromTimer:timer] 部分生成回调信息。这会从关键字@“link”下的原始问题中放入字典参数中。当一个 URL 被传递到应用程序中时,我只需解析出指向网站的部分并将其余部分作为回调处理(在这种情况下,它包括将计时器导入我的应用程序所需的所有计时器信息)。

于 2013-02-24T16:48:54.130 回答