mahmoudz/fyber-php-sdk

Fyber.com 的 PHP SDK

v1.0.2 2016-10-04 14:22 UTC

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,便于集成。

  1. 在您的 config/app.php 中注册服务提供者
    'providers' => array(
        ...
		mahmoudz\fyberPhpSdk\FyberPhpSdkServiceProvider::class,
    ),

服务提供者将自动别名 mahmoudz\fyberPhpSdk\Fyber 类,因此您可以在应用程序的任何地方轻松使用 Fyber 门面。

  1. 发布配置文件
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)。