मै मैसेज शेयरिंग के लिए अपने ऐप में फेसबुक एंड्रॉइड एसडीके v3.5 का उपयोग कर रहा हूं। आंकड़ों के लिए मुझे ट्रैक करना होगा कि संदेश सफलतापूर्वक पोस्ट किया गया था या नहीं। हालांकि मैं FacebookDialog.getNativeDialogCompletionGesture
onActivityResult()
एंड्रॉइड फेसबुक एसडीके शेयर संवाद: कभी भी पूर्ण इशारा नहीं लौटाएं
कोड जो मैं उपयोग करता हूं वह बहुत मानक है।
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
}
}
});
}
फेसबुक SDK दस्तावेज़ में यह कहा गया है कि:
FacebookDialog
कोड फेसबुक शेयर संवाद कॉल करने के लिए। getNativeDialogCompletionGesture - केवल तभी उपलब्ध होगा जब उपयोगकर्ता फेसबुक का उपयोग करके आपके ऐप में लॉग इन हो और पूरा हो गया हो। मान या तो "पोस्ट" या "रद्द करें" है।
लेकिन मुझे समझ में नहीं आता कि इस वाक्यांश से उनका क्या अर्थ है।
धन्यवाद! यह इस मुद्दे को बताता है। हालांकि यह फेसबुक पक्ष से काफी अजीब है। –
फेसबुक क्यों ??? क्या हम डिफ़ॉल्ट फेसबुक ऐप के माध्यम से एकल साइन ऑन का उपयोग कर रहे हैं? हमें इसकी आवश्यकता क्यों है ?? – BQuadra
मूल तर्क नीचे आता है, यदि उपयोगकर्ता ने आपके ऐप को एफबी के माध्यम से अधिकृत नहीं किया है, तो आपका ऐप यह नहीं जान सकता कि उपयोगकर्ता एफबी पर क्या कर रहा है। –