yaroslawww/laravel-ad-director
Composer 安装命令:
composer require yaroslawww/laravel-ad-director
包简介
Package to help you add advertising to your site.
README 文档
README
Package to help you add advertising to your site.
Installation
Install the package via composer:
composer require yaroslawww/laravel-ad-director
Optionally you can publish the config file with:
php artisan vendor:publish --provider="AdDirector\ServiceProvider" --tag="config"
Supported services
- Google Publisher Tags
- to add new services, please send PR.
Usage
If you use Google Publisher Tags, and use repeated sizes - you can easily configure global sizes with size mapping in any service provider - as GPT is singleton.
use AdDirector\Facades\AdDirector; use AdDirector\GPT\SizeMap; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { AdDirector::gpt() // Add size with mapping example ::addSize('leaderboard', new \AdDirector\GPT\Size( // Allowed sizes [[728, 90], [320, 50]], // Responsive size map (new SizeMap()) // Tablet ->addSize([1024, 768], [728, 90]) ->addSize([980, 690], [728, 90]) // Desktop ->addSize([1050, 200], [728, 90]) // Mobile ->addSize([640, 480], [320, 50]) // Any size ->addSize([0, 0], [320, 50]) )) // Add static size without responsive ::addSize('medium_rectangle', new \AdDirector\GPT\Size([300, 250])); } }
On page controller you can configure set of advert locations.
use AdDirector\Facades\AdDirector; use AdDirector\GPT\Slot; class FrontpageController extends Controller { public function __invoke() { AdDirector::gpt() ->addLocation(Slot::make( '/1234567/FOO_Leaderboard', // Size name from global config 'leaderboard', // Optional, if not set will be generated automatically 'div-gpt-ad-1234567890001-0' // Location identifier, if not set will be used slot's adUnitPath ) // Set targeting ->addTarget('foo', 'bar') ->addTarget('baz', ['foo', 'bar']) , 'header-ads') ->addLocation(Slot::make( '/1234567/FOO_Medium', 'medium_rectangle', ), 'medium-ads') ->addLocation(Slot::make( '/1234567/BAR_Leaderboard', // Manually set custom size new \AdDirector\GPT\Size( [[728, 90], [320, 50]], (new SizeMap()) ->addSize([1024, 768], [728, 90]) ->addSize([640, 480], [320, 50]) ->addSize([0, 0], [320, 50]) ), ), 'footer-ads'); return view('frontpage'); } }
Now there time to add scripts to template
<head> {!! \AdDirector\Facades\AdDirector::configurationScript() !!} </head> <body> <div id="header"> {!! \AdDirector\Facades\AdDirector::adLocation('header-ads') !!} </div> <div id="content"> <div>Content</div> <div> {!! \AdDirector\Facades\AdDirector::adLocation('medium-ads-ads') !!} </div> <div>Content</div> </div> <div id="footer"> {!! \AdDirector\Facades\AdDirector::adLocation('footer-ads') !!} </div> <script> {{-- There possible to add any js confitions, timeout, etc.. --}} {!! \AdDirector\Facades\AdDirector::displayScript() !!} </script> </body> </html>
Credits
yaroslawww/laravel-ad-director 适用场景与选型建议
yaroslawww/laravel-ad-director 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 62 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 12 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 「ad」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 yaroslawww/laravel-ad-director 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 yaroslawww/laravel-ad-director 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 yaroslawww/laravel-ad-director 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Alfabank REST API integration
Laravel package for Accurate Online API integration.
Shared RCX Laravel DataTables UI and configuration helpers.
Boot a Laravel project on any machine with one command: app:serve installs missing tools (PHP, Node, Composer, Herd, Docker), creates .env, sets up the database, runs migrations, builds assets, starts a queue worker and serves via Herd, Sail or artisan serve; app:down cleanly stops everything it sta
Branded, diagnostic error pages (500, 403, 404, 419, 503) for Filament — native Filament UI, dark mode and translations out of the box.
Turn any PDF into a Pingen-ready A4 letter (generated address cover page + A4 normalisation + safe margins) and send it through the Pingen print & mail API. Laravel-first.
统计信息
- 总下载量: 62
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-12-25