Your browser does not support HTML5 canvas.

企业介绍
Company Introduction

上海中彦广告有限公司

位于中国金融中心上海。公司背靠丰富的商业化资源,合作广告主逾10万家,其中头部品牌预算超过2000 家,涵盖110多个细分行业。并且在游戏、电商、应用下载、金融贷款等领域有独家的预算合作渠道。

在2019年收到熊猫投资1100万Pre-A轮融资,并牵手上海全民财富,共同设立西安分公司技术开发部门。打造了国内首款一站式供应链,针对金融小额贷款SDK集成方案开发。2019年底与天津渤海银行签订为期两年的《平台及渤海银行基于移动互联网开展的个人信用贷款业务》的合作协议。协议中指出2020 年上海中彦广告与渤海银行基于该协议4共同开发SDK、API,通过SDK、API形式接入流量主的软件中,并预计全年累计投入个人移动互联网消费型循环贷款200亿元。

查看更多
×

APP内积攒流量,如何将流量变现,也是各个运营主对于商业模式构建所需探讨的问题。流量的多少,是一件产品是否受瞩目的体现,那么如何低成本、精准的转化流量,这是从业者都在探索和思考的问题。上海中彦广告有限公司能为运营主提供一个高效、有力的合作平台,解决这些问题。

上海中彦广告有限公司,是全国领先的泛互联网广告合作资源及技术对接平台,将广告与流量相结合,用信息、服务和平台作为载体,达到流量变现新形势。

广告不是流量变现的唯一手段,但一定程度上,是最简单、高效的手段。内容付费、电商变现、增值服务等不是每种类型互联网产品都可以做,更何况还要结合用户属性、APP服务等操作。而广告传递,只要有流量就能做。运营商在考虑部署产品变现位置前需要清楚了解每一种形式的优劣势以及和自己产品的匹配性,才能够更好的提升ecpm的值,从而提升变现效率,获得更多的广告收益。

在2019年中彦发布了面向全国广告方的激励计划,旨在吸引腰部媒体将上海中彦内广告平台的SDK集成到它们的应用中,从而拓宽媒体渠道。我们与全国数以千计的广告商合作。

上海中彦有限公司介绍,上海中彦广告有限公司

服务介绍
Our Services

我们根据合作流量主不同的应用类型,提供了种类繁多的广告展现形式及广告植入方案。公司基于SDK、API的集成技术接入方式,为移动互联网企业提供丰富的变现组件解决方案,流量主可以在自己的产品中,用非常短的时间,迅速搭建起一系列的变现场景,帮助互联网企业在主营的业务场景外深度挖掘用户价值,高效流量变现。公司拥有丰富的变现运营经验及变现产品积累,流量主可通过接入我司提供的SDK、API等方式,可以免费使用我们的平台资源,同步我们的运营经验,共享我们的大数据精准营销能力。无需研发运营投入、无需经验积累,一对一的对接服务,当天上线,即刻变现!

App流量优势展现

巨大的流量优势

App广告预算

充足的广告预算

App超高的收益回报

超高的收益回报

App星级的优质服务

星级的优质服务

中彦引擎目前合作媒体215家,日均广告展现投放2.7亿+,覆盖1亿+的移动互联网用户,为合作媒体主日均创造收益279万+。

合作媒体

日均收益

日均展现

中彦引擎背靠丰富的商业化资源,开创融合互动广告各种形式,目前服务广告主10万家+,其中头部品牌预算超过2000家;涵盖110多个细分行业。并且在游戏、电商、应用下载、金融贷款等领域有独家的预算合作渠道。流量变现兼顾媒体收益、用户体验及广告转化,实现媒体主、广告主、用户多方共赢。

广告主

细分行业

DAU

中彦引擎积累了国内外数十亿用户的多场景数据,为深度探索用户画像和算法策略提供丰富样本,结合穿山甲联盟特性,搭建起更适合联盟的投放引擎和算法,向用户展示最感兴趣的广告,提升变现效率。

媒体

PV

广告主

App流量规范

规范流量

严格的反作弊机制,保障流量生态健康

App优化方案

优化方案

独家的优化技巧,从接入开始跟踪数据,在短时间内即可拿出有效的优化方案,确保广告收益

App客户服务

客户服务

7×24小时客服团队,极速响应

App专业审核

专业审核

多维度自主屏蔽,超强大的审核团队支持,广告质量无忧

广告样式
Ads styles

中彦引擎基于 Android Studio / iOS 原生开发类,可支持以下场景集成方案:

