واجهة برمجة التطبيقات (GAPIC)

رمز المصدر في src/Google/Ads/GoogleAds/vX لمكتبة برامج PHP في Google Ads API، حيث يشير X إلى Google Ads API يتم إنشاؤه تلقائيًا باستخدام GAPIC (برنامج واجهة برمجة التطبيقات الذي يتم إنشاؤه) منشئ المحتوى، استنادًا إلى المستند المنشور بروتو .

بعد ذلك، يتم تعديل رمز المصدر الذي تم إنشاؤه ليحتوي على إشارات إلى السمات والklassen المطلوبة لإنشاء عملاء الخدمة الذين يعملون مع Google Ads API باستخدام GoogleAdsClient class، والتي يتم إنشاؤها من خلال memanggilGoogleAdsClientBuilder::build(). كل من GoogleAdsClient و GoogleAdsClientBuilder هي صفوف تم إنشاؤها يدويًا في src/Google/Ads/GoogleAds/Lib/vX/

المواقع الجغرافية التي تم إنشاؤها للصفوف

يوجد عملاء الخدمة بعد المعالجة في src/Google/Ads/GoogleAds/VX/Services/Client/

الاستخدام

وعليك إنشاء كائن طلب وتمريره إلى العميل الذي تريد استخدامه. في بعض الحالات، تتوفّر لك أكثر من طريقة لإنشاء عنصر طلب، لأنّ بعض العملاء لديهم أيضًا طريقة ملائمة باسم build() لتمرير المَعلمات المطلوبة.

المثال 1.1: الطرق التي تتضمّن مَعلمات مطلوبة

يعرض الرمز النموذجي التالي كيفية طلب الرقم CampaignService::mutate(). الكل ($customerId و$operations) هي معلمات مطلوبة، وبالتالي يتم إنشاء build() التي تقبل كلتا المعلمتَين في الرمز.

النمط 1

$campaignServiceClient
    = $googleAdsClient->getCampaignServiceClient();
$response = $campaignServiceClient->mutateCampaigns(
    MutateCampaignsRequest::build(
      $customerId,
      $campaignOperations
    )
);

النمط 2

$campaignServiceClient
    = $googleAdsClient->getCampaignServiceClient();
$request = (new MutateCampaignsRequest())
    ->setCustomerId($customerId)
    ->setCampaignOperations($campaignOperations);
$response = $campaignServiceClient->mutateCampaigns($request);

المثال 1.2: طرق تتضمّن المَعلمات المطلوبة والمَعلمات الاختيارية

يستدعي الرمز النموذجي التالي GoogleAdsServiceClient::search(). في هذه الدورة، على سبيل المثال، فإن build() الذي يتم إنشاؤه في الرمز لا يقبل سوى معلمتين فقط ($customerId و$query) لأنهما مَعلمتان مطلوبتان. لطلب إجمالي عدد النتائج التي تتطابق مع طلب البحث مع تجاهل العبارة LIMIT، عليك ضبطه صراحةً باستخدام setReturnTotalResultsCount(). بدلاً من ذلك، ويمكنك تمرير جميع المعاملات معًا إلى الدالة الإنشائية SearchGoogleAdsRequest، كما هو موضَّح في النمط 3.

النمط 1

$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$response = $googleAdsServiceClient->search(
    SearchGoogleAdsRequest::build($customerId, $query)
        ->setReturnTotalResultsCount(true)
);

النمط 2

$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest())
    ->setCustomerId($customerId)
    ->setQuery($query)
    ->setReturnTotalResultsCount(true);
$response = $googleAdsServiceClient->search($request);

النمط 3

$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest([
    'customer_id' => $customerId,
    'query' => $query,
    'return_total_results_count' => true
]);
$response = $googleAdsServiceClient->search($request);

المثال 2: طرق تتضمّن مَعلمات اختيارية فقط

يوضح هذا المثال كيفية طلب GeoTargetConstantServiceClient::suggestGeoTargetConstants() نظرًا لأن جميع معلمات GeoTargetConstantServiceClient::suggestGeoTargetConstants() هي اختياري، لن يتم إنشاء build() في رمز المصدر في هذه الحالة، يمكنك يجب عليك إنشاء كائن الطلب بنفسك.

النمط 1

$geoTargetConstantServiceClient =
    $googleAdsClient->getGeoTargetConstantServiceClient();
$request = (new SuggestGeoTargetConstantsRequest())
    ->setLocale($locale)
    ->setCountryCode($countryCode)
    ->setLocationNames(new LocationNames(['names' => $locationNames]));
$response =
    $geoTargetConstantServiceClient->suggestGeoTargetConstants($request);

النمط 2

$geoTargetConstantServiceClient =
    $googleAdsClient->getGeoTargetConstantServiceClient();
$response = $geoTargetConstantServiceClient->suggestGeoTargetConstants(
    new SuggestGeoTargetConstantsRequest([
        'locale' => $locale,
        'country_code' => $countryCode,
        'location_names' => new LocationNames(['names' => $locationNames])
    ])
);