我已将YouTube API与我的Android应用集成。我能够从API获取所有类型的信息并将其显示到我的应用程序中。目前,我正在寻找解决方案,只要我在youtube上播放视频,就可以在Android应用中显示推送通知。
有没有可用的API?
答案 0 :(得分:1)
您需要服务器端来执行此操作, - 你可以开发一个cron作业来运行间隔像10分钟 - 根据发布时间获取频道视频
$minutes= round(abs(time() - strtotime( $video['published'])) / 10,0);
如果分钟不到10分钟,您就可以获得此视频详情并将其推送到您的应用
我有4年前用PHP编写的示例代码
$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));
}
答案 1 :(得分:0)
您可以通过documentation查看此PubSubHubbub YouTube数据API(v3)如何支持推送通知。
通过HTTP webhooks将通知推送给订阅者,这比基于轮询的解决方案更有效。使用PubSubHubbub,您的服务器可以近乎实时地查找事件,而无需确定最佳轮询间隔或重复获取未更改的数据。
当频道执行以下任何活动时,您的PubSubHubbub回调服务器会收到Atom Feed通知:
- 上传视频
- 更新视频标题
- 更新视频说明
您可以在上面的文档中找到解释如何订阅通知的步骤。