1

カスタム URL スキームを介してデータを共有する iPhone アプリに取り組んでいます。これは電子メールではうまく機能していますが、Facebook ではこの機能を取得するのに苦労しています。

カスタム URL スキームを使用して、アプリへのコールバックを含むリンクを投稿したいと思います。基本的に、アプリがインストールされた iOS デバイスで実行している場合は、アプリを開くリンクが必要です。

フィード ダイアログでプロパティを使用してこれを実行しようとしていますが、ダイアログを呼び出すと次のエラーが表示されます: 投稿のアクション リンクは有効な 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 ベースの Web サイトは、通常の URL の後のすべてを無視するという事実を利用して、そこにすべてのコールバック データを詰め込みました。Facebook アプリは完全な URL 文字列をアプリに転送するほどスマートであり、私のアプリは WordPress Web サイトに属する URL の最初の部分を無視するほどスマートです。

これは、私が Facebook の投稿に挿入したリンクです。

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

[self generateURLFromTimer:timer] 部分は、コールバック情報を生成します。これは、キー @"link" の下の元の質問から辞書パラメーターに入れられます。URL がアプリに渡されると、Web サイトを指す部分を解析し、残りをコールバックとして処理します (この場合、タイマーをアプリにインポートするために必要なすべてのタイマー情報が含まれます)。

于 2013-02-24T16:48:54.130 に答える