App开屏广告

开屏广告

Open Screen Ads
AppBanner横幅广告

Banner横幅广告

Banner Ads
App激励视频广告

激励视频广告

Incentive Video Ads
App游戏试玩类广告

游戏试玩类广告

Game Trial Ads
App信息流广告

信息流广告

Information Flow Ads
App插屏广告

插屏广告

Interstitial Ads
App浸入式视频广告

浸入式视频广告

Immersion Video Ads

开屏广告
Open Screen Ads

APP程序启动时,在加载完启动页后,即会出现3-5秒的全屏展示广告。该广告是移动流量曝光的第一入口。

开屏广告占据了用户的第一视觉位置。覆盖面积广泛,品牌效应更佳。中彦完善的填充策略可以大幅提高广告内容与媒体的贴合度,保证媒体的用户体验。广告质量高,品牌感强,是APP中最为优质的广告位置。

加载更多
×
投放建议:

适合预算高的企业、品牌,缺点是这种方式定向能力弱,不能针对垂直用户。

开屏广告优势:

1、曝光量巨大,面向用户较广,展现力较强。
2、视觉效果好,用户对广告信息的接收度高,开屏广告容易给用户的视觉和感官上的冲击较高。
3、可定向投放,可以根据目前客户、目标市场等进行定向,使得广告曝光更有效率,曝光精准度越高。

开屏广告收益:

千次展现收益在20-120元不等(展现形式获取收益)

开屏广告详情

开屏广告
Open Screen Ads

开屏广告详情

APP程序启动时,在加载完启动页后,即会出现3-5秒的全屏展示广告。该广告是移动流量曝光的第一入口。

开屏广告占据了用户的第一视觉位置。覆盖面积广泛,品牌效应更佳。中彦完善的填充策略可以大幅提高广告内容与媒体的贴合度,保证媒体的用户体验。广告质量高,品牌感强,是APP中最为优质的广告位置。

加载更多
×
投放建议:

适合预算高的企业、品牌,缺点是这种方式定向能力弱,不能针对垂直用户。

开屏广告优势:

1、曝光量巨大,面向用户较广,展现力较强。
2、视觉效果好,用户对广告信息的接收度高,开屏广告容易给用户的视觉和感官上的冲击较高。
3、可定向投放,可以根据目前客户、目标市场等进行定向,使得广告曝光更有效率,曝光精准度越高。

开屏广告收益:

千次展现收益在20-120元不等(展现形式获取收益)

Banner横幅广告详情

Banner横幅广告
Banner Ads

在APP界面顶部、中部或底部出现的静态图、GIF图、文字链,或多帧图片滚动的广告形式,支持轮播、静态播放,尺寸和样式十分丰富,展现形式灵活多变,可最大程度上贴合APP的主题风格。

Banner广告常常出现在用户停留时间较长的页面或访问次数比较高的页面,因此该样式的广告曝光频次高,转化率好,有助于预算收益提升。

加载更多
×
投放建议:

一般这类广告适用于小说阅读页、咨询详情页、导购展示页等。

Banner横幅广告优势:

展现形式同样灵活多变,可最大程度上贴合APP的主题风格。Banner广告常常出现在用户停留时间较长的页面或访问次数比较高的页面。因此该样式的广告曝光频次高,转化率高,降低预算提升收益。

Banner横幅广告收益:

千次展现收益在12-60元不等(展现形式获取收益)

Banner横幅广告
Banner Ads

Banner横幅广告详情

在APP界面顶部、中部或底部出现的静态图、GIF图、文字链,或多帧图片滚动的广告形式,支持轮播、静态播放,尺寸和样式十分丰富,展现形式灵活多变,可最大程度上贴合APP的主题风格。

Banner广告常常出现在用户停留时间较长的页面或访问次数比较高的页面,因此该样式的广告曝光频次高,转化率好,有助于预算收益提升。

加载更多
×
投放建议:

一般这类广告适用于小说阅读页、咨询详情页、导购展示页等。

Banner横幅广告优势:

展现形式同样灵活多变,可最大程度上贴合APP的主题风格。Banner广告常常出现在用户停留时间较长的页面或访问次数比较高的页面。因此该样式的广告曝光频次高,转化率高,降低预算提升收益。

Banner横幅广告收益:

千次展现收益在12-60元不等(展现形式获取收益)

激励视频广告
Incentive Video Ads

