#facebook #facebook-graph-api #notifications
#Facebook #facebook-graph-api #уведомления
Вопрос:
Как я могу отправить уведомление с помощью приложения на Facebook? Насколько я знаю, эта функция FB заблокирована несколько месяцев назад, но все еще есть некоторые приложения, о запросах которых я получаю уведомления с помощью уведомлений FB. Итак, как я могу сделать то же самое? В graph API об этом ничего не сказано.
Ответ №1:
Последний способ отправки «уведомлений» — это реализация запроса 2.0. Они больше не ссылаются на них как на уведомления. Facebook теперь решает, получит ли пользователь уведомление в дополнение к запросу или нет.
Комментарии:
1. Есть ли какой-нибудь способ, которым мы можем повлиять на это «решение»? Кто принимает это решение — их сервер автоматически или их команда вручную?
2. Важным фактором является скорость отклика на действия, выполняемые вашим приложением. Если в опубликованных историях много «скрытий», Facebook предполагает, что ваше приложение является спамом, и сократит распространение. Если пользователям нравится ваше приложение и контент, Facebook сделает все возможное, чтобы ваш контент был замечен.
Ответ №2:
Есть способ сделать это, его чрезвычайно сложно найти в документации, и он работает не очень хорошо (и я думаю, что он может даже немного глючить).
http://developers.facebook.com/docs/channels/#requests
по какой-то причине это находится в разделе запросов, а не в разделе уведомлений.
Вот пример кода на странице, я протестировал это, и это не приводит к появлению красного значка уведомления на панели уведомлений globe — это просто увеличивает номер на закладке приложения в левой части вашей домашней страницы. Я полагаю, что это чрезвычайно неэффективный способ донести сообщение до ваших пользователей. Если у вас есть приложение, которое не является приложением canvas (например, приложением для вкладок страниц), это фактически ничего не дает, поскольку у вас нет значка закладки для приложения.
<?php
$app_id = YOUR_APP_ID;
$app_secret = YOUR_APP_SECRET;
$token_url = "https://graph.facebook.com/oauth/access_token?" .
"client_id=" . $app_id .
"amp;client_secret=" . $app_secret .
"amp;grant_type=client_credentials";
$app_access_token = file_get_contents($token_url);
$user_id = THE_CURRENT_USER_ID;
$apprequest_url ="https://graph.facebook.com/" .
$user_id .
"/apprequests?message='INSERT_UT8_STRING_MSG'" .
"amp;data='INSERT_STRING_DATA'amp;" .
$app_access_token . "amp;method=post";
$result = file_get_contents($apprequest_url);
echo("App Request sent?: ". $result);
?>