0

У меня встроен API YouTube с моим Android-приложением. Я могу получить всю информацию из API и отобразить ее в своем приложении. В настоящее время я ищу решение для отображения push-уведомления в приложении Android, когда я загружаю видео на YouTube.Push-уведомление для загрузки нового видео в Youtube в приложении для Android

Есть ли какой-либо API для этого?

ответ

0

Вы можете проверить это documentation о том, как API данных YouTube (v3) поддерживает push-уведомления через PubSubHubbub.

Уведомления выталкиваются подписчикам через веб-хосты HTTP, что намного эффективнее, чем на основе опросов. С PubSubHubbub ваш сервер узнает о событиях почти в режиме реального времени, не определяя оптимальный интервал опроса или неоднократно получая данные, которые не изменились.

Ваш сервер обратного PubSubHubbub получает уведомления подающих Atom, когда канал делает любой из следующих видов деятельности:

  • загружает видео
  • обновляет название видеоролика
  • обновляет описание видео, включая

Вы можете найти шаги, которые объясняют, как подписаться на уведомления в приведенной выше документации.

+0

спасибо за ответ. Но я не думаю, что этот api работает для Android. Пожалуйста, поправьте меня, если я ошибаюсь. –

1

Вам нужно на стороне сервера, чтобы сделать это, - вы можете разработать хроны для запуска с интервалом, как 10 минут - получить видео канала на основе публикации времени

$minutes= round(abs(time() - strtotime($video['published']))/10,0); 

если минуты меньше, чем 10 минут вы можете получить это видео детали и толкать его к вашему приложению

я пример кода, написанного на PHP от 4 лет назад

$youtubelib= APPPATH.'include/youtube.php'; 
include_once($youtubelib); 
$channels=$this->channels->getChannelsPush(); 
foreach ($channels as $key => $value) { 
$channel[$key]= new youtube(); 
$channel[$key]->set_username($value); 
$feed[$key]=$channel[$key]->feed(); 
$vedios[$key]=$feed[$key]['videos']; 

foreach ($vedios as $key => $value) { 
       foreach ($value as $key => $value2) { 
           $minutes= round(abs(time() - strtotime($value2['published']))/60,0); 
              // <= 60 last hour edit it for production 
              if($minutes <=60) 
               { 
               $value2['different_time']=$minutes; 
               $test[]=$value2; 
               } 
                } 
           } 
echo "No videos published on last hour to push </br>"; 
if(!empty($test)) 
{ 
echo "vedios has been pushed </br>"; 
foreach ($test as $key => $value) { 
echo "https://www.youtube.com/watch?v=".$value['id']; 
$t=$this->apipush->addtrack($value['title'],$value['id'],1); 
exec($this->androidvedioPush($value['title'],$value['id'],$value['cover'][0],$t)); 
}