CIFCOM跨境电商 CIFCOM跨境电商

当前位置: 首页 » 出海百科 »

网易云音乐广告越来越多

你手机上有没有一个让人疯狂的APP,能说说是做什么用的吗?

有道翻译官,一直用这个翻译,了解英语单词,语句,读音,非常不错的。

AppleMusic在谷歌的总安装量突破4000万次,你如何看待?

Google翻译,有点老古板不过确实好用。

百度翻译,国人第一选择,适合国人,但是核心翻译功能不太好。

有道翻译,网易出品,经过几年的考验,已经是人们心中第一选择,翻译确实不错。

微软翻译,华为有自带这个,没什么存在感。

Android高仿网易云音乐-引导界面和广告界面实现

效果图


效果图依次为图片广告,视频广告,引导界面。

系列文章目录导航

目录

1.实现分析

广告界面就是显示图片和视频,所以可以放一个图片控件,视频控件,然后跳过按钮,提示按钮,WiFi预加载提示都是放到最上层容器。

2.广告界面布局

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="" xmlns:app="" xmlns:tools="" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".component.ad.activity.AdActivity"> <!--图片广告--> <ImageView android:id="@+id/image" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" /> <!--视频播放器 VideoView默认没法设置视频填充整个控件,所以不用他--> <com.tencent.rtmp.ui.TXCloudVideoView android:id="@+id/video" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone" /> <!--/播放器--> <!--广告控制层--> <RelativeLayout android:id="@+id/ad_control" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/preload" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/padding_meddle" android:layout_marginTop="@dimen/d50" android:layout_marginBottom="@dimen/d50" android:background="@drawable/shape_button_transparent_radius_small" android:gravity="center" android:padding="@dimen/d5" android:text="@string/wifi_preload" android:textColor="?attr/colorLightWhite" android:textSize="@dimen/text_small" android:visibility="gone" /> <!--跳过广告按钮--> <TextView android:id="@+id/skip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_marginTop="@dimen/d50" android:layout_marginRight="@dimen/padding_large" android:layout_marginBottom="@dimen/d50" android:background="@drawable/shape_button_transparent_radius_small" android:gravity="center" android:padding="@dimen/padding_meddle" android:textColor="?attr/colorLightWhite" android:textSize="@dimen/text_meddle" app:cornerRadius="@dimen/d30" tools:text="@string/skip_ad_count" /> <!--打开广告按钮--> <TextView android:id="@+id/primary" android:layout_width="match_parent" android:layout_height="@dimen/d60" android:background="@drawable/shape_button_transparent_radius_large" android:gravity="center" android:text="@string/ad_click_tip" android:textColor="?attr/colorLightWhite" android:textSize="@dimen/text_large" app:cornerRadius="@dimen/d30" /> </com.facebook.shimmer.ShimmerFrameLayout> </RelativeLayout></RelativeLayout>折叠 3.显示广告

广告数据是在首页提前缓存到本地了,目的是本地显示更快,因为广告界面本来就几秒钟,还要去网络请求数据,就很浪费时间。

