6

メッセージを共有するためにアプリで facebook android SDK v3.5 を使用しています。統計については、メッセージが正常に投稿されたかどうかを追跡する必要があります。FacebookDialog.getNativeDialogCompletionGestureただし、私は常に入ることでnullになりますonActivityResult()

私が使用するコードは非常に標準的です。

Facebook 共有ダイアログを呼び出すコード:

    private void sendToFacebook()
    {
        if (!FacebookDialog.canPresentShareDialog(getActivity().getApplicationContext(),        FacebookDialog.ShareDialogFeature.SHARE_DIALOG))
        {
         return;
        }

        FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(getActivity())
                .setName(getString(R.string.refer_friend_facebook_name))
                .setDescription(getString(R.string.refer_friend_facebook_description))
                .setCaption(getString(R.string.facebook_app_name))
                .setLink(getString(R.string.web_endpoint))
                .setPicture(getString(R.string.facebook_picture_90))
                .build();

        activity.getFacebookUiHelper().trackPendingDialogCall(shareDialog.present());

    }

呼び出し結果を処理するために使用するコード:

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data)
    {
            facebookUiHelper.onActivityResult(requestCode, resultCode, data, new FacebookDialog.Callback()
            {
                @Override
                public void onError(FacebookDialog.PendingCall pendingCall, Exception error, Bundle data)
                {
                 // track on error                                                   
                }

                @Override
                public void onComplete(FacebookDialog.PendingCall pendingCall, Bundle data)
                {
                    if (FacebookDialog.getNativeDialogDidComplete(data))
                    {
                        if (FacebookDialog.getNativeDialogCompletionGesture(data) == null 
                              || FacebookDialog.COMPLETION_GESTURE_CANCEL.equals(FacebookDialog.getNativeDialogCompletionGesture(data)))
                        {
                            // track cancel                                                   
                        }
                        else
                        {
                            // track post
                        }
                    }
                    else
                    {
                        // track cancel              
                    }
                }
            });
}

Facebook SDK のドキュメントには、次のように記載されています。

FacebookDialog.getNativeDialogCompletionGesture - ユーザーが Facebook を使用してアプリにログインし、完了した場合にのみ使用できます。これは true です。値は「投稿」または「キャンセル」のいずれかです。

しかし、このフレーズが何を意味するのか正確には理解できません。

4

1 に答える 1