4

Facebookが提供するUIWebViewとHTML5コードを使用して、iPadアプリケーションにFacebookコメントを追加しています。ユーザーがログインしていない場合、アプリケーションはコメントを表示し、「Facebookにログインしてコメントを投稿する」ボタンを表示します。

コメント初期ウィンドウ

ボタンをクリックすると、ログインプロセスが表示されます。ログインが完了すると、ビューは「ログイン完了」メッセージのある空のページにリダイレクトされます。コメントダイアログにリダイレクトされることはありません。

ここに画像の説明を入力してください

今、私は醜い回避策を実装しました。webViewDidFinishLoadイベントを受信すると、ページのコンテンツを確認し、ページにこのメッセージが表示された場合はリロードします。しかし、それはきれいな方法ではないようです。

Facebookが私を元のコメントページにリダイレクトしないのはなぜですか?

4

3 に答える 3

1

あなたが抱えている問題はこの問題に関連していると思います:UIWebViewでのFacebook認証は、認証を要求する私のサイトの元のページにリダイレクトされません

具体的には、標準のFacebook Webログインプロセスは、新しいブラウザウィンドウダイアログを起動し、リダイレクトが発生するためのログインの成功を示すメッセージをオープナーに送り返します。

リンクされたSOの一節を引用すると、「UIWebViewは複数のウィンドウをサポートしていないため、ロードされなくなったため、メッセージを元のページに戻すことはできません。」

于 2012-10-29T19:41:32.390 に答える
0

私もiPadアプリケーションを開発していますが、私の解決策はあなたの解決策と似ています。常にユーザーを「https://m.facebook.com」に誘導して、最初にログインさせ、次に「webViewDidFinishLoad」で検査します。返されたURLとそれが一致する場合:

「https://m.facebook.com/login/checkpoint/」

つまり、ログインが成功するとURLが返され、自分のメソッドを呼び出します(reloadなどを使用して)。この時点で、ユーザーは認証され、有効なFBセッションを持っているため、リダイレクトは不要になります。

それは間違いなくきれいではなく、FBがログインダイアログの処理方法を変更するとすぐに壊れるかもしれませんが、私もそれをより良く解決する方法を見つけることができません。「FB.Event.subscribe('auth.login'、function(response){});」を使用してみても もちろん、コードに到達することはないため、成功しません。

バグはすでにFBに提出されていると思いますが、それに値する注目を集めているとは思いません...

于 2012-11-28T00:05:30.717 に答える
0

この質問と同じ問題が発生しましたが、Facebookの公式ドキュメントを読んだ後、FacebookネイティブSDKを使用するように再設計します。

すべてのiOSおよびAndroidアプリは、(2013年10月2日より)iOSおよびAndroid用のSDKを使用して権限をリクエストする必要があります。

しかし、私はまた、「またはその他」は単なる「開発者通知」であると収集しますか?

これを投稿すると、同じアプローチを使用している人の時間を節約できることを願っています:)

于 2013-07-10T05:44:29.450 に答える