Việc tạo quảng cáo về địa điểm vui chơi bao gồm 2 bước:
Tạo một
Ad
và đặttravel_ad
của đối tượng đó thành một thực thể củaTravelAdInfo
.Tạo một
AdGroupAd
và liên kếtAd
đã tạo trước đó vớiAdGroupAd
đó.
Java
private String addAddGroupAd( GoogleAdsClient googleAdsClient, long customerId, String adGroupResourceName) { // Creates a new travel ad. Ad ad = Ad.newBuilder().setTravelAd(TravelAdInfo.newBuilder()).build(); // Creates a new ad group ad and sets its ad to the travel ad. AdGroupAd adGroupAd = AdGroupAd.newBuilder() // Sets the ad to the ad created above. .setAd(ad) // Set the ad group ad to enabled. Setting this to paused will cause an error for // Things to do campaigns. Pausing should happen at either the ad group or campaign // level. .setStatus(AdGroupAdStatus.ENABLED) // Sets the ad group. .setAdGroup(adGroupResourceName) .build(); // Creates an ad group ad operation. AdGroupAdOperation operation = AdGroupAdOperation.newBuilder().setCreate(adGroupAd).build(); // Issues a mutate request to add an ad group ad. try (AdGroupAdServiceClient adGroupAdServiceClient = googleAdsClient.getLatestVersion().createAdGroupAdServiceClient()) { MutateAdGroupAdResult mutateAdGroupAdResult = adGroupAdServiceClient .mutateAdGroupAds(Long.toString(customerId), Collections.singletonList(operation)) .getResults(0); System.out.printf( "Added an ad group ad with resource name: '%s'%n", mutateAdGroupAdResult.getResourceName()); return mutateAdGroupAdResult.getResourceName(); } }
C#
private static void CreateAdGroupAd(GoogleAdsClient client, long customerId, string adGroup) { // Get the AdGroupAdService. AdGroupAdServiceClient adGroupAdService = client.GetService(Services.V21.AdGroupAdService); // Creates a new ad group ad and sets a travel ad info. AdGroupAd adGroupAd = new AdGroupAd() { Ad = new Ad() { TravelAd = new TravelAdInfo() }, // Set the ad group ad to enabled. Setting this to paused will cause an error for // Things to do campaigns. Pausing should happen at either the ad group or campaign // level. Status = AdGroupAdStatus.Enabled, AdGroup = adGroup }; MutateAdGroupAdsResponse response = adGroupAdService.MutateAdGroupAds( customerId.ToString(), new AdGroupAdOperation[] { new AdGroupAdOperation() { Create = adGroupAd }} ); string adGroupAdResourceName = response.Results[0].ResourceName; Console.WriteLine("Ad group ad with resource name = '{0}' was added.", adGroupAdResourceName); }
PHP
private static function addAdGroupAd( GoogleAdsClient $googleAdsClient, int $customerId, string $adGroupResourceName ) { // Creates a new ad group ad and sets a travel ad info. $adGroupAd = new AdGroupAd([ 'ad' => new Ad(['travel_ad' => new TravelAdInfo()]), // Set the ad group ad to enabled. Setting this to paused will cause an error for Things // to do campaigns. Pausing should happen at either the ad group or campaign level. 'status' => AdGroupAdStatus::ENABLED, // Sets the ad group. 'ad_group' => $adGroupResourceName ]); // Creates an ad group ad operation. $adGroupAdOperation = new AdGroupAdOperation(); $adGroupAdOperation->setCreate($adGroupAd); // Issues a mutate request to add an ad group ad. $adGroupAdServiceClient = $googleAdsClient->getAdGroupAdServiceClient(); $response = $adGroupAdServiceClient->mutateAdGroupAds( MutateAdGroupAdsRequest::build($customerId, [$adGroupAdOperation]) ); /** @var AdGroupAd $addedAdGroupAd */ $addedAdGroupAd = $response->getResults()[0]; printf( "Added an ad group ad with resource name '%s'.%s", $addedAdGroupAd->getResourceName(), PHP_EOL ); }
Python
def add_ad_group_ad( client: GoogleAdsClient, customer_id: str, ad_group_resource_name: str ) -> None: """Creates a new ad group ad in the specified ad group. Args: client: an initialized GoogleAdsClient instance. customer_id: a client customer ID. ad_group_resource_name: the resource name of ad group that a new ad group ad will belong to. """ # Creates an ad group ad operation. operation: AdGroupAdOperation = client.get_type("AdGroupAdOperation") # Creates a new ad group ad and sets a travel ad info. ad_group_ad: AdGroupAd = operation.create # Sets the ad group ad to enabled. Setting this to paused will cause an error # for Things to do campaigns. Pausing should happen at either the ad group # or campaign level. ad_group_ad.status = client.enums.AdGroupAdStatusEnum.ENABLED ad_group_ad.ad.travel_ad = client.get_type("TravelAdInfo") # Sets the ad group. ad_group_ad.ad_group = ad_group_resource_name # Issues a mutate request to add an ad group ad. ad_group_ad_service: AdGroupAdServiceClient = client.get_service( "AdGroupAdService" ) response: MutateAdGroupAdsResponse = ( ad_group_ad_service.mutate_ad_group_ads( customer_id=customer_id, operations=[operation] ) ) resource_name: str = response.results[0].resource_name print(f"Added an ad group ad with resource name: '{resource_name}'.")
Ruby
def add_ad_group_ad(client, customer_id, ad_group_resource) # Creates a new ad group ad and sets a travel ad info. ad_group_ad_operation = client.operation.create_resource.ad_group_ad do |aga| aga.ad = client.resource.ad do |ad| ad.travel_ad = client.resource.travel_ad_info end # Set the ad group ad to enabled. Setting this to paused will cause an error # for Things to Do campaigns. Pausing should happen at either the ad group # or campaign level. aga.status = :ENABLED # Set the ad group. aga.ad_group = ad_group_resource end # Issue a mutate request to add the ad group ad. ad_group_ad_service = client.service.ad_group_ad response = ad_group_ad_service.mutate_ad_group_ads( customer_id: customer_id, operations: [ad_group_ad_operation], ) # Fetch the new ad group ad's resource name. ad_group_ad_resource = response.results.first.resource_name puts "Added an ad group ad with resource name '#{ad_group_ad_resource}'." end
Perl
sub add_ad_group_ad { my ($api_client, $customer_id, $ad_group_resource_name) = @_; # Create an ad group ad and set a travel ad info. my $ad_group_ad = Google::Ads::GoogleAds::V21::Resources::AdGroupAd->new({ # Set the ad group. adGroup => $ad_group_resource_name, ad => Google::Ads::GoogleAds::V21::Resources::Ad->new({ travelAd => Google::Ads::GoogleAds::V21::Common::TravelAdInfo->new()} ), # Set the ad group to enabled. Setting this to paused will cause an error # for Things to do campaigns. Pausing should happen at either the ad group # or campaign level. status => Google::Ads::GoogleAds::V21::Enums::AdGroupAdStatusEnum::ENABLED }); # Create an ad group ad operation. my $ad_group_ad_operation = Google::Ads::GoogleAds::V21::Services::AdGroupAdService::AdGroupAdOperation ->new({create => $ad_group_ad}); # Add the ad group ad. my $ad_group_ad_resource_name = $api_client->AdGroupAdService()->mutate({ customerId => $customer_id, operations => [$ad_group_ad_operation]})->{results}[0]{resourceName}; printf "Added an ad group ad with resource name: '%s'.\n", $ad_group_ad_resource_name; return $ad_group_ad_resource_name; }