Używam wtyczki udostępniania społecznościowego do udostępniania wiadomości i zdjęć z mojej aplikacji mobilnej do Facebooka i Twittera,
Aplikacja wyświetli alert o "udanym udostępnieniu", jeśli udostępnianie oznacza sukces i wyświetli komunikat "udostępnianie anulowane", jeśli wtyczka wyświetli komunikat o błędzie.
Na facebooku działa jak zaklęcie, ale na Twitterze jest problem. Działa dobrze we wszystkich scenariuszach z wyjątkiem Duplikatów tweetów (osoba dzieląca ten sam tweet więcej niż raz), oba alerty są uruchamiane, gdy wszystkie warunki wtyczki są spełnione (połączenie z Internetem, uwierzytelnianie użytkownika, poprawna wiadomość), ale aplikacja Twittera w telefonie późno wysyła błąd "duplikatów tweetów". Każdy tutaj powinien pomóc mi znaleźć ten komunikat o błędzie przed uruchomieniem alertów.Phonegap/cordova Wtyczka udostępniania społecznościowego, zduplikowany numer tweetowy
function shareViaTwitter(id, message, image, url) {
canShareViaTwitter();
message = message.replace(/<br *\/?>/gi,'\n');
var successmessage = window.localStorage.getItem('canshareTwitsuccess');
var errormessage = window.localStorage.getItem('canshareTwiterror');
if(errormessage != '' && errormessage != 'null' && errormessage != null)
{
navigator.app.loadUrl('https://play.google.com/store/apps/details?id=com.twitter.android&hl=en', { openExternal:true });
reloadPage();
}
else
{
if(navigator.onLine) {
var isAndroid = /android/i.test(navigator.userAgent.toLowerCase());
if(isAndroid) {
message = (message) ? message : null;
image = (image) ? image : null;
url = (url) ? url : null;
window.plugins.socialsharing.shareViaTwitter(message, image, url, function(msg){}, function(msg){});
$("#sharingText").html("Shared Successfully");
$('#sharing-sucess-trigger').trigger('click');
}
} else {
$("#sharingText").html("Shared Failed! \nNo Network Connection");
$('#sharing-sucess-trigger').trigger('click');
}
reloadPage();
}
}
function canShareViaFacebook()
{
//alert("canshare")
window.plugins.socialsharing.canShareVia('com.facebook.katana', 'msg', null, null, null, function(fbsuccess){window.localStorage.setItem("canshareFbsuccess", fbsuccess);}, function(fberror){window.localStorage.setItem("canshareFberror", fberror);});
}
function canShareViaTwitter()
{
//alert("canshare")
window.plugins.socialsharing.canShareVia('twitter', 'msg', null, null, null, function(twitsuccess){window.localStorage.setItem("canshareTwitsuccess", twitsuccess);}, function(twiterror){window.localStorage.setItem("canshareTwiterror", twiterror);});
}
Niedawno znaleźć za pośrednictwem tego bloga http://cases.azoft.com/facebook-twitter-integration/ że błędu zwrócony przez Twitter nie może być obsłużony przez klienta czy są jakieś inne rozwiązania? – Vignesh