4

facebook android SDKに、ユーザー->ユーザーアプリリクエストで摩擦のないリクエストを送信するように指示する方法はありますか?

FacebookのWebサイトのチュートリアルに従って、Androidにアプリを統合しました。を使用してFacebookユーザー->ユーザーリクエストを送信する方法に関するドキュメントがいくつかありますがmFacebook.dialog(context, "apprequests", params, new AppRequestsListener());、これらのリクエストをスムーズにする方法については言及されていません。ウェブ上では、このfrictionlessRequests:trueオプションでうまくいくようです。(paramsリファレンスを使用して)への呼び出しでこれをパラメーターとして設定しようとしましたmFacebook.dialog()が、それは役に立ちませんでした。Facebookのリクエストダイアログのドキュメントページには、この機能がAndroidで利用可能であると記載されています。それを有効にする方法についてはどこにも言及されていません。

摩擦のないリクエストは、デスクトップキャンバスとモバイルウェブのJavascript SDK、およびネイティブモバイルアプリのiOSとAndroidのSDKでサポートされています。

アンドロイドに使用できる同等の呼び出しがあるので、ユーザーはリクエストダイアログに「二度と聞かないでください」(下の写真を参照)オプションが表示されますか?現在、リクエストが以前に送信された場合でも、リクエストダイアログが毎回表示されます。

摩擦のないリクエスト

4

2 に答える 2

11

今日も同じことで苦労しました。私はついに自分に合った方法を見つけました。私はsdk3.0.2bを使用しています、ここのガイドに従いましたhttps://developers.facebook.com/docs/howtos/androidsdk/3.0/send-requests/

ステップ2で、ガイドはコードを提案します。

private void sendRequestDialog() {
   Bundle params = new Bundle();
   params.putString("message", "Learn how to make your Android apps social");
   WebDialog requestsDialog = (
   ...

たくさんの試行錯誤の末、paramfrictionless = 1を追加するとうまくいきました:

private void sendRequestDialog() {
   Bundle params = new Bundle();
   params.putString("message", "Learn how to make your Android apps social");

   params.putString("frictionless", "1"); //Turn on frictionless

   WebDialog requestsDialog = (
   ...
于 2012-12-06T15:43:29.697 に答える
0

バンドルで摩擦のない「パラメータ」を使用しますが、パラメータ「to」も指定する必要があります。そうすれば機能します。実際、私は両方の条件で使用し、「to」パラメーターを渡したときに「二度と聞かないでください」が表示されません。ただし、「to」パラメータとともに使用すると、機能します。

            Bundle params = new Bundle();
        params.putString("message", msg);
        params.putString("data", json);
        params.putString("title", title);
        params.putString("frictionless", "1");

上記のコードでは機能していません。しかし、以下のコードでは機能しています。

            Bundle params = new Bundle();
        params.putString("message", msg);
        params.putString("data", json);
        params.putString("to", appendedFriendsID);
        params.putString("title", title);
        params.putString("redirect_uri", "");
        params.putString("frictionless", "1");
于 2014-04-26T12:31:39.953 に答える