深度适配流量APP原生模式的15~30秒全屏视频广告,用户可以选择观看视频广告来换取应用或游戏内的奖励。这是一种主动选择的形式的广告,使得用户观看时间更长,内容和信息更丰富。

中彦引擎专业的销售团队引入游戏、网服等高匹配度广告主预算,精细分配提升价格空间的同时带来更高的填充率。用户自主选择观看,体验更好。目前,激励视频广告主预算丰富eCPM更高。

加载更多
×
投放建议:

作为广告分发平台,媒体在发布激励广告前,首先需要对目标用户进行精准的定位和画像,进而再为其投放针对性广告;从而使品牌与受众更高效的契合,无损用户体验的同时,提升广告主转化效率。

激励视频优势:

良好的用户体验。激励视频可以与游戏环节和玩法很好的结合,不破坏整个游戏生态,为那些没有付费意愿的用户提供获取增值服务的机会。此外,视频广告使用户对在推广的产品有较深入的了解,下载app后用户的留存意愿也更大,能确保良好的广告收益。

激励视频预估收益:

千次展现收益120-380元(点击形式)

激励视频广告详情

激励视频广告
Incentive Video Ads

激励视频广告详情

深度适配流量APP原生模式的15~30秒全屏视频广告,用户可以选择观看视频广告来换取应用或游戏内的奖励。这是一种主动选择的形式的广告,使得用户观看时间更长,内容和信息更丰富。

中彦引擎专业的销售团队引入游戏、网服等高匹配度广告主预算,精细分配提升价格空间的同时带来更高的填充率。用户自主选择观看,体验更好。目前,激励视频广告主预算丰富eCPM更高。

加载更多
×
投放建议:

作为广告分发平台,媒体在发布激励广告前,首先需要对目标用户进行精准的定位和画像,进而再为其投放针对性广告;从而使品牌与受众更高效的契合,无损用户体验的同时,提升广告主转化效率。

激励视频优势:

良好的用户体验。激励视频可以与游戏环节和玩法很好的结合,不破坏整个游戏生态,为那些没有付费意愿的用户提供获取增值服务的机会。此外,视频广告使用户对在推广的产品有较深入的了解,下载app后用户的留存意愿也更大,能确保良好的广告收益。

激励视频预估收益:

千次展现收益120-380元(点击形式)

游戏试玩类广告详情

游戏试玩类广告
Game Trial Ads

以按钮或板块为入口出现于APP中,以丰富的游戏种类和详细的收益获取教程,为用户提供快捷获得收益的渠道。增加用户粘性,不影响用户使用体验。

加载更多
×
投放建议:

适用于用户稳定,可作为福利形式为用户带来收益。

游戏试玩类广告优势:

将推广与激励融为一体,更好的带动游戏发展及APP内用户活跃性。游戏试玩类广告通常以按钮或板块为入口出现于APP中,以丰富的游戏种类和详细的收益获取教程为用户提供快捷获得收益的渠道。

游戏试玩类收益:

按照用户下载量及任务完成量进行结算。

游戏试玩类广告
Game Trial Ads

游戏试玩类广告详情

以按钮或板块为入口出现于APP中,以丰富的游戏种类和详细的收益获取教程,为用户提供快捷获得收益的渠道。增加用户粘性,不影响用户使用体验。

加载更多
×
投放建议:

适用于用户稳定,可作为福利形式为用户带来收益。

游戏试玩类广告优势:

将推广与激励融为一体,更好的带动游戏发展及APP内用户活跃性。游戏试玩类广告通常以按钮或板块为入口出现于APP中,以丰富的游戏种类和详细的收益获取教程为用户提供快捷获得收益的渠道。

游戏试玩类收益:

按照用户下载量及任务完成量进行结算。

信息流广告
Information Flow Ads

用户在浏览阅读APP的推荐列表页、文章详情页、视频详情页中的原生图文及视频广告。这种穿插在内容流中的广告,对用户来说体验相对较好,对广告主来说可以利用用户的标签进行精准投放。

加载更多
×
投放建议:

信息流广告适用于任何体量、多类行业的广告主。但媒体在投放信息流广告时,要严格审核广告主素材创意和素材形式,使其与媒体调性、界面风格、上下文内容等协调融合,如此,才能让广告更加原生而无损用户体验,且广告效果也会更加显著。

信息流广告优势:

消费者观看原生广告的频率比观看展示位广告的频率高53%;观看信息流广告的消费者数量比观看普通广告位的消费者人数多25%。由此可见,信息流广告有着更高的用户关注度和好感度;同时,一定程度上也能带来更好的广告转化效果。

