0

0

Facebook PHP Business SDK:发送测试事件的完整指南

碧海醫心

碧海醫心

发布时间:2025-11-14 10:58:01

|

1007人浏览过

|

来源于php中文网

原创

Facebook PHP Business SDK:发送测试事件的完整指南

本教程详细介绍了如何使用facebook php business sdk发送测试事件。通过配置用户数据、事件内容和自定义数据,并利用`eventrequest`对象上的`settesteventcode`方法,开发者可以轻松地将事件标记为测试,从而在facebook事件管理器中验证集成效果,确保数据准确无误地传输,为后续的广告优化和效果衡量奠定基础。

理解Facebook Business SDK与测试事件

Facebook Business SDK 提供了一套强大的工具,帮助开发者将其网站或应用的用户行为数据安全、高效地发送至Facebook,用于广告投放优化、受众分析和效果衡量。在实际部署任何追踪事件之前,发送测试事件是验证集成是否正确、数据是否准确无误的关键步骤。测试事件允许您在不影响实际数据报告的情况下,检查事件的传输和处理情况,从而确保生产环境中的数据质量。

构建基础事件数据

在使用Facebook PHP Business SDK发送事件时,需要首先构建一系列数据对象来描述用户行为和事件详情。这些核心对象包括 UserData、Content、CustomData 和 Event。

  1. UserData (用户数据): 包含用户的匿名或哈希化信息,用于匹配用户。建议包含电子邮件、电话、IP地址和用户代理等。

    use FacebookAds\Object\ServerSide\UserData;
    
    $user_data = (new UserData())
        ->setEmails(array(hash('sha256', 'test@example.com'))) // 替换为实际用户邮箱,建议哈希化
        ->setPhones(array(hash('sha256', '12345678901'))) // 替换为实际用户电话,建议哈希化
        ->setClientIpAddress($_SERVER['REMOTE_ADDR']) // 客户端IP地址
        ->setClientUserAgent($_SERVER['HTTP_USER_AGENT']) // 客户端用户代理
        ->setFbc('fb.1.1554763741205.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890') // Facebook点击ID (可选)
        ->setFbp('fb.1.1558571054389.1098115397'); // Facebook浏览器ID (可选)
  2. Content (内容数据): 描述事件中涉及的具体商品或服务。

    use FacebookAds\Object\ServerSide\Content;
    use FacebookAds\Object\ServerSide\DeliveryCategory;
    
    $content = (new Content())
        ->setProductId('product123') // 商品ID
        ->setQuantity(1) // 数量
        ->setDeliveryCategory(DeliveryCategory::HOME_DELIVERY); // 配送类别
  3. CustomData (自定义数据): 包含事件相关的业务价值信息,如货、价值和内容列表。

    use FacebookAds\Object\ServerSide\CustomData;
    
    $custom_data = (new CustomData())
        ->setContents(array($content)) // 关联的内容对象数组
        ->setCurrency('usd') // 货币单位
        ->setValue(123.45); // 事件价值
  4. Event (事件对象): 将上述所有数据封装成一个具体的事件。

    use FacebookAds\Object\ServerSide\Event;
    use FacebookAds\Object\ServerSide\ActionSource;
    
    $event = (new Event())
        ->setEventName('Purchase') // 事件名称,如 'Purchase', 'AddToCart' 等
        ->setEventTime(time()) // 事件发生时间戳
        ->setEventSourceUrl('http://jaspers-market.com/product/123') // 事件来源URL
        ->setUserData($user_data) // 关联的用户数据
        ->setCustomData($custom_data) // 关联的自定义数据
        ->setActionSource(ActionSource::WEBSITE); // 动作来源

封装事件并发送请求

创建单个或多个事件对象后,需要将它们封装到一个事件数组中,并通过 EventRequest 对象发送。

use FacebookAds\Object\ServerSide\EventRequest;

$events = array();
array_push($events, $event); // 将构建好的事件添加到数组

// 假设 $pixel_id 已经初始化为您的Facebook像素ID
// 在实际应用中,您需要先初始化Facebook API,例如:
// require __DIR__ . '/vendor/autoload.php';
// use FacebookAds\Api;
// use FacebookAds\Logger\CurlLogger;
// Api::init($app_id, $app_secret, $access_token);
// Api::instance()->setLogger(new CurlLogger());
// $pixel_id = 'YOUR_PIXEL_ID';

$request = (new EventRequest($pixel_id))
    ->setEvents($events);

// 执行请求
$response = $request->execute();
print_r($response);

如何发送测试事件

要将上述事件标记为测试事件,您需要在 EventRequest 对象上调用 setTestEventCode() 方法,并传入您在Facebook事件管理器中获取到的测试事件代码。

堆友
堆友

Alibaba Design打造的设计师全成长周期服务平台,旨在成为设计师的好朋友

下载

立即学习PHP免费学习笔记(深入)”;

  1. 获取测试事件代码: 登录您的Facebook商务管理平台,进入“事件管理器”。选择您的像素,点击“测试事件”选项卡,您将看到一个唯一的“测试事件代码”。
  2. 设置测试事件代码: 将该代码通过 setTestEventCode() 方法添加到您的 EventRequest 对象中。

修改后的 EventRequest 部分代码如下:

// ... 前面构建 $events 数组的代码不变 ...

// 替换 'YOUR_PIXEL_ID' 为您的Facebook像素ID
// 替换 'YOUR_TEST_EVENT_CODE' 为您在Facebook事件管理器中获取的测试事件代码
$pixel_id = 'YOUR_PIXEL_ID'; // 请替换为您的实际像素ID
$test_event_code = 'YOUR_TEST_EVENT_CODE'; // 例如: 'TEST12345',请替换为您的实际测试事件代码

$request = (new EventRequest($pixel_id))
    ->setTestEventCode($test_event_code) // <-- 关键步骤:设置测试事件代码
    ->setEvents($events);

// 执行请求并打印响应
$response = $request->execute();
print_r($response);

完整示例代码

以下是一个完整的PHP示例,演示如何使用Facebook PHP Business SDK发送一个测试购买事件:

setLogger(new CurlLogger());

// --- 2. 构建用户数据 (UserData) ---
$user_data = (new UserData())
    ->setEmails(array(hash('sha256', 'test@example.com'))) // 建议哈希化处理用户邮箱
    ->setPhones(array(hash('sha256', '12345678901'))) // 建议哈希化处理用户电话
    ->setClientIpAddress($_SERVER['REMOTE_ADDR'])
    ->setClientUserAgent($_SERVER['HTTP_USER_AGENT'])
    ->setFbc('fb.1.1554763741205.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890') // 示例FBC,实际应从cookie获取
    ->setFbp('fb.1.1558571054389.1098115397'); // 示例FBP,实际应从cookie获取

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2305

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1516

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1410

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

951

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1413

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1233

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1444

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1304

2023.11.13

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

3

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.5万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号