如何在没有Composer的情况下安装和使用Facebook PHP SDK
我试图在网站中嵌入如何在没有Composer的情况下安装和使用Facebook PHP SDK,php,facebook,events,sdk,Php,Facebook,Events,Sdk,我试图在网站中嵌入服务器端转换(由于iOS14更新),但我遇到了PHPSDK的问题,所以每次我在页面中尝试转换代码,结果都是致命错误。 所以我的问题是,如何正确使用/嵌入这些转换代码 提前感谢谁来回答 编辑:为了更好地解释 我从这里下载了Facebook Php SDK,然后上传到我的网站根目录中,之后我在感谢页面中包含以下代码(来自),以跟踪“购买”转换: <?php define('SDK_DIR', __DIR__ . '/..'); // Path to the SDK direc
服务器
端转换(由于iOS
14更新),但我遇到了PHP
SDK
的问题,所以每次我在页面中尝试转换代码,结果都是致命错误
。
所以我的问题是,如何正确使用/嵌入这些转换代码
提前感谢谁来回答
编辑:为了更好地解释
我从这里下载了Facebook Php SDK,然后上传到我的网站根目录中,之后我在感谢页面中包含以下代码(来自),以跟踪“购买”转换:
<?php
define('SDK_DIR', __DIR__ . '/..'); // Path to the SDK directory
$loader = include SDK_DIR . '/vendor/autoload.php';
use FacebookAds\Api;
use FacebookAds\Logger\CurlLogger;
use FacebookAds\Object\ServerSide\Content;
use FacebookAds\Object\ServerSide\CustomData;
use FacebookAds\Object\ServerSide\DeliveryCategory;
use FacebookAds\Object\ServerSide\Event;
use FacebookAds\Object\ServerSide\EventRequest;
use FacebookAds\Object\ServerSide\Gender;
use FacebookAds\Object\ServerSide\UserData;
// Configuration.
// Should fill in value before running this script
$access_token = null;
$pixel_id = null;
if (is_null($access_token) || is_null($pixel_id)) {
throw new Exception(
'You must set your access token and pixel id before executing'
);
}
// Initialize
Api::init(null, null, $access_token);
$api = Api::instance();
$api->setLogger(new CurlLogger());
$events = array();
$user_data_0 = (new UserData())
->setEmail("hashed email");
$custom_data_0 = (new CustomData())
->setValue(142.52)
->setCurrency("USD");
$event_0 = (new Event())
->setEventName("Purchase")
->setEventTime(1620379012)
->setUserData($user_data_0)
->setCustomData($custom_data_0)
->setActionSource("email");
array_push($events, $event_0);
$request = (new EventRequest($pixel_id))
->setEvents($events);
$request->execute();
下载代码,将其放在项目中的某个位置,并手动包含所有必要的文件。基本上就是这样。由于我们不是facebooks支持频道,所以您需要的文件等在这里有点离题。如果您在使用代码时遇到某些特定错误,请将完整的错误消息与所有相关代码一起发布。致命错误的发生可能有许多不同的原因。但是,为什么不使用composer安装它呢?这将为您省去一些大麻烦。它们遵循SDK的PSR-4自动加载标准,因此您可以使用自己的实现,或者您只需修复一个接一个的致命错误(我假设,最初大多数错误都与未定义的类有关),通过要求当前错误指示缺少的任何类文件。@MagnusEriksson您好,非常感谢,我将用一些代码编辑我的问题以更好地解释,顺便说一句,致命错误正是添加到代码中的要求。我现在将添加一些代码,您不需要在服务器上运行composer来获得使用它的好处。只需在您的计算机上本地处理所有composer安装/更新,然后将供应商文件夹作为应用程序的一部分进行部署,就像您拥有的任何自定义文件夹/代码一样。