信息流广告预估收益:

千次展现收益 100-300(展现形式)

信息流广告详情

信息流广告
Information Flow Ads

信息流广告详情

用户在浏览阅读APP的推荐列表页、文章详情页、视频详情页中的原生图文及视频广告。这种穿插在内容流中的广告,对用户来说体验相对较好,对广告主来说可以利用用户的标签进行精准投放。

加载更多
×
投放建议:

信息流广告适用于任何体量、多类行业的广告主。但媒体在投放信息流广告时,要严格审核广告主素材创意和素材形式,使其与媒体调性、界面风格、上下文内容等协调融合,如此,才能让广告更加原生而无损用户体验,且广告效果也会更加显著。

信息流广告优势:

消费者观看原生广告的频率比观看展示位广告的频率高53%;观看信息流广告的消费者数量比观看普通广告位的消费者人数多25%。由此可见,信息流广告有着更高的用户关注度和好感度;同时,一定程度上也能带来更好的广告转化效果。

信息流广告预估收益:

千次展现收益 100-300(展现形式)

插屏广告详情

插屏广告
Interstitial Ads

开发者针对原生环境进行渲染和展示的插屏广告形式。适用于所有具有弹窗广告的场景。插屏广告通常是在APP的使用流程中的自然过渡点,比如暂停场景切换的时候弹出的一种广告样式。

该类型广告弹出的广告尺寸较大,广告内容清晰突出,可以充分利用用户的等待加载时间,巧妙的回避了广告弹出时的突兀感,用户体验更好。

加载更多
×
投放建议:

插屏广告不建议新APP在推广期或者用户激增期使用,虽该类型广告适用于所有应用,但使用需谨慎,也可根据APP特点自行定制。

插屏广告优势:

插屏广告图片丰富绚丽,并能够大尺寸展现应用特点,正在成为广告主喜爱的投放方式。在尺寸方面,插屏广告拥有占据手机屏幕超过一半的大尺寸。

插屏广告收益:

千次展现收益在40-80元不等(展现形式获取收益)

插屏广告
Interstitial Ads

插屏广告详情

开发者针对原生环境进行渲染和展示的插屏广告形式。适用于所有具有弹窗广告的场景。插屏广告通常是在APP的使用流程中的自然过渡点,比如暂停场景切换的时候弹出的一种广告样式。

该类型广告弹出的广告尺寸较大,广告内容清晰突出,可以充分利用用户的等待加载时间,巧妙的回避了广告弹出时的突兀感,用户体验更好。

加载更多
×
投放建议:

插屏广告不建议新APP在推广期或者用户激增期使用,虽该类型广告适用于所有应用,但使用需谨慎,也可根据APP特点自行定制。

插屏广告优势:

插屏广告图片丰富绚丽,并能够大尺寸展现应用特点,正在成为广告主喜爱的投放方式。在尺寸方面,插屏广告拥有占据手机屏幕超过一半的大尺寸。

插屏广告收益:

千次展现收益在40-80元不等(展现形式获取收益)

浸入式视频广告
Immersion Video Ads

广告样式布局内容完全和APP布局融为一体;广告呈现不会破坏软件内页面本身的和谐,同时引导用户进行全屏沉浸式观看,广告信息能够更好的传达,转化率更高,效果出众。

短视频类APP推荐使用,该类广告位曝光量巨大,收益出众。

加载更多
×
投放建议:

移动互联网时代,在用户粘性较高的平台上,为用户提供场景空间,进而挖掘用户需求场景。更多的激发用户需求,提高广告的转化率,由广告产生对品牌,产品的认知,通过浸入式的场景营造,更有效的转化消费者。

浸入式视频广告优势:

1、重新定义用户上网入口,特别在一些垂直领域的APP,软件本身具有一定的场景指向,通过浸入式广告,强化这一场景下,品牌及产品的带入感。
2、将用户的碎片时间更有效的利用和转化,特别是内容类的产品,用户kill time将会被有效利用。
3、将成为未来主流的广告推广方式,由广告展现方式提及某一品牌或商品,进而对其产生感知,营造场景,在这个场景当中挖掘用户对于品牌或商品喜爱和种草的情感,进而产生需求场景。

浸入式视频广告收益:

千次展现收益 100-300(展现形式)

浸入式视频广告详情

浸入式视频广告
Immersion Video Ads

浸入式视频广告详情

