Я пытаюсь разрешить пользователям моего приложения уведомлять нескольких друзей в Facebook о том, что им нужно, чтобы они проголосовали за свой любимый элемент на веб-странице. Я использую метод отправки FB (https://developers.facebook.com/docs/reference/dialogs/send/), и он отлично работал на рабочем столе (код ниже), но я только что понял, что пропустил, где в документах говорится, что это диалоговое окно " не поддерживается на мобильных устройствах».
Существуют ли какие-либо альтернативы методу отправки, которые позволили бы пользователю отправлять личное сообщение своим друзьям из мобильных браузеров? Возможно, способ заставить API думать, что это рабочий стол?
Я также открыт для использования другого диалога FB, если он: 1) работает в мобильных браузерах 2) позволяет предварительно заполнять получателей и 3) является частным между отправителем и получателем, таким как личное сообщение или уведомление.
Любые идеи будут высоко оценены. Спасибо
Код для метода отправки FB:
function resetSelector(){
$('#fs-user-list').empty();
$(".mutual-friends-link").fSelector({
max: 5,
excludeIds: exclusions,
facebookInvite: false,
lang: {
title: "Pick your mutual friends who will vote on the gifts (Last step)",
buttonSubmit: "Add Accomplices",
selectedLimitResult: "Limit is {5} people."
},
closeOnSubmit: true,
onSubmit: function(response){
var accompliceUid;
accomplices = response;
$('#index-accomplices').empty()
var i = 0
var FB_notification = function(accomplice, poll_id){
FB.api('https://graph.facebook.com/', 'post', {
id: "http://giftadvisor.herokuapp.com/polls/" + poll_id,
scrape: true
}, function(response){
FB.ui({
method: 'send',
to: [accomplice],
link: "http://giftadvisor.herokuapp.com/polls/" + poll_id,
}, fbCallback)
})
}
var fbCallback = function(){
console.log(i++)
if (i === accomplices.length){
window.location = "/polls/" + poll.id
}
}
_.each(accomplices, function(accomplice){
$('#index-accomplices').append('<img class="accomplices" src="http://graph.facebook.com/' + accomplice + '/picture?type=large">');
user = new User({uid: accomplice});
user.save(null,
{success: function(response){
console.log("users saved")
console.log(response.attributes.uid);
vote = new Vote();
vote.save({
user_id: response.attributes.id,
poll_id: poll.id,
image_url: "http://graph.facebook.com/" + response.attributes.uid + "/picture"
},{success: function(response){
FB_notification(accomplice, poll.id);
}
}
);
}});
});
// }});
},
onClose: function(){
// FB_notification(accomplices, poll.id);
}
}); }