myhayo / diversion
There is no license information available for the latest version (v0.0.1) of this package.
项目间相互倒流
v0.0.1
2026-02-27 08:23 UTC
Requires
- php: ^8.0
- illuminate/database: ^9.0|^10.0|^11.0
- illuminate/http: ^9.0|^10.0|^11.0
- illuminate/support: ^9.0|^10.0|^11.0
- jenssegers/agent: ^2.6
README
- 项目之间相互导流
- 安卓使用 google id 和 google 广告id 归因
- iOS 使用 ip加时间窗口归因
要求
| 依赖 | 说明 |
|---|---|
| PHP | >=8.0 |
| Laravel | >=10 |
安装
1.通过Composer安。
composer require "myhayo/diversion"
2.发布文件
php artisan vendor:publish --provider="Myhayo\Diversion\DiversionServiceProvider"
3.执行 migrate
php artisan migrate
使用
修改配置文件
// 当前项目唯一标识 'source_app_id' => env('DIVERSION_SOURCE_APP_ID', 'walking_cash'), // iOS IP 归因的有效时间窗口(分钟) 'ios_time_window_hours' => 30, // 接口路由前缀 'route_prefix' => 'diversion', // 引流项目列表 'partners' => [ // 引流项目唯一标识 'ai_cleaner_pro' => [ 'secret' => 'secret_diversion_ai_cleaner_pro', // 秘钥 'report_url' => 'http://192.168.0.22:9034/diversion/click', // 上报引流记录链接 'callback_url' => 'http://192.168.0.22:9034/diversion/callback', // 完成引流回调链接 // 引流回调事件处理 'callback_event' => [ 'active' => '\App\Repositories\TaskRepository@completedNewbieTaskDiversionAiCleanerPro', // 激活事件处理函数 'register' => null, // 注册事件处理函数 ], // 回调事件处理 目前只支持激活和注册 ], 'walking_cash' => [ 'secret' => 'secret_for_b', // 秘钥 'report_url' => 'http://192.168.0.22:9034/diversion/click', // 上报引流记录链接 'callback_url' => 'http://192.168.0.22:9034/diversion/callback', // 完成引流回调链接 'callback_event' => [ 'active' => '\App\Repositories\TaskRepository@completedNewbieTaskDiversionAiCleanerPro', // 激活事件处理函数 'register' => null, // 注册事件处理函数 ], // 回调事件处理 目前只支持激活和注册 ], ],
操作函数说明
上报引流 DiversionClient::report()
DiversionClient::report( $partner_app_id, // 引流项目 唯一标识 为 配置文件里的 [ai_cleaner_pro] (string)Str::uuid(), // 上报记录唯一标识id $user->id, // 上报用户ID [ 'sys' => $device_info->sys, // 系统 1-安卓 2-iOS 'ip' => $device_info->ip, // ip 'aid' => $device_info->aid ?? '', // 安卓ID 'gid' => $device_info->gid ?? '', // google id 'timestamp' => time(), // 时间戳 ], );
归因
// 激活 $record = \Myhayo\Diversion\Services\DiversionAttribution::active( $sys, // 系统 1-安卓 2-iOS $aid, // 安卓ID $gid, // google id $ip // ip ); // 注册 $record = \Myhayo\Diversion\Services\DiversionAttribution::registered( $sys, // 系统 1-安卓 2-iOS $aid, // 安卓ID $gid, // google id $ip // ip ); $record = {#2983 +"id": 10 +"diversion_id": "505e15a9-d828-458e-a9ab-fc77ec0c4f82" +"source_app_id": "walking_cash" +"source_user_id": "271684" +"sys": 1 +"aid": "test111" +"gid": null +"ip_address": "192.168.65.1" +"actived_at": "2026-02-27 14:57:31" +"registered_at": null +"created_at": "2026-02-27 14:57:02" +"updated_at": "2026-02-27 14:57:02" } // 归因成功返回记录,无记录返回 null;项目自行处理渠道和后续步骤