广告样式布局内容完全和APP布局融为一体;广告呈现不会破坏软件内页面本身的和谐,同时引导用户进行全屏沉浸式观看,广告信息能够更好的传达,转化率更高,效果出众。

短视频类APP推荐使用,该类广告位曝光量巨大,收益出众。

加载更多
×
投放建议:

移动互联网时代,在用户粘性较高的平台上,为用户提供场景空间,进而挖掘用户需求场景。更多的激发用户需求,提高广告的转化率,由广告产生对品牌,产品的认知,通过浸入式的场景营造,更有效的转化消费者。

浸入式视频广告优势:

1、重新定义用户上网入口,特别在一些垂直领域的APP,软件本身具有一定的场景指向,通过浸入式广告,强化这一场景下,品牌及产品的带入感。
2、将用户的碎片时间更有效的利用和转化,特别是内容类的产品,用户kill time将会被有效利用。
3、将成为未来主流的广告推广方式,由广告展现方式提及某一品牌或商品,进而对其产生感知,营造场景,在这个场景当中挖掘用户对于品牌或商品喜爱和种草的情感,进而产生需求场景。

浸入式视频广告收益:

千次展现收益 100-300(展现形式)

合作媒体
Associated Media

目前公司已与华为,爱奇艺、携程、苏宁易购、同程旅游、美团、联想、屈臣氏、懒人听书、喜马拉雅FM、墨迹天气、火趣短视频、点多多、 讯飞输入法、D球生态、御书房等近千家企业媒体建立合作。

更多合作媒体...

案例展示
Case Show

网上厨房APP

网上厨房APP

网上厨房是一款以菜谱分享的厨艺教学平台。受众群体年龄在20-50岁。

软件接入广告获益情况:
用户注册量:400万+
日均用户展示次数:3次
日活跃度: 60万+
日均收益:9万+

飞推APP

飞推APP

飞推是一款以剪辑为IP的软件。用户受众群体为18-25岁用户。

软件接入广告获益情况:
用户注册量:300万+
日均用户展示次数:2次
日活跃度:40万+
日均收益:5万+

跟谁学APP

跟谁学APP

跟谁学是一款教育学习平台!不管你是小孩,学生,还是大人,考证都可以在这里学习!

软件接入广告获益情况:
用户注册量:100万+
日均用户展示次数:3次
日活跃度:30万+
日均收益:2.7万+

爱买车APP

爱买车APP

爱买车是一款帮助你买车的软件,给你提供参考数据,像价格、车子的详细数据等等。

软件接入广告获益情况:
用户注册量:70万+
日均用户展现次数:3次
日活跃度:20万+
日均收益:3万+

螺旋跳跃

螺旋跳跃

螺旋跳跃是一款以休闲游戏为主的游戏类型App。

软件接入广告获益情况:
用户注册量:70万+
日均用户点击广告次数:4次
日活跃度:10万+
日均收益:1万+

头条多多APP

头条多多APP

头条多多是以资讯为主题的一款新闻类软件。

软件接入广告获益情况:
用户注册量:400万+
日均用户展示次数:4次
日活跃度:80万+
日均收益:10万+

趣赚APP

趣赚APP

趣赚是一款以发布任务模式app。用户可通过接受任务获得相应奖励。

软件接入广告获益情况:
用户注册量:60万+
游戏试玩板块日活跃度:7万+
日活跃度:20万+
日均收益:4万+

SDK下载
Sdk Download

×
暂未开通
×
  • 自动部署
  • 指定SDK版本
  • 手动部署
  • Xcode编译选项
  • 添加依赖库
  • 具体接入
  • 错误码
1、自动部署

自动部署可以省去您工程配置的时间。iOS SDK会通过CocoaPods进行发布,推荐您使用自动部署。

2、指定SDK版本

指定SDK版本前,请先确保repo库为最新版本。如果需要指定SDK版本,需要在Podfile文件中,pod那一行指定版本号:

pod 'DDDAdSdk', '~> 1.0.0' 这里改成你想要的版本号

之后运行命令:Pod install

3、手动部署

DDDAdSdk.framework

勾选Copy items if needed

4、Xcode编译选项设置

添加权限

注意要添加的系统库

工程plist文件设置,点击右边的information Property List后边的 "+" 展开,添加App Transport Security Settings,先点击左侧展开箭头,再点右侧加号,Allow Arbitrary Loads选项自动加入,修改值为YES。SDK API 已经全部支持HTTPS,但是广告主素材存在非HTTPS情况。


