当前位置:首页 > uni-app

uniapp弹窗式广告

2026-03-05 10:03:21uni-app

实现弹窗式广告的方法

在UniApp中实现弹窗式广告可以通过多种方式完成,包括使用原生组件、第三方插件或自定义组件。以下是几种常见的方法:

使用uni.showModal实现基础弹窗

uni.showModal({
    title: '广告',
    content: '点击查看详情',
    showCancel: true,
    success: function (res) {
        if (res.confirm) {
            console.log('用户点击确定');
            // 跳转到广告页面
            uni.navigateTo({
                url: '/pages/advert/advert'
            });
        } else if (res.cancel) {
            console.log('用户点击取消');
        }
    }
});

自定义弹窗组件

uniapp弹窗式广告

创建一个自定义弹窗组件,可以更灵活地控制样式和行为:

  1. 创建组件文件/components/ad-popup.vue
<template>
    <view class="popup-mask" v-if="show" @click="close">
        <view class="popup-content" @click.stop>
            <image src="/static/ad.jpg" mode="widthFix"></image>
            <view class="close-btn" @click="close">×</view>
        </view>
    </view>
</template>

<script>
export default {
    props: {
        show: {
            type: Boolean,
            default: false
        }
    },
    methods: {
        close() {
            this.$emit('close');
        }
    }
}
</script>

<style>
.popup-mask {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5);
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
}
.popup-content {
    position: relative;
    width: 80%;
    background: #fff;
    border-radius: 10rpx;
    padding: 20rpx;
}
.close-btn {
    position: absolute;
    top: -40rpx;
    right: -40rpx;
    width: 60rpx;
    height: 60rpx;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40rpx;
}
</style>
  1. 在页面中使用组件:
<template>
    <view>
        <ad-popup :show="showPopup" @close="showPopup = false"></ad-popup>
        <button @click="showPopup = true">显示广告</button>
    </view>
</template>

<script>
import adPopup from '@/components/ad-popup.vue'
export default {
    components: { adPopup },
    data() {
        return {
            showPopup: false
        }
    }
}
</script>

使用第三方广告插件

uniapp弹窗式广告

可以考虑接入官方广告联盟或第三方广告SDK:

  1. 在manifest.json中配置广告插件
  2. 按照插件文档初始化广告
  3. 在需要显示广告的地方调用API

定时显示广告

可以在App.vue中设置全局定时器,定期显示广告:

export default {
    onLaunch() {
        // 每30分钟显示一次广告
        setInterval(() => {
            uni.showModal({
                title: '特惠活动',
                content: '限时优惠,点击查看',
                success(res) {
                    if (res.confirm) {
                        uni.navigateTo({
                            url: '/pages/promotion/promotion'
                        });
                    }
                }
            });
        }, 1800000); // 30分钟
    }
}

注意事项

  • 广告频率不宜过高,避免影响用户体验
  • 提供明显的关闭按钮
  • 考虑用户偏好设置,允许关闭特定类型广告
  • 遵守各平台广告投放政策
  • 移动端注意弹窗尺寸适配

通过以上方法,可以在UniApp中灵活实现各种样式的弹窗式广告功能,根据实际需求选择最适合的方案。

标签: 广告uniapp
分享给朋友:

相关文章

uniapp怎么使用

uniapp怎么使用

安装与开发环境搭建 下载HBuilderX作为开发工具,这是官方推荐的IDE,内置uniapp项目模板和调试工具。安装后通过新建项目选择uniapp模板,支持Vue.js语法。确保Node.js环境已…

uniapp样式库

uniapp样式库

uniapp 常用样式库推荐 uView UI uView 是专为 uniapp 设计的多端兼容 UI 框架,提供丰富的组件和工具类。支持 Vue3 组合式 API,内置主题定制功能,常用于快速构建企…

丸子uniapp

丸子uniapp

丸子UniApp简介 丸子UniApp是一个基于UniApp框架开发的移动应用解决方案,通常用于快速构建跨平台应用(如微信小程序、H5、Android/iOS等)。其核心特点是利用UniApp的“一次…

uniapp工程

uniapp工程

uniapp工程简介 uniapp是一个基于Vue.js的跨平台开发框架,允许开发者使用一套代码同时生成iOS、Android、H5以及小程序应用。它通过条件编译和平台特性适配,实现多端兼容。 创建…

uniapp 销售日报

uniapp 销售日报

实现销售日报功能的步骤 数据收集与整理 销售日报需要收集每日销售数据,包括销售额、订单数量、商品类别等。数据可以从后端API获取或本地数据库存储。使用uni.request调用接口获取数据,确保数据结…

uniapp下拉换图

uniapp下拉换图

uniapp下拉换图实现方法 监听页面滚动事件 在页面中监听onPageScroll事件,获取滚动位置。当滚动到特定位置时触发换图逻辑。 onPageScroll(e) { if(e.sc…