@Overrideprotected void initDatum() { super.initDatum(); //获取广告信息 data = sp.getSplashAd(); if (data == null) { next(); return; } //显示广告信息 show();}private void show() { File targetFile = FileUtil.adFile(getHostActivity(), data.getIcon()); if (!targetFile.exists()) { //记录日志,因为正常来说,只要保存了,文件不能丢失 next(); return; } SuperViewUtil.show(binding.adControl); switch (data.getStyle()) { case Constant.VALUE0: showImageAd(targetFile); break; case Constant.VALUE10: showVideoAd(targetFile); break; }}/** * 显示视频广告 * * @param data */private void showVideoAd(File data) { SuperViewUtil.show(binding.video); SuperViewUtil.show(binding.preload); //在要用到的时候在初始化,更节省资源,当然播放器控件也可以在这里动态创建 //设置播放监听器 //创建 player 对象 player = new TXVodPlayer(getHostActivity()); //静音,当然也可以在界面上添加静音切换按钮 player.setMute(true); //关键 player 对象与界面 view player.setPlayerView(binding.video); //设置播放监听器 player.setVodListener(this); //铺满 binding.video.setRenderMode(TXLiveConstants.RENDER_MODE_FULL_FILL_SCREEN); //开启硬件加速 player.enableHardwareDecode(true); player.startPlay(data.getAbsolutePath());}/** * 显示图片广告 * * @param data */private void showImageAd(File data) { ImageUtil.showLocalImage(getHostActivity(), binding.image, data.getAbsolutePath()); startCountDown(5000);}折叠 跳过广告

跳过广告就是取消倒计时,直接进入下一个界面。

//跳过广告按钮binding.skip.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //取消倒计时 cancelCountDown(); next(); }});点击广告

点击广告就是取消倒计时,进入主界面,然后再显示广告界面。

引导界面布局

//点击广告按钮binding.primary.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //取消倒计时 cancelCountDown(); action = Constant.ACTION_AD; next(); }});引导界面逻辑

顶部左右滚动ViewPager容器,也可以使用ViewPager2,中间就是指示器,底部就是按钮。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="" xmlns:ixuea="" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <!--左右滚动控件--> <androidx.viewpager.widget.ViewPager android:id="@+id/list" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> ... <!--按钮容器--> <LinearLayout android:layout_marginBottom="@dimen/d30" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <!--占位控件--> <View android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> <!--登录注册按钮--> <com.google.android.material.button.MaterialButton android:id="@+id/login_or_register" style="@style/SuperButton.Primary" android:layout_width="wrap_content" android:minWidth="@dimen/d130" android:text="@string/login_or_register" /> <include layout="@layout/fill" /> <!--立即体验按钮--> <com.google.android.material.button.MaterialButton android:id="@+id/experience_now" style="@style/Widget.MaterialComponents.Button.UnelevatedButton" android:layout_width="wrap_content" android:layout_height="@dimen/d55" android:layout_centerVertical="true" android:layout_marginHorizontal="@dimen/d5" android:layout_toRightOf="@+id/select_image" android:backgroundTint="?attr/colorLightWhite" android:minWidth="@dimen/button_width_large" android:text="@string/experience_now" android:textColor="@color/black80" android:textSize="@dimen/text_small" ixuea:strokeColor="?attr/colorPrimary" ixuea:strokeWidth="@dimen/d1" /> <include layout="@layout/fill" /> </LinearLayout></LinearLayout>折叠 下载广告

不论是图片,还是视频都按照文件方式下,当然下载前还要判断是WiFi,以及没有下载才下载。

private void downloadAd(Ad data) { if (SuperNetworkUtil.isWifiConnected(getHostActivity())) { sp.setSplashAd(data); //判断文件是否存在,如果存在就不下载 File targetFile = FileUtil.adFile(getHostActivity(), data.getIcon()); if (targetFile.exists()) { return; } new Thread( new Runnable() { @Override public void run() { try { //FutureTarget会阻塞 //所以需要在子线程调用 FutureTarget<File> target = Glide.with(getHostActivity().getApplicationContext()) .asFile() .load(ResourceUtil.resourceUri(data.getIcon())) .submit(); //获取下载的文件 File file = target.get(); //将文件拷贝到我们需要的位置 FileUtils.moveFile(file, targetFile); } catch (Exception e) { e.printStackTrace(); } } } ).start(); }}总结

不论是那个界面,都没有很难,但就像我们说的,写代码就像艺术,要写好细节还挺麻烦,例如:下载广告是否应该登录网络空闲时才下载,避免影响正常网络请求,同时下载下来后,要添加一定的机制,防止很容易的跳过广告等;如果要产生收益,大公司就是有自己的广告平台,中小型项目可以使用聚合SDK更方便。

文章来自

爱奇艺回应会员专属广告”,非常抱歉,但是我不改

大家好,欢迎来到黑马公社。

要说优爱腾这三家视频网站谁家更好,黑马第一个就要为爱奇艺打Call。这不仅仅是因为爱奇艺最适合被拿来玩梗,更是因为爱奇艺对各个平台的软件优化深得人心。

举个例子,在小众”的Microsoft Store商店,只有爱奇艺的UWP应用做得最好,早期的UWP端相比其他端,更是没有任何广告。正是冲着这一点,黑马开了爱奇艺的会员。

然而没过多久,可能是UWP端的用户数多了起来,爱奇艺开始对UWP端的应用加入了和移动端完全相同的广告。

这种感觉怎么描述呢?就像是在网易云音乐中一首极受欢迎的小众歌曲突然成为抖音神曲那样。

好在,黑马那时候已经是尊贵的爱奇艺VIP会员”,完全可以一键跳过一些广告。

不过即便黑马开通了号称可以去除广告的爱奇艺VIP会员,黑马还是发现,无论是看电影之前还是中途暂停,黑马这个尊贵的爱奇艺VIP会员”没有起到任何作用,甚至在黑马开了会员之后,还出现了VIP专属广告推荐。

啊这,黑马的会员是买了个寂寞?

最近,就有网友针对这个问题进行了反应,爱奇艺官方表示,为了更好地了解和使用会员权益,爱奇艺会通过15秒的会员推荐内容为您做VIP专属推荐,推荐内容都是近期会员优惠活动与热映大片简介。

当你因此去询问爱奇艺的客服,得到的回复是这样的:

看见了吗?黑马帮大家总结一下爱奇艺的这套说辞,开了会员有广告没错,但是广告都是精品广告,你可以手动关闭。想要我动手关闭广告,没门!

看到这里,冲动的小伙伴是不是马上准备拿起法律的武器让爱奇艺体验下人间疾苦了?毕竟爱奇艺官网可是写着会员有广告特权的,但是大家可能要too young to simple了。

因为黑马没有记错的话,早期的爱奇艺官网应该是写了会员可以跳过广告”这一项权益的,而现在这一规则却变成了广告特权”。

唔,你品,你细品。

点击爱奇艺官网的广告特权”,这一次黑马发现,原来爱奇艺特别标注的VIP尊享广告特权,其实是可以手动关闭精品影视、福利权益等会员专属广告。

哎,等等!黑马不是尊贵的爱奇艺VIP会员”吗?为什么还会看到会员专属推荐广告呢?难道,这就是尊贵的爱奇艺VIP会员”应该有的待遇吗?

针对爱奇艺这种明里一套暗地一套的做法,有法学生选择了将其拿来当作实践的对象。

根据苏大法学院的孙同学起诉爱奇艺的判决可以看出来,原来爱奇艺这么做的成本低到爆炸,仅赔偿孙同学30元,怪不得尊贵的爱奇艺VIP会员”可以看到尊贵的VIP会员专属广告”呢?

那么,为什么这些视频网站要尽可能地恶心”自家尊贵的VIP会员”呢?缺钱吗?是的没错。

别看之前,视频网站联合某部门将明星的天价片酬解决了之后,片源采购成本下降了,但是它们还是缺钱。

以爱奇艺为例,在2024年12月31日的第四季度和全年未经审计的财务报告中可以看到,爱奇艺的全年营收已经达到了290亿元。

哎,这不是赚钱吗?并不是,相比起官网报喜不报忧”的财报,黑马直接找到了爱奇艺更加真实的2024全年报告:净亏损103.25亿元。

对于这个结果,相信大家是非常的意外,毕竟在优爱腾三家视频网站中,爱奇艺的付费用户是最先到达1亿的。其次,爱奇艺的5.2亿月活也足以彰显其视频网站老大的地位。

很难想象,这样的龙头企业至今仍在亏损。

(国内主流长视频平台月活跃用户数,资料来源:Questmobile,中金公司研究部)

事实上,短视频的崛起抢占了用户时长,对传统视频网站已然造成了一定的冲击。加上连年的亏损,因此,在去年的双十一来临之前,爱奇艺突然宣布了一波VIP会员将要涨价。

最后,视频网站在国内用户的口碑就变成了做得差、瞎涨价”。

总之,说白了,爱奇艺给尊贵的VIP会员”推送VIP会员专属广告,就是为了赚更多的钱以此减少亏损。

虽然爱奇艺一直将自己对标为中国的Netflix”,但是她和Netflix的差距可谓是云泥之别。

首先,爱奇艺的付费用户占比只有20%,但是Netflix是100%;其次,Netflix的会员价格基本是爱奇艺的六、七倍,这些也都注定了为什么同为视频网站,Netflix是赚钱的,但是爱奇艺是亏损的。

但是我们反过来想,Netflix之所以拥有这么多的付费用户,一方面是因为国外的付费环境(而国内的付费环境,懂得都懂);另一方面是因为它的内容质量得到了大家的认可,对于视频网站而言,作品的质量可能才是重中之重。

当然,针对作品质量这一块,去年爱奇艺的迷雾剧场就深得我心,因为,黑马终于可以在网络上看见一部主角不谈恋爱的剧了。这一点,黑马必须要对爱奇艺点赞。

回到正题,就目前来看,想要关闭会员专属广告的推荐,现阶段基本是不可能的。就算你跑去起诉爱奇艺,也是不可能关闭的。

所以,尊贵的爱奇艺会员们,多动动手吧!

离大谱!网易云音乐这个大瓜,把我看傻了

2024年刚一到,网易云音乐也一改往日静悄悄的作风,风风火火宣布大改动。

小雷之前和小伙伴们聊过的,就在1月9号,网易云音乐重磅官宣将全新改版。

喏,网易云音乐这次全新改版的主题是「回归初心」,怎么个「回归」法呢?

首先改变的是Slogan,从旧版的「音乐的力量」改回到初版的「发现好音乐」~

图源:网易云音乐

接着,就是对APP排版布局进行「改头换面」的升级。

当然了,新事物的改变总是伴随着争议,网易云音乐这波新改版也是一样的道理。

觉得改得好的大有人在,觉得改得差点意思也有人说,这个就交给大伙自行判断。

不过围绕网易云音乐的争议却没有歇下来,就在昨天,小雷发现它又有大事发生。

具体是什么情况嘞?小伙伴们且听小雷细细道来。

图源:网易云音乐

网易云音乐第三方开源API删库停更

也就这阵子的事儿,有细心网友发现,知名网易云音乐第三方开源API删库停更。

这个网易云音乐第三方开源API项目,全称叫做「NeteaseCloudMusicApi」。

它是由开发者Binaryify使用Node.js编写的。

目前开发者清空该项目仓库的全部代码,连commit记录等一系列信息也一并删除。

哎,最后只留下一封,写着「保护版权,此仓库不再维护」的README.MD文件。

图源:GitHub

这里小雷先给不了解情况的小伙伴,简单介绍下这个第三方开源API的具体情况。

有一说一,这个开源API项目是真的火,光在GitHub上就获得超过3万的star数量。

图源:GitHub

至于该开源API项目在其他平台的使用情况和火热程度?依小雷看也是只多不少。

大伙别不信嗷,小雷随便在一些搜索引擎上搜索关键词,就能得到相关使用案例。

而NeteaseCloudMusicApi之所以这么受欢迎,和它的确「好用」分不开关系嗷。

图源:谷歌

网易云音乐作为一个主打社区氛围的平台,这些年发展难免往「社交」做文章。

随之而来的朋友、播客、云村、电台、直播等等功能,多少显得有些繁琐起来。

毕竟很多听歌党只是想纯粹听听音乐,并不热衷于泡社区、和陌生人交友聊天。

换平台听歌舍不得听了好些年歌单,这时候第三方网易云音乐播放器便是救星。

通过NeteaseCloudMusicApi,其他开发者就可调用获取网易云音乐的歌曲信息。

这样一来就能制作出专注音乐本身、界面又清爽干净的第三方网易云音乐播放器。

图源:网络

用户确实听得爽了,但对于开发者来说,这其中还隐藏着一个潜在的不定时风险。

平台能提供歌曲给用户听,是和音乐版权方签署授权协议的,这是受法律保护的。

而无论是开源API开发者,还是第三方播放器开发者,都没有资格提供音乐版权。

哪怕他们是调用所谓的「开源KPI」来实现的,说不准,难免还是有侵权的风险。

So,Binaryify估计是意识到这一点,才匆匆将网易云音乐开源API项目删库停更。

因版权纠纷项目停更早有业内先例

话说回来,因为版权纠纷导致项目停更,其实在我们熟悉的很多行业早有先例。

往远了说,Share和See微博有印象吧?都是当年流行一时的第三方微博客户端。

APP界面清爽占用体积小还没广告,关键还有官方版本没有的各种实用小功能。

同时个性化自由度拉满,换图标换主题去掉各种牛皮癣装饰,这玩意谁能不爱?

图源:网络

只是好景不长,2024年7月9日,Share开发者表示:

因不可抗拒因素,Share从今天开始将不再维护和支持使用,应用市场也做下线处理。

这始终算不上是一个合规的产品,另外还会进行相应订单退款,还推荐用户下载三款微博官方客户端。

图源:微博

无独有偶,2024年8月24日,See微博开发者也发布了类似声明:

同样表示See微博始终不是一个合格的产品。

图源:网络

而同样是第三方微博客户端的VVebo,开发者则收到法院电话,表示微博把他告了。

2024年9月16日,VVebo从应用市场下架,并停止维护和支持使用,还会进行退款赔偿。

图源:VVebo

往近了说,2024年11月,电视家APP出现了无法正常收看电视直播的情况。

不少网友表示嗷,电视家大概率是因为「版权纠纷」,才没办法提供服务了。

图源:电视家

还有歌词适配APP。

这款APP能免费下载某些音乐平台需付费或VIP歌曲,还支持下载多种歌曲格式。

当然了,还支持在线试听或者在线下载,标准、高品质、无损等音质完全拿捏。

界面简单清爽,搜索速度也很快,加上占用手机存储体积很小,深得音乐党喜欢。

然而到2024年12月,歌词适配团队发文宣布不再开发。

而且嚯,APP页面显示「应版权方要求,App 已永久下架关停,不再提供服务」。

图源:歌词适配

最后

害,这些行业先例捋下来,网易云音乐开源项目开发者会选择删库停更也合理了。

毕竟一切兜兜转转发展到最后,最终落点还是「版权」,总是一个绕不开的话题。

而且随着这些年版权意识的加强,不少消费者和平台方都更加注重版权归属问题。

虽然第三方开发者常标有免责声明,但从现实案例来看,一旦有纠纷依然难脱身。

So,小雷估计这一类涉及到版权的第三方开源项目,以后估计只会越来越少喽。

不过小雷呼吁相关版权平台方,得多重视用户体验,努力提升产品质量才是王道。

封面图源:网易云音乐

未经允许不得转载: CIFCOM跨境电商 » 网易云音乐广告越来越多

相关文章

CIFCOM

contact