<key>NSAppTransportSecurity</key>
    <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

具体操作如图:

Build Settings中Other Linker Flags增加参数-ObjC,SDK同时支持-all_load具体操作如图:

5、添加依赖库

工程需要在TARGETS -> Build Phases中找到Link Binary With Libraries,点击“+”,依次添加下列依赖库

                        
 StoreKit.framework
 MobileCoreServices.framework
 WebKit.framework
 MediaPlayer.framework
 CoreMedia.framework
 CoreLocation.framework
 AVFoundation.framework
 CoreTelephony.framework
 SystemConfiguration.framework
 AdSupport.framework
 CoreMotion.framework
 Accelerate.framework
 libresolv.9.tbd
 libc++.tbd
 libz.tbd
 libsqlite3.tbd
                      

如果以上依赖库增加完仍旧报错,请添加ImageIO.framework。

具体操作如图所示:

6、具体接入请参考demo
7、错误码
20001 成功
40000 http content type错误
40001 http request pb错误
40002 请求应用程序不能为空
40003 请求wap不能为空
40018 媒体包名与条目不一致
40019 媒体配置广告类型与请求不一致
40024 sdk 版本过低不返回广告
40025 引入SDK包不完整,建议校验SDK包完整性或联系技术支持
50001 服务器错误
60002 show event处理错误
60003 click event处理错误
60008 激励视频验证服务器异常或处理失败
-6 本机模板无效
-5 本地模板添加无效
-4 打开appstore失败
-3 解析后的数据没有ads
-2 网络请求失败
-1 解析失败
101 原生表示ad,渲染结果解析失败
105 本地Express ad,解析失败
106 本地快车广告,渲染失败
107 原生快车广告,渲染超时
×
  • Project的gradle下配置
  • app的gradle配置
  • 在onCreate()方法中初始化
  • 开屏广告
  • 激励视频
  • Banner广告
  • 信息流广告
  • 插屏广告
  • Draw广告
  • 错误码
1.Project的gradle下配置
                                 
allprojects {
  repositories {
  google()
  jcenter()
  maven {
  url 
    "http://47.100.161.10:8085/nexus/content/repositories/quads/"
    }
  } 
}
                                 
                       
2.app的gradle配置
                  
 implementation"com.quads:show:1.0.0"
                  
                
3. 在Application的onCreate()方法中初始化
            
QuadsSDKManager.getInstance().init(this, "userId");
    
                     
4. 开屏广告
                                   
 //承载开屏广告的父布局
 FrameLayout frameLayout = findViewById(R.id.container);
 QuadsSDKManager.getInstance().showSplashScreenAd(
  this, frameLayout, new OnScreenAdCallback() {
  @Override
  public void onAdTimeSkip(String tag) {
  Log.e(tag, "跳过");
  }
  @Override
  public void onAdTimeOver(String tag) {
  Log.e(tag, "倒计时结束");
  }
  @Override
  public void onAdTimeOut(String tag, String msg) {
  Log.e(tag, msg);
  ToastUtil.showToast(SplashAdActivity.this, msg);
  }
  @Override
  public void onAdError(String tag, String code, String msg) {
  Log.e(tag, "code=" + code + " ,msg=" + msg);
  ToastUtil.showToast(SplashAdActivity.this, msg);
  }
  @Override
  public void onAdShow(String tag) {
  Log.d(tag, "开屏广告显示成功");
  }
  @Override
  public void onAdClicked(String tag) {
  Log.d(tag, "开屏广告被点击");
  }
 });
                                   
                                    

参数1:Activity 上下下文

参数2:FrameLayout,承载开屏广告的父布局

参数3:OnScreenAdCallback,广告回调

5. 激励视频
                                 
QuadsSDKManager.getInstance().showRewardVideoAd(this, new 
OnRewardVideoAdCallback() {
 @Override
 public void onVideoComplete(String tag) {
 Log.d(tag, "视频播放完毕");
 }
 @Override
 public void onCloseClicked(String tag) {
 Log.d(tag, "视频关闭");
 }
 @Override
 public void onRewardVerify(String tag, boolean rewardVerify, 
 String rewardAmount, String rewardName) {
 Log.d(tag, "奖励回调");
 }
 @Override
 public void onAdError(String tag, String code, String msg) {
 Log.e(tag, msg);
 }
 @Override
 public void onAdShow(String tag) {
 Log.d(tag, "视频显示成功");
 }
 @Override
 public void onAdClicked(String tag) {
 Log.d(tag, "视频点击");
 }
});
                                 
                       

