Создание группы объявлений для гостиниц

Чтобы показывать объявления для вашей кампании по бронированию отелей, необходимо создать группу AdGroup , содержащую хотя бы одно объявление. Как показано далее, кампания по бронированию отелей поддерживает только группу объявлений типа HOTEL_ADS , которую можно указать в поле type . В примере кода также задаётся ставка Percent CPC, поскольку стратегия назначения ставок в кампании — PercentCpc .

Ява

private String addHotelAdGroup(
    GoogleAdsClient googleAdsClient, long customerId, String campaignResourceName) {
  // Creates an ad group.
  AdGroup adGroup =
      AdGroup.newBuilder()
          .setName("Earth to Mars Cruises #" + getPrintableDateTime())
          .setCampaign(campaignResourceName)
          // Sets the ad group type to HOTEL_ADS. This cannot be set to other types.
          .setType(AdGroupType.HOTEL_ADS)
          .setCpcBidMicros(1_000_000L)
          .setStatus(AdGroupStatus.ENABLED)
          .build();

  // Creates an ad group operation.
  AdGroupOperation operation = AdGroupOperation.newBuilder().setCreate(adGroup).build();

  // Issues a mutate request to add an ad group.
  try (AdGroupServiceClient adGroupServiceClient =
      googleAdsClient.getLatestVersion().createAdGroupServiceClient()) {
    MutateAdGroupResult mutateAdGroupResult =
        adGroupServiceClient
            .mutateAdGroups(Long.toString(customerId), Collections.singletonList(operation))
            .getResults(0);
    System.out.printf(
        "Added a hotel ad group with resource name: '%s'%n",
        mutateAdGroupResult.getResourceName());
    return mutateAdGroupResult.getResourceName();
  }
}
      

С#

private static string AddHotelAdGroup(GoogleAdsClient client, long customerId,
    string campaignResourceName)
{
    // Get the AdGroupService.
    AdGroupServiceClient service = client.GetService(Services.V22.AdGroupService);

    // Create an ad group.
    AdGroup adGroup = new AdGroup()
    {
        Name = "Earth to Mars Cruise #" + ExampleUtilities.GetRandomString(),

        // Sets the campaign.
        Campaign = campaignResourceName,

        // Optional: Sets the ad group type to HOTEL_ADS.
        // This cannot be set to other types.
        Type = AdGroupType.HotelAds,

        CpcBidMicros = 10000000,
        Status = AdGroupStatus.Enabled
    };

    // Create an ad group operation.
    AdGroupOperation adGroupOperation = new AdGroupOperation()
    {
        Create = adGroup
    };

    // Issue a mutate request to add an ad group.
    MutateAdGroupsResponse response = service.MutateAdGroups(customerId.ToString(),
        new AdGroupOperation[] { adGroupOperation });
    return response.Results[0].ResourceName;
}
      

PHP

private static function addHotelAdGroup(
    GoogleAdsClient $googleAdsClient,
    int $customerId,
    string $campaignResourceName
) {
    // Creates an ad group.
    $adGroup = new AdGroup([
        'name' => 'Earth to Mars Cruise #' . Helper::getPrintableDatetime(),
        // Sets the campaign.
        'campaign' => $campaignResourceName,
        // Sets the ad group type to HOTEL_ADS.
        // This cannot be set to other types.
        'type' => AdGroupType::HOTEL_ADS,
        'cpc_bid_micros' => 10000000,
        'status' => AdGroupStatus::ENABLED,
    ]);

    // Creates an ad group operation.
    $adGroupOperation = new AdGroupOperation();
    $adGroupOperation->setCreate($adGroup);

    // Issues a mutate request to add an ad group.
    $adGroupServiceClient = $googleAdsClient->getAdGroupServiceClient();
    $response = $adGroupServiceClient->mutateAdGroups(
        MutateAdGroupsRequest::build($customerId, [$adGroupOperation])
    );

    /** @var AdGroup $addedAdGroup */
    $addedAdGroup = $response->getResults()[0];
    printf(
        "Added a hotel ad group with resource name '%s'.%s",
        $addedAdGroup->getResourceName(),
        PHP_EOL
    );

    return $addedAdGroup->getResourceName();
}