首页 > 编程语言 >如何在视频直播app源码开发中实现开屏广告功能

如何在视频直播app源码开发中实现开屏广告功能

时间:2023-08-18 16:25:50浏览次数:51  
标签:app 开屏 源码 广告 import void

APP开屏广告就目前来说是一个很常见的广告形式,我们现在打开各个APP几乎都会有开屏广告的身影,开屏广告也成了吸引用户注意力和实现盈利的主要方式,所以在视频直播app源码开发,开屏广告功能就显得尤为重要。

一、视频直播app源码之开屏广告

作用:广告、营销推广

界面组成:广告、跳过(倒计时按钮)

二、视频直播app源码之实现步骤

步骤1:新建 SplashActivity.java 。并在 AndroidManifest.xml 里将启动页设置为 SplashAcrivity。

 步骤2:activity_splash.xml

布局中有一个 Button,用来实现点击”跳过“的功能。可以在倒计时内提前跳过闪屏页。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/img"
    tools:context=".SplashActivity">
 
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textSize="50dp"
        android:textColor="@color/white"
        android:text="My App"
        tools:ignore="HardcodedText,SpUsage"
        android:gravity="center"
        />
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="跳过"
        android:layout_gravity="right"
        android:layout_marginTop="35dp"
        android:layout_marginRight="35dp"
        tools:ignore="HardcodedText,RtlHardcoded" />
 
</FrameLayout>

步骤3:SplashActivity.java

package com.example.screenadapter;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.widget.Button;
 
public class SplashActivity extends AppCompatActivity {
 
    private Button button; // "跳过" 按钮
    private Handler handler = new Handler();
    TimeCount timeCount;
    private Runnable runnable = new Runnable() {
        @Override
        public void run() {
            toMainActivity();
        }
    };
 
    /**
     *TODO 闪屏页 --》 最开始功能界面(首页面)
     */
    private void toMainActivity() {
        startActivity(new Intent(this, MainActivity.class));
        finish();
    }
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        setTheme(R.style.Theme_ScreenAdapter);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        
        initViews();
        //延迟 3s 发送,即当用户不主动点击跳过时,3s 后自动结束
        handler.postDelayed(runnable, 3000);
 
        timeCount = new TimeCount(4000, 1000);
        timeCount.start();
    }
 
    /**
     * 初始化 View
     */
    private void initViews() {
        button = findViewById(R.id.button);
        button.setOnClickListener(v -> {
            toMainActivity();
        });
    }
 
    // 倒计时计时器
    class TimeCount extends CountDownTimer{
 
 
        public TimeCount(long millisInFuture, long countDownInterval) {
            super(millisInFuture, countDownInterval);
        }
 
        @SuppressLint("SetTextI18n")
        @Override
        public void onTick(long l) {
            // 设置倒计时
            button.setText(l / 1000 + "s");
        }
 
        @Override
        public void onFinish() {
            // 移除掉 runnable 方法
            handler.removeCallbacks(runnable);
        }
    }
} 

其中,toMainActivity() 方法里实现了由 SplashActivity(闪屏页)跳转到 MainActivity(首页面)。我们在 button(跳过)按钮和”倒计时“结束时触发它。当用户点击”跳过“ 按钮,可以提前结束倒计时进入首页面,也可以等到倒计时结束时自动跳转到首页面。

以上就是 如何在视频直播app源码开发中实现开屏广告功能,更多内容欢迎关注之后的文章

 

标签:app,开屏,源码,广告,import,void
From: https://www.cnblogs.com/yunbaomengnan/p/17640834.html

相关文章

  • APP接入客服系统方式及优劣势分析
    在移动应用的时代,如何将客服系统融入APP成为一项重要的任务。本文将详细探讨三种APP接入客服系统的方式以及各自的优劣势,并特别推荐了唯一客服系统gofly.v1kf.com。一、对话链接插入对话链接插入是一种直接且快速的方式,通过将在线客服对话窗口的链接放入APP的咨询按钮中,实现用户......
  • 悬赏平台APP系统源码
      悬赏平台APP软件是一款在线上做任务,拉新,充场的软件,任何一个用户在平台上注册账号,发布任务,领取任务并获得佣金。本文就一悬赏任务APP软件对功能上的事项进行分析,看看都有哪些功能。  1.任务源  悬赏平台APP展示者所有的任务平台类型,任务做法流程,任务要求,有充场,拉新,......
  • [LeetCode][42]trapping-rain-water
    ContentGivennnon-negativeintegersrepresentinganelevationmapwherethewidthofeachbaris1,computehowmuchwateritcantrapafterraining. Example1:Input:height=[0,1,0,2,1,0,1,3,2,1,2,1]Output:6Explanation:Theaboveelevationmap......
  • CentOS7源码安装JDK8☘️
    1.下载jdk  Java版本支持路线图 Java9、Java10、Java12、Java13、Java14、Java15和Java16均为短期版本,建议不要使用以上版本。官网下载如有旧版本请先卸载openjdk:[root@localhost~]#yumerase`rpm-qa|grepopenjdk`-y2.解压安装:[root@localhost~]#tarxvz......
  • call,apply,bind的区别
    1.三者都可用于改变函数中this指向,但又有细微区别2.三者的语法传参大致相同,第一个参数表示跟谁建立链接,从第二个参数开始传入具体参数值,但其中apply需要用数组进行传入3.call和apply都可直接调用函数,但bind是返回一个新函数......
  • LeetCode[42]TrappingRainWater
    ContentGivennnon-negativeintegersrepresentinganelevationmapwherethewidthofeachbaris1,computehowmuchwateritcantrapafterraining. Example1:Input:height=[0,1,0,2,1,0,1,3,2,1,2,1]Output:6Explanation:Theaboveelevationmap......
  • zlmediakit源码学习(扩展支持转码H265/H264)
    在zlmediakit源码基础上继续探索扩展支持H265/H264的转码功能。参照上一篇帖子:https://www.cnblogs.com/feixiang-energy/p/17623567.html 作者已经封装好了基于ffmpeg实现的解码、编码、视频图像格式转换、音频重采样等接口,https://gitee.com/xia-chu/ZLMediaKit/blob/feature......
  • 解决小程序报错 getLocation:fail the api need to be declared in the requiredPriva
    一、unipp项目打开uniapp项目的配置文件manifest.json,选择“源码视图”。/*小程序特有相关*/"mp-weixin":{"appid":"你的开发者id","setting":{"urlCheck":true,"es6":true,"postcss":......
  • 医疗信息云LIS系统源码 .Net Core版SaaS模式
    SaaS模式.NetCore版云LIS系统源码医疗信息LIS系统是专为医院检验科设计的一套实验室信息管理系统,能将实验仪器与计算机组成网络,使病人样品登录、实验数据存取、报告审核、打印分发,实验数据统计分析等繁杂的操作过程实现了智能化、自动化和规范化管理。有助于提高实验室的整体管理......
  • 无限开商户的开源SaaS进销存源码,商户支持多门店多仓库
    随着软件行业的发展,越来越多的公司开始采用SaaS(软件即服务)模式来构建软件产品,以降低部署和维护的成本,并方便软件升级和更新。SaaS进销存系统是一个基于云计算的管理系统,通过浏览器或移动设备访问,无需在本地安装大量软件。它具有轻量级、自动化等特点,可以快速上手,降低企业成本。管店......