参数1:Activity 上下下文

参数2:OnRewardVideoAdCallback,激励视频广告回调

6. Banner广告
                                 
//banner 父布局
FrameLayout frameLayout = findViewById(R.id.container);
// banner 显示宽度
int w = (int) UIUtils.getScreenWidthDp(this);
//高度设置 0,则为自适应
QuadsSDKManager.getInstance().showBannerAd(this, 
frameLayout, w, 0, new OnSimpleAdCallback() {
 @Override
 public void onAdError(String tag, String code, String msg) {
 Log.e(tag, msg);
 ToastUtil.showToast(BannerActivity.this, msg); 
 }
 @Override
 public void onAdShow(String tag) {
 Log.d(tag, "显示 banner");
 }
 @Override
 public void onAdClicked(String tag) {
  Log.d(tag, "点击 banner");
  }
 });
                                 
                                  

参数1:Activity 上下下文

参数2:Banner 显示宽度,必须大于 0

参数3:Banner 显示高度,如果设置为 0,则为高度自适应

参数4:OnSimpleAdCallback,banner 广告回调

7. 信息流广告
                               
/**
* 加载信息流
*/
private void showInfoStreamAd() {
 //广告显示宽度
 float w = UIUtils.getScreenWidthDp(this);
 QuadsSDKManager.getInstance().showInfoStream(this, w, 0, 3, 
 new OnInfoStreamAdCallback() {
 @Override
 public void onAdError(String tag, String code, String msg) {
 Log.e(tag, msg);
 ToastUtil.showToast(InfoStreamActivity.this, msg);
 }
 @Override
 public void onAdShow(String tag, NativeExpressAdEntity data) {
 Log.e(tag, "显示信息流");
 List<TTNativeExpressAd> ads = data.getAdData();
 //开始渲染显示广告
 renderAd(ads);
 }
 @Override
 public void onClose(String tag, NativeExpressADView view) 
{
 Log.e(tag, "关闭信息流");
 if (view != null) {
 //如果 view 不为 null,则必须调用 destroy 释放资源
 view.destroy();
 }
 }
 }); 
}
 /**
* 承载广告的父 view
*/
private LinearLayout container;
/**
* 渲染广告
*
* @param data
*/
private void renderAd(List<TTNativeExpressAd> data) {
 container = findViewById(R.id.container);
 container.removeAllViews();
 if (data == null || data.size() == 0) {
 return;
 }
 mAdData = data;
 for (int i = 0; i < data.size(); i++) {
 TTNativeExpressAd ad = data.get(i);
 ad.render();
 bindDislike(ad, false);
 switch (ad.getInteractionType()) {
 case TTAdConstant.INTERACTION_TYPE_DOWNLOAD:
 bindDownloadListener(ad);
 break;
 }
 container.addView(ad.getExpressAdView(), i);
 } 
}
/**
* 设置广告的不喜欢,注意:强烈建议设置该逻辑,如果不设
置 dislike 处理逻辑,则模板广告中的 dislike 区域不响应 dislike
事件。
*
* @param ad
* @param customStyle 是否自定义样式,true:样式自定义
*/
private void bindDislike(final TTNativeExpressAd ad, boolean customStyle) {
 if (customStyle) {
 //使用自定义样式
 List<FilterWord > words = ad.getFilterWords();
  if (words == null || words.isEmpty()) {
  return;
  }
  final DislikeNewDialog dislikeNewDialog = new 
 DislikeNewDialog(this, words);
  dislikeNewDialog.setOnDislikeItemClick(new 
 DislikeNewDialog.OnDislikeItemClick() {
  @Override
  public void onItemClick(FilterWord filterWord) {
  //屏蔽广告
  //用户选择不喜欢原因后,移除广告展示
  container.removeView(ad.getExpressAdView());
  container.invalidate();
  }
  });
  ad.setDislikeDialog(dislikeNewDialog);
  return;
  }
  //使用默认模板中默认 dislike 弹出样式
  ad.setDislikeCallback(this, new TTAdDislike.DislikeInteractionCallback() {
  @Override
  public void onSelected(int position, String value) {
  //用户选择不喜欢原因后,移除广告展示
  container.removeView(ad.getExpressAdView());
  container.invalidate();
  }
  @Override
  public void onCancel() {
  }
  @Override
  public void onRefuse() {
  }
  }); 
}
 /**
 * 设置下载监听
 *
 * @param ad
 */
