gpt4 book ai didi

Android Facebook SDK 分享对话框 : never return Completion Gesture

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:11:31 25 4
gpt4 key购买 nike

我在我的应用程序中使用 facebook android sdk v3.5 进行消息共享。对于统计信息,我需要跟踪消息是否已成功发布。但是,我总是通过在 onActivityResult()

中获取 FacebookDialog.getNativeDialogCompletionGesture 来获取 null

我使用的代码非常标准。

调用 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 - Only available if the user logged into your app using Facebook and did complete is true. Value is either "post" or "cancel".

但我不明白他们所说的这句话到底是什么意思。

最佳答案

这意味着只有当用户“授权”了您的应用程序(即他们点击了您应用程序中的某种形式的通过 Facebook 登录按钮,并至少授予您的应用程序基本权限)时,您才会获得 completionGesture。

如果他们没有,那么您得到的只是 getNativeDialogDidComplete,它始终返回 true(无论用户单击“共享”还是“取消”),除非发生错误。

关于Android Facebook SDK 分享对话框 : never return Completion Gesture,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19012681/

25 4 0