Кто-нибудь знает, как добавить несколько опросов в Facebook в прямом эфире, как показано в этом примере Super Deluxe: https://www.facebook.com/superdeluxevideo/videos/416419238702632/.Несколько ответов в прямом эфире Facebook в 1 сообщении
Моя идея состояла в том, чтобы создать кнопку, чтобы сохранить текущую реакцию в качестве объекта в базе данных (Firebase) и вычесть из числа ответов, указанных в API, для начала от 0 до каждого нового раунда. Проблема в том, что, когда люди реагируют на первый опрос и дают другую реакцию на следующий, он вычитает первую реакцию и помещает эту реакцию в негатив.
Например: Если пользователь нажал WOW на первом опросе, счетчик WOW: 1 LOVE: 0. Когда опрос сбрасывается, эти слова вычитаются из того, что берется из API графиков Facebook. Итак, если в следующем опросе этот пользователь нажимает LOVE, счетчик переключается на WOW: -1 LOVE: 1.
Вот базовый пример кода, который я использую, используя Firebase для хранения значений реакций.
// Firebase config
firebase.initializeApp(config);
var database = firebase.database();
var dbCounter = database.ref('/counter');
var access_token = 'ACCESS_TOKEN', // PASTE HERE YOUR FACEBOOK ACCESS TOKEN
pageID = 'PAGE_ID', //Paste your Facebook Page ID here
postID = 'POST_ID', // PASTE HERE YOUR POST ID
postID = pageID+'_'+postID,
refreshTime = 5, // Refresh time in seconds
counter = {
love : 0,
wow : 0
},
cachedCounter = counter;
var reactions = ['LOVE', 'WOW'].map(function (e) {
var code = 'reactions_' + e.toLowerCase();
return 'reactions.type(' + e + ').limit(0).summary(total_count).as(' + code + ')'
}).join(',');
var refreshCounts = function() {
var url = 'https://graph.facebook.com/v2.8/' + postID + '?fields=' + reactions + '&access_token=' + access_token;
$.getJSON(url, function(res){
counter.love = res.reactions_love.summary.total_count;
counter.wow = res.reactions_wow.summary.total_count;
$('.reaction.love .count').text(counter.love);
$('.reaction.wow .count').text(counter.wow);
});
}
$(document).ready(function(){
// Update the value of cachedCounter every time the database is updated
dbCounter.on('value', function(res){
// res.val() starts with the same value as the default counter
cachedCounter = res.val();
});
// Only runs once
dbCounter.once('value').then(function(res){
setInterval(refreshCounts, refreshTime * 1000);
refreshCounts();
});
// Reset counters while keeping count of reactions for new poll
$('button.reset-count').click(function() {
// Save current counter in database
dbCounter.set(counter);
// Set counters to 0
$('.reaction .count').text(0);
return false;
});
});
Неужели кто-нибудь знает, как Super Deluxe сбросит значения количества ответов в их реализации?
Facebook не хочет, чтобы вы использовали реакции таким образом, см. Https://en.facebookbrand.com/assets/reactions: _ «Не используйте реакции для опросов в видео, где весь поток состоит из статического или зацикливая графику или изображения. »_ (И потому что« аргумент »« но посмотрите на пример, они делают это слишком !!! », можно ожидать, что он будет поднят сейчас: ограбление банка также не является законным только потому, что вы видеть, как люди это делают.) – CBroe
@CBroe Как вы узнаете, какой материал jtpatton показывается на Facebook Live? В нем говорится, что не использовать Reactions в опросах только там, где поток имеет статическую или циклическую графику. Как Super Deluxe (как связанный), так и, вполне возможно, проект jtpatton используют реальный, живой контент с встроенным голосованием, который полностью разрешен в ToS FB. Также просто скажем, что связи между ограблением банка и API Facebook могут быть немного превыше всего? – lanewinfield