mahmoudz / fyber-php-sdk
Fyber.com 的 PHP SDK
v1.0.2
2016-10-04 14:22 UTC
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: 6.2.*
- illuminate/config: 5.2.*
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: 4.6.*
- symfony/var-dumper: 3.1.*
This package is auto-updated.
Last update: 2024-09-21 22:00:01 UTC
README
fyber-php-sdk 是一个为 Fyber.com(最友好的开发者广告变现平台)提供的 PHP SDK。
fyber-php-sdk 是一个与框架无关的 PHP 包,可以轻松集成到 Laravel 5 中。
重要提示:我从未与 Fyber 或其任何专业合作伙伴有联系。此项目完全是我的个人作品,不包含除我自己的以外的任何推荐。
安装
推荐通过 Composer
安装此包。
通过 Composer
A. 运行以下 composer 命令
composer require mahmoudz/fyber-php-sdk:*
集成
Laravel
此包附带一个 Service Provider,便于集成。
- 在您的
config/app.php
中注册服务提供者
'providers' => array( ... mahmoudz\fyberPhpSdk\FyberPhpSdkServiceProvider::class, ),
服务提供者将自动别名 mahmoudz\fyberPhpSdk\Fyber
类,因此您可以在应用程序的任何地方轻松使用 Fyber
门面。
- 发布配置文件
php artisan vendor:publish --provider ='mahmoudz\fyberPhpSdk\FyberPhpSdkServiceProvider'
这将把 config/fyber-sdk.php
添加到您的配置目录中。
配置
打开 config/fyber-sdk.php
并自定义包
'api_key' => 'z6ca24652116523516f2a9e5b7e02c96', 'android_app_id' => '11233', 'ios_app_id' => '22344', 'web_app_id' => '44566', 'base_url' => 'http://api.fyber.com/feed/', 'api_version' => '1', 'response_format' => 'json', 'offer_callback_token' => 'a2ca24652116523516f2a9e5b7e02cc3'),
注意:非常推荐不要将您的令牌(任何敏感数据)添加到配置文件中,而是将其引用到 .env
变量中。
使用方法
获取报价
使用 Laravel
最简单的方法是使用 Fyber
门面。
$requiredData = [ 'uid' => 1, 'locale' => 'en', 'device_id' => '2b6f22c904d137be2e2730235f5664094b831186', 'os_version' => '4.1.2', 'timestamp' => 9922774499, 'google_ad_id' => 'eff26c67f527e6817b36935c54f8cc5cc5cffac2', 'google_ad_id_limited_tracking_enabled' => '38400000-8cf0-11bd-b23e-20b96e40000d', ]; $offers = Fyber::getOffers($requiredData, 'android'); // supported: ios, web and android
通用使用方法
// inject `mahmoudz\fyberPhpSdk\Fyber` $offers = $fyber->getOffers($data, 'web');
验证报价回调
// inject `mahmoudz\fyberPhpSdk\Fyber` $isValid = $this->fyber->isValidOfferCallback($request['amount'], $request['uid'], $request['_trans_id_'], $request['sid']); if(!$isValid){ // return "HTTP/1.0 400 Bad Request: wrong SID" }
测试
要测试它,请在您的代码中使用以下内容
// create real instance from Fyber $fyber = new Fyber(); // create another instance of Fyber and mock it $fyberMock = Mockery::mock(Fyber::class); // now let the function getOffers call the getOffersMock instead $fyberMock->shouldReceive('getOffers')->once()->andReturn($fyber->getOffersMock([], ''));
现在当您的代码调用 $this->fyber->getOffers($data, $appType);
时,它将返回 fyber-php-sdk/src/offers-response.json
的内容。
Laravel 友好的代码示例
// create real instance from Fyber $fyber = App::make(Fyber::class); // create another instance of Fyber and mock it $fyberToMock = App::make(Fyber::class); $fyberMock = Mockery::mock(fyberToMock); App::instance(fyberToMock, $fyberMock); // now let the function getOffers call the getOffersMock instead $fyberMock->shouldReceive('getOffers')->once()->andReturn($fyber->getOffersMock([], ''));
在任何地方注入 mahmoudz\fyberPhpSdk\Fyber
并自动获取模拟,这也会返回 fyber-php-sdk/src/offers-response.json
的内容。
致谢
许可
MIT 许可证 (MIT)。