private void bindDownloadListener(TTNativeExpressAd ad) {
 TTAppDownloadListener downloadListener = new 
 TTAppDownloadListener() {
 private boolean mHasShowDownloadActive = false;
 @Override
 public void onIdle() {
 }
 @SuppressLint("SetTextI18n")
 @Override
 public void onDownloadActive(long totalBytes, long currBytes, String fileName, String appName) {
 if (!mHasShowDownloadActive) {
 mHasShowDownloadActive = true;
 }
 }
 @SuppressLint("SetTextI18n")
 @Override
 public void onDownloadPaused(long totalBytes, long currBytes, String fileName, String appName) {
 }
 @Override
 public void onDownloadFailed(long totalBytes, long currBytes, String fileName, String appName) {
 }
 @Override
 public void onInstalled(String fileName, String appName) {
 }
 @Override
 public void onDownloadFinished(long totalBytes, String fileName, String appName) {
 }
 };
 ad.setDownloadListener(downloadListener); // 注册下载监听器
}
/**
* 销毁广告
*/
private void destroyAd() {
  if (mAdData == null || mAdData.size() == 0) {
  return;
  }
  for (TTNativeExpressAd ad : mAdData) {
  ad.destroy();
  }
  mAdData = null;
 }
 @Override
 protected void onDestroy() {
  destroyAd();
  super.onDestroy(); 
}
                               
                                

第一步:调用拉起广告方法

第二步:在 onAdShow 回调方法中拿到返回的广告数据进行渲染

第三步:开始渲染广告,这里例子为 renderAd()方法

第四步:设置下载监听器(可选)

第五步:设置不喜欢弹框,这里为 bindDislike()方法

8. 插屏广告
                               
 FrameLayout frameLayout = findViewById(R.id.container);
 int w = (int) UIUtils.getScreenWidthDp(this);
 //高度设置 0,则为自适应
 QuadsSDKManager.getInstance().showInteractionExpressAd(this, frameLayout, w, 0, 3, new OnInteractionAdCallback() {
  @Override
  public void onAdClicked(String tag) {
  Log.d(tag, "插屏点击了");
  }
  @Override
  public void onAdError(String tag, String code, String msg) {
  Log.e(tag, msg);
  ToastUtil.showToast(InteractionExpressActivity.this, msg);
  }
  @Override
  public void onAdShow(String tag) {
  Log.d(tag, "插屏显示");
  }
 });
                               
                                

参数1:Activity 上下下文

参数2:FrameLayout,承载广告的父布局

参数3:广告显示宽度

参数4:广告显示高度,设置为 0 则为高度自适应

参数5:广告加载条数,最大 3

参数6:广告回调 OnInteractionAdCallback

9. Draw广告
                               
QuadsSDKManager.getInstance().showDrawsAd(this, 2, new OnDrawAdCallback() {
 @Override
 public void onAdError(String tag, String code, String msg) {
 Log.e(tag, msg);
 ToastUtil.showToast(DrawActivity.this, msg);
 }
 @Override
 public void onAdShow(String tag, List<TTNativeExpressAd> data) {
 Log.d(tag, "draw 显示");
 renderAd(data);
 }
});
                               
                                

参数1:Activity 上下下文

参数2:广告条数,最大 3

参数3:广告回调接口 OnDrawAdCallback

10. 错误码
1000 没有开通广告位,联系管理员开通
1001 广告加载失败,检查网络连接与广告配置是否正确
1002 广告需要的parentView或者广告id为空
1003 激励视频播放错误,检查广告id是否配置正确
1004 手机权限申请失败
1005 Ip访问限制,通常为短时间频繁访问引起
2001 初始化错误
3001 网络异常
3003 网络类型错误,当前设备的网络类型不符合开屏广告的加载条件
4001 初始化错误, 包括广告位为空、App ID为空、Context/Activity为空
4002 请检查 Manifest 文件中的 Activity/Service/Permission 的声明是否正确以 及声明的权限是否都已授予
4003 未知错误(联系业务对接)
4013 在旧版的 SDK 上使用了模板视频的广告位,需要升级 SDK
5005 广告请求量或者消耗等超过日限额,请明天再请求广告
5006 包名校验错误
5013 广告请求过于频繁
5018 未知错误(联系业务对接)
5019 未知错误(联系业务对接)

APP下载
App Download

联系我们
Contact Us

Address

上海市嘉定区嘉戬公路328号7幢7层J

Email

info@zhongyanad.com

Phone

400-0000-494