Các tác vụ quản lý quảng cáo phổ biến

Trang này trình bày cách thực hiện một số tác vụ quản lý quảng cáo phổ biến nhất bằng cách sử dụng API báo cáo và quản lý quảng cáo DCM/IDFA.

Mẹo lập trình chung

  • Các thuộc tính và tham số bắt buộc và không bắt buộc – Xem tài liệu tham khảo để tìm hiểu xem một thuộc tính hoặc tham số có bắt buộc đối với lệnh gọi API hay không.
  • Tìm kiếm tên ký tự đại diện – Bạn có thể sử dụng ký tự đại diện dấu hoa thị (*) khi tìm kiếm tên của đối tượng. Dấu hoa thị khớp với không hoặc nhiều ký tự bất kỳ. API này cũng hỗ trợ tìm kiếm chuỗi con ngụ ý, vì vậy, tìm kiếm "abc" sẽ ngầm tìm kiếm "*abc*".
  • Cập nhật và vá – Để sửa đổi một đối tượng hiện có, bạn có hai lựa chọn:
    1. Cập nhật – Khi cập nhật một đối tượng, tất cả các trường sẽ bị ghi đè khi chèn. Bạn phải tải đối tượng mà bạn muốn cập nhật và thực hiện mọi thay đổi đối với đối tượng đó. Nếu không, mọi trường không có trong yêu cầu cập nhật sẽ bị huỷ thiết lập.
    2. – Trong quá trình vá, chỉ các trường được chỉ định mới bị ghi đè khi chèn. Trong trường hợp này, bạn có thể tạo một đối tượng mới, gán mã cho đối tượng đó cùng với mã đối tượng cần cập nhật, đặt các trường cần cập nhật và thực thi yêu cầu vá.
  • Kích thước – Kích thước thực được biểu thị bằng một đối tượng Size do dịch vụ kích thước xác định. Tài khoản này cung cấp một bộ kích thước chuẩn và bạn có thể thêm kích thước tuỳ chỉnh của riêng mình vào danh sách này.
  • Ngày và giờ – Bạn có thể lưu ngày/giờ ở định dạng RFC 3339 theo múi giờ địa phương; tất cả giá trị được API trả về đều theo giờ UTC. Điểm này khác với trang web mà ngày và giờ hiển thị theo múi giờ bạn đã định cấu hình (giờ Mỹ/New York, theo mặc định).

Tạo nhà quảng cáo

C#

  1. Tạo một đối tượng Advertiser rồi đặt các thuộc tính namestatus bắt buộc.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.Name = advertiserName;
    advertiser.Status = "APPROVED";
    
  2. Gọi advertisers.insert() để lưu nhà quảng cáo.
    // Create the advertiser.
    Advertiser result = service.Advertisers.Insert(advertiser, profileId).Execute();
    

Java

  1. Tạo một đối tượng Advertiser rồi đặt các thuộc tính namestatus bắt buộc.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.setName(advertiserName);
    advertiser.setStatus("APPROVED");
    
  2. Gọi advertisers.insert() để lưu nhà quảng cáo.
    // Create the advertiser.
    Advertiser result = reporting.advertisers().insert(profileId, advertiser).execute();
    

PHP

  1. Tạo một đối tượng Advertiser rồi đặt các thuộc tính namestatus bắt buộc.
    $advertiser = new Google_Service_Dfareporting_Advertiser();
    $advertiser->setName($values['advertiser_name']);
    $advertiser->setStatus('APPROVED');
    
  2. Gọi advertisers.insert() để lưu nhà quảng cáo.
    $result = $this->service->advertisers->insert(
        $values['user_profile_id'],
        $advertiser
    );
    

Python

  1. Tạo một đối tượng Advertiser rồi đặt các thuộc tính namestatus bắt buộc.
    # Construct and save advertiser.
    advertiser = {
        'name': 'Test Advertiser',
        'status': 'APPROVED'
    }
    
  2. Gọi advertisers.insert() để lưu nhà quảng cáo.
    request = service.advertisers().insert(
        profileId=profile_id, body=advertiser)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Tạo một đối tượng Advertiser rồi đặt các thuộc tính namestatus bắt buộc.
    # Create a new advertiser resource to insert.
    advertiser = DfareportingUtils::API_NAMESPACE::Advertiser.new(
      name: format('Example Advertiser #%s', SecureRandom.hex(3)),
      status: 'APPROVED'
    )
    
  2. Gọi advertisers.insert() để lưu nhà quảng cáo.
    # Insert the advertiser.
    result = service.insert_advertiser(profile_id, advertiser)
    

Tạo chiến dịch

C#

  1. Tạo một đối tượng Campaign và đặt các thuộc tính bắt buộc cho đối tượng đó:

    • advertiserId – Nhà quảng cáo liên kết với chiến dịch này.
    • name – Giá trị này phải riêng biệt trên tất cả các chiến dịch của nhà quảng cáo này.
    • defaultLandingPageId – Trang đích mà người dùng sẽ được chuyển đến khi họ nhấp vào một quảng cáo trong chiến dịch này, nếu chưa được chỉ định cho quảng cáo đó. Bạn có thể tra cứu các trang đích hiện có bằng cách gọi advertiserLandingPages.list hoặc tạo một trang đích mới bằng cách gọi advertiserLandingPages.insert.
    • Ngày bắt đầu và ngày kết thúc – Những ngày này phải là ngày trong tương lai và có thể chính xác đến từng ngày. Xem dấu đầu dòng về ngày và giờ trong phần Thông tin chung về việc lập trình để biết thêm chi tiết. Ngày quảng cáo riêng lẻ có thể vượt quá ngày kết thúc, để cho phép nhà xuất bản cố gắng thực hiện hợp đồng với số lượng hành động được chỉ định, nếu đến ngày kết thúc chiến dịch đã cho chưa thực hiện hợp đồng.
    // Locate an advertiser landing page to use as a default.
    LandingPage defaultLandingPage = getAdvertiserLandingPage(service, profileId, advertiserId);
    
    // Create the campaign structure.
    Campaign campaign = new Campaign();
    campaign.Name = campaignName;
    campaign.AdvertiserId = advertiserId;
    campaign.Archived = false;
    campaign.DefaultLandingPageId = defaultLandingPage.Id;
    
    // Set the campaign start date. This example uses today's date.
    campaign.StartDate =
        DfaReportingDateConverterUtil.convertToDateString(DateTime.Now);
    
    // Set the campaign end date. This example uses one month from today's date.
    campaign.EndDate =
        DfaReportingDateConverterUtil.convertToDateString(DateTime.Now.AddMonths(1));
    
  2. Gọi campaigns.insert() để lưu chiến dịch.

    // Insert the campaign.
    Campaign result = service.Campaigns.Insert(campaign, profileId).Execute();
    

Java

  1. Tạo một đối tượng Campaign và đặt các thuộc tính bắt buộc cho đối tượng đó:

    • advertiserId – Nhà quảng cáo liên kết với chiến dịch này.
    • name – Giá trị này phải riêng biệt trên tất cả các chiến dịch của nhà quảng cáo này.
    • defaultLandingPageId – Trang đích mà người dùng sẽ được chuyển đến khi họ nhấp vào một quảng cáo trong chiến dịch này, nếu chưa được chỉ định cho quảng cáo đó. Bạn có thể tra cứu các trang đích hiện có bằng cách gọi advertiserLandingPages.list hoặc tạo một trang đích mới bằng cách gọi advertiserLandingPages.insert.
    • Ngày bắt đầu và ngày kết thúc – Những ngày này phải là ngày trong tương lai và có thể chính xác đến từng ngày. Xem dấu đầu dòng về ngày và giờ trong phần Thông tin chung về việc lập trình để biết thêm chi tiết. Ngày quảng cáo riêng lẻ có thể vượt quá ngày kết thúc, để cho phép nhà xuất bản cố gắng thực hiện hợp đồng với số lượng hành động được chỉ định, nếu đến ngày kết thúc chiến dịch đã cho chưa thực hiện hợp đồng.
    // Locate an advertiser landing page to use as a default.
    LandingPage defaultLandingPage = getAdvertiserLandingPage(reporting, profileId, advertiserId);
    
    // Create the campaign structure.
    Campaign campaign = new Campaign();
    campaign.setName(campaignName);
    campaign.setAdvertiserId(advertiserId);
    campaign.setArchived(false);
    campaign.setDefaultLandingPageId(defaultLandingPage.getId());
    
    // Set the campaign start date. This example uses today's date.
    Calendar today = Calendar.getInstance();
    DateTime startDate = new DateTime(true, today.getTimeInMillis(), null);
    campaign.setStartDate(startDate);
    
    // Set the campaign end date. This example uses one month from today's date.
    Calendar nextMonth = Calendar.getInstance();
    nextMonth.add(Calendar.MONTH, 1);
    DateTime endDate = new DateTime(true, nextMonth.getTimeInMillis(), null);
    campaign.setEndDate(endDate);
    
  2. Gọi campaigns.insert() để lưu chiến dịch.

    // Insert the campaign.
    Campaign result = reporting.campaigns().insert(profileId, campaign).execute();
    

PHP

  1. Tạo một đối tượng Campaign và đặt các thuộc tính bắt buộc cho đối tượng đó:

    • advertiserId – Nhà quảng cáo liên kết với chiến dịch này.
    • name – Giá trị này phải riêng biệt trên tất cả các chiến dịch của nhà quảng cáo này.
    • defaultLandingPageId – Trang đích mà người dùng sẽ được chuyển đến khi họ nhấp vào một quảng cáo trong chiến dịch này, nếu chưa được chỉ định cho quảng cáo đó. Bạn có thể tra cứu các trang đích hiện có bằng cách gọi advertiserLandingPages.list hoặc tạo một trang đích mới bằng cách gọi advertiserLandingPages.insert.
    • Ngày bắt đầu và ngày kết thúc – Những ngày này phải là ngày trong tương lai và có thể chính xác đến từng ngày. Xem dấu đầu dòng về ngày và giờ trong phần Thông tin chung về việc lập trình để biết thêm chi tiết. Ngày quảng cáo riêng lẻ có thể vượt quá ngày kết thúc, để cho phép nhà xuất bản cố gắng thực hiện hợp đồng với số lượng hành động được chỉ định, nếu đến ngày kết thúc chiến dịch đã cho chưa thực hiện hợp đồng.
    $startDate = new DateTime('today');
    $endDate = new DateTime('+1 month');
    
    $campaign = new Google_Service_Dfareporting_Campaign();
    $campaign->setAdvertiserId($values['advertiser_id']);
    $campaign->setDefaultLandingPageId($values['default_landing_page_id']);
    $campaign->setName($values['campaign_name']);
    $campaign->setStartDate($startDate->format('Y-m-d'));
    $campaign->setEndDate($endDate->format('Y-m-d'));
    
  2. Gọi campaigns.insert() để lưu chiến dịch.

    $result = $this->service->campaigns->insert(
        $values['user_profile_id'],
        $campaign
    );
    

Python

  1. Tạo một đối tượng Campaign và đặt các thuộc tính bắt buộc cho đối tượng đó:

    • advertiserId – Nhà quảng cáo liên kết với chiến dịch này.
    • name – Giá trị này phải riêng biệt trên tất cả các chiến dịch của nhà quảng cáo này.
    • defaultLandingPageId – Trang đích mà người dùng sẽ được chuyển đến khi họ nhấp vào một quảng cáo trong chiến dịch này, nếu chưa được chỉ định cho quảng cáo đó. Bạn có thể tra cứu các trang đích hiện có bằng cách gọi advertiserLandingPages.list hoặc tạo một trang đích mới bằng cách gọi advertiserLandingPages.insert.
    • Ngày bắt đầu và ngày kết thúc – Những ngày này phải là ngày trong tương lai và có thể chính xác đến từng ngày. Xem dấu đầu dòng về ngày và giờ trong phần Thông tin chung về việc lập trình để biết thêm chi tiết. Ngày quảng cáo riêng lẻ có thể vượt quá ngày kết thúc, để cho phép nhà xuất bản cố gắng thực hiện hợp đồng với số lượng hành động được chỉ định, nếu đến ngày kết thúc chiến dịch đã cho chưa thực hiện hợp đồng.
    # Locate an advertiser landing page to use as a default.
    default_landing_page = get_advertiser_landing_page(service, profile_id,
                                                       advertiser_id)
    
    # Construct and save campaign.
    campaign = {
        'name': 'Test Campaign #%s' % uuid.uuid4(),
        'advertiserId': advertiser_id,
        'archived': 'false',
        'defaultLandingPageId': default_landing_page['id'],
        'startDate': '2015-01-01',
        'endDate': '2020-01-01'
    }
    
  2. Gọi campaigns.insert() để lưu chiến dịch.

    request = service.campaigns().insert(profileId=profile_id, body=campaign)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Tạo một đối tượng Campaign và đặt các thuộc tính bắt buộc cho đối tượng đó:

    • advertiserId – Nhà quảng cáo liên kết với chiến dịch này.
    • name – Giá trị này phải riêng biệt trên tất cả các chiến dịch của nhà quảng cáo này.
    • defaultLandingPageId – Trang đích mà người dùng sẽ được chuyển đến khi họ nhấp vào một quảng cáo trong chiến dịch này, nếu chưa được chỉ định cho quảng cáo đó. Bạn có thể tra cứu các trang đích hiện có bằng cách gọi advertiserLandingPages.list hoặc tạo một trang đích mới bằng cách gọi advertiserLandingPages.insert.
    • Ngày bắt đầu và ngày kết thúc – Những ngày này phải là ngày trong tương lai và có thể chính xác đến từng ngày. Xem dấu đầu dòng về ngày và giờ trong phần Thông tin chung về việc lập trình để biết thêm chi tiết. Ngày quảng cáo riêng lẻ có thể vượt quá ngày kết thúc, để cho phép nhà xuất bản cố gắng thực hiện hợp đồng với số lượng hành động được chỉ định, nếu đến ngày kết thúc chiến dịch đã cho chưa thực hiện hợp đồng.
    # Locate an advertiser landing page to use as a default.
    default_landing_page = get_advertiser_landing_page(service, profile_id,
      advertiser_id)
    
    # Create a new campaign resource to insert.
    campaign = DfareportingUtils::API_NAMESPACE::Campaign.new(
      advertiser_id: advertiser_id,
      archived: false,
      default_landing_page_id: default_landing_page.id,
      name: format('Example Campaign #%s', SecureRandom.hex(3)),
      start_date: '2014-01-01',
      end_date: '2020-01-01'
    )
    
  2. Gọi campaigns.insert() để lưu chiến dịch.

    # Insert the campaign.
    result = service.insert_campaign(profile_id, campaign)
    

Tạo một vị trí

C#

  1. Tạo đối tượng Placement và đặt các thuộc tính vị trí bắt buộc (bao gồm campaignIdsiteId). Ngoài ra, hãy chắc chắn đặt loại và kích thước vị trí chính xác cho vị trí mà bạn đã thương lượng với trang web của mình.
    // Create the placement.
    Placement placement = new Placement();
    placement.Name = placementName;
    placement.CampaignId = campaignId;
    placement.Compatibility = "DISPLAY";
    placement.PaymentSource = "PLACEMENT_AGENCY_PAID";
    placement.SiteId = dfaSiteId;
    placement.TagFormats = new List<string>() { "PLACEMENT_TAG_STANDARD" };
    
    // Set the size of the placement.
    Size size = new Size();
    size.Id = sizeId;
    placement.Size = size;
    
  2. Tạo một đối tượng PricingSchedule mới để gán cho vị trí.
    // Set the pricing schedule for the placement.
    PricingSchedule pricingSchedule = new PricingSchedule();
    pricingSchedule.EndDate = campaign.EndDate;
    pricingSchedule.PricingType = "PRICING_TYPE_CPM";
    pricingSchedule.StartDate = campaign.StartDate;
    placement.PricingSchedule = pricingSchedule;
    
  3. Lưu đối tượng Placement bằng cách gọi placements.insert(). Hãy nhớ lưu trữ mã nhận dạng được trả về nếu bạn muốn sử dụng mã này để chỉ định cho một Quảng cáo hoặc Mẫu quảng cáo.
    // Insert the placement.
    Placement result = service.Placements.Insert(placement, profileId).Execute();
    

Java

  1. Tạo đối tượng Placement và đặt các thuộc tính vị trí bắt buộc (bao gồm campaignIdsiteId). Ngoài ra, hãy chắc chắn đặt loại và kích thước vị trí chính xác cho vị trí mà bạn đã thương lượng với trang web của mình.
    // Create the placement.
    Placement placement = new Placement();
    placement.setName(placementName);
    placement.setCampaignId(campaignId);
    placement.setCompatibility("DISPLAY");
    placement.setPaymentSource("PLACEMENT_AGENCY_PAID");
    placement.setSiteId(dfaSiteId);
    placement.setTagFormats(ImmutableList.of("PLACEMENT_TAG_STANDARD"));
    
    // Set the size of the placement.
    Size size = new Size();
    size.setId(sizeId);
    placement.setSize(size);
    
  2. Tạo một đối tượng PricingSchedule mới để gán cho vị trí.
    // Set the pricing schedule for the placement.
    PricingSchedule pricingSchedule = new PricingSchedule();
    pricingSchedule.setEndDate(campaign.getEndDate());
    pricingSchedule.setPricingType("PRICING_TYPE_CPM");
    pricingSchedule.setStartDate(campaign.getStartDate());
    placement.setPricingSchedule(pricingSchedule);
    
  3. Lưu đối tượng Placement bằng cách gọi placements.insert(). Hãy nhớ lưu trữ mã nhận dạng được trả về nếu bạn muốn sử dụng mã này để chỉ định cho một Quảng cáo hoặc Mẫu quảng cáo.
    // Insert the placement.
    Placement result = reporting.placements().insert(profileId, placement).execute();
    

PHP

  1. Tạo đối tượng Placement và đặt các thuộc tính vị trí bắt buộc (bao gồm campaignIdsiteId). Ngoài ra, hãy chắc chắn đặt loại và kích thước vị trí chính xác cho vị trí mà bạn đã thương lượng với trang web của mình.
    $placement = new Google_Service_Dfareporting_Placement();
    $placement->setCampaignId($values['campaign_id']);
    $placement->setCompatibility('DISPLAY');
    $placement->setName($values['placement_name']);
    $placement->setPaymentSource('PLACEMENT_AGENCY_PAID');
    $placement->setSiteId($values['site_id']);
    $placement->setTagFormats(['PLACEMENT_TAG_STANDARD']);
    
    // Set the size of the placement.
    $size = new Google_Service_Dfareporting_Size();
    $size->setId($values['size_id']);
    $placement->setSize($size);
    
  2. Tạo một đối tượng PricingSchedule mới để gán cho vị trí.
    // Set the pricing schedule for the placement.
    $pricingSchedule = new Google_Service_Dfareporting_PricingSchedule();
    $pricingSchedule->setEndDate($campaign->getEndDate());
    $pricingSchedule->setPricingType('PRICING_TYPE_CPM');
    $pricingSchedule->setStartDate($campaign->getStartDate());
    $placement->setPricingSchedule($pricingSchedule);
    
  3. Lưu đối tượng Placement bằng cách gọi placements.insert(). Hãy nhớ lưu trữ mã nhận dạng được trả về nếu bạn muốn sử dụng mã này để chỉ định cho một Quảng cáo hoặc Mẫu quảng cáo.
    // Insert the placement.
    $result = $this->service->placements->insert(
        $values['user_profile_id'],
        $placement
    );
    

Python

  1. Tạo đối tượng Placement và đặt các thuộc tính vị trí bắt buộc (bao gồm campaignIdsiteId). Ngoài ra, hãy chắc chắn đặt loại và kích thước vị trí chính xác cho vị trí mà bạn đã thương lượng với trang web của mình.
    # Construct and save placement.
    placement = {
        'name': 'Test Placement',
        'campaignId': campaign_id,
        'compatibility': 'DISPLAY',
        'siteId': site_id,
        'size': {
            'height': '1',
            'width': '1'
        },
        'paymentSource': 'PLACEMENT_AGENCY_PAID',
        'tagFormats': ['PLACEMENT_TAG_STANDARD']
    }
    
  2. Tạo một đối tượng PricingSchedule mới để gán cho vị trí.
    # Set the pricing schedule for the placement.
    placement['pricingSchedule'] = {
        'startDate': campaign['startDate'],
        'endDate': campaign['endDate'],
        'pricingType': 'PRICING_TYPE_CPM'
    }
    
  3. Lưu đối tượng Placement bằng cách gọi placements.insert(). Hãy nhớ lưu trữ mã nhận dạng được trả về nếu bạn muốn sử dụng mã này để chỉ định cho một Quảng cáo hoặc Mẫu quảng cáo.
    request = service.placements().insert(profileId=profile_id, body=placement)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Tạo đối tượng Placement và đặt các thuộc tính vị trí bắt buộc (bao gồm campaignIdsiteId). Ngoài ra, hãy chắc chắn đặt loại và kích thước vị trí chính xác cho vị trí mà bạn đã thương lượng với trang web của mình.
    # Create a new placement resource to insert.
    placement = DfareportingUtils::API_NAMESPACE::Placement.new(
      campaign_id: campaign_id,
      compatibility: 'DISPLAY',
      name: 'Example Placement',
      payment_source: 'PLACEMENT_AGENCY_PAID',
      site_id: site_id,
      size: DfareportingUtils::API_NAMESPACE::Size.new(
        height: 1,
        width: 1
      ),
      tag_formats: ['PLACEMENT_TAG_STANDARD']
    )
    
  2. Tạo một đối tượng PricingSchedule mới để gán cho vị trí.
    # Set the pricing schedule for the placement.
    placement.pricing_schedule =
      DfareportingUtils::API_NAMESPACE::PricingSchedule.new(
        end_date: campaign.end_date,
        pricing_type: 'PRICING_TYPE_CPM',
        start_date: campaign.start_date
      )
    
  3. Lưu đối tượng Placement bằng cách gọi placements.insert(). Hãy nhớ lưu trữ mã nhận dạng được trả về nếu bạn muốn sử dụng mã này để chỉ định cho một Quảng cáo hoặc Mẫu quảng cáo.
    # Insert the placement strategy.
    result = service.insert_placement(profile_id, placement)
    

Tải lên nội dung

Bạn có thể tải nhiều loại thành phần lên thông qua một quy trình được gọi là tải nội dung nghe nhìn lên. Mặc dù quy trình này tương tự đối với tất cả các loại mẫu quảng cáo, nhưng một số loại có thể yêu cầu truyền các thuộc tính cụ thể dưới dạng siêu dữ liệu để sử dụng đúng cách.

C#

  1. Tạo một đối tượng assetIdentifier và thiết lập các thuộc tính bắt buộc. Tất cả các thành phần, bất kể loại hay cách sử dụng, đều phải chỉ định assetIdentifier. Khi chỉ định thành phần cho một mẫu quảng cáo, đối tượng này sẽ được dùng để tham chiếu trở lại thành phần đó. Bạn phải có các thuộc tính sau:

    • Thuộc tính name, sẽ là tên của tài sản trên máy chủ. Tên này phải có phần mở rộng cho biết loại tệp (chẳng hạn như .png hoặc .gif) và phần mở rộng này sẽ hiển thị cho trình duyệt dưới dạng tên tài sản, nhưng không nhất thiết phải giống với tên tệp gốc. Xin lưu ý rằng tên này có thể được Campaign Manager 360 thay đổi để tạo sự khác biệt trên máy chủ; hãy kiểm tra giá trị trả về để xem giá trị đó đã được thay đổi hay chưa.
    • Thuộc tính type xác định loại tài sản. Tài sản này sẽ quy định loại mẫu quảng cáo có thể liên kết với thành phần này.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.Name = Path.GetFileName(assetFile);
    assetId.Type = assetType;
    
  2. Tải tệp lên bằng cách gọi creativeAssets.insert(). Thực hiện tải lên nhiều phần, truyền cả assetIdentifier và nội dung tệp trong cùng một yêu cầu. Nếu thành công, hệ thống sẽ trả về tài nguyên CreativeAsset cùng với assetIdentifier mà bạn sẽ dùng để gán thành phần này cho mẫu quảng cáo.

    // Prepare an input stream.
    FileStream assetContent = new FileStream(assetFile, FileMode.Open, FileAccess.Read);
    
    
    CreativeAssetMetadata metaData = new CreativeAssetMetadata();
    metaData.AssetIdentifier = assetId;
    
    // Insert the creative.
    String mimeType = determineMimeType(assetFile, assetType);
    CreativeAssetsResource.InsertMediaUpload request =
        Service.CreativeAssets.Insert(metaData, ProfileId, AdvertiserId, assetContent, mimeType);
    
    IUploadProgress progress = request.Upload();
    if (UploadStatus.Failed.Equals(progress.Status)) {
        throw progress.Exception;
    }
    

Java

  1. Tạo một đối tượng assetIdentifier và thiết lập các thuộc tính bắt buộc. Tất cả các thành phần, bất kể loại hay cách sử dụng, đều phải chỉ định assetIdentifier. Khi chỉ định thành phần cho một mẫu quảng cáo, đối tượng này sẽ được dùng để tham chiếu trở lại thành phần đó. Bạn phải có các thuộc tính sau:

    • Thuộc tính name, sẽ là tên của tài sản trên máy chủ. Tên này phải có phần mở rộng cho biết loại tệp (chẳng hạn như .png hoặc .gif) và phần mở rộng này sẽ hiển thị cho trình duyệt dưới dạng tên tài sản, nhưng không nhất thiết phải giống với tên tệp gốc. Xin lưu ý rằng tên này có thể được Campaign Manager 360 thay đổi để tạo sự khác biệt trên máy chủ; hãy kiểm tra giá trị trả về để xem giá trị đó đã được thay đổi hay chưa.
    • Thuộc tính type xác định loại tài sản. Tài sản này sẽ quy định loại mẫu quảng cáo có thể liên kết với thành phần này.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.setName(assetName);
    assetId.setType(assetType);
    
  2. Tải tệp lên bằng cách gọi creativeAssets.insert(). Thực hiện tải lên nhiều phần, truyền cả assetIdentifier và nội dung tệp trong cùng một yêu cầu. Nếu thành công, hệ thống sẽ trả về tài nguyên CreativeAsset cùng với assetIdentifier mà bạn sẽ dùng để gán thành phần này cho mẫu quảng cáo.

    // Open the asset file.
    File file = new File(assetFile);
    
    // Prepare an input stream.
    String contentType = getMimeType(assetFile);
    InputStreamContent assetContent =
        new InputStreamContent(contentType, new BufferedInputStream(new FileInputStream(file)));
    assetContent.setLength(file.length());
    
    
    CreativeAssetMetadata metaData = new CreativeAssetMetadata();
    metaData.setAssetIdentifier(assetId);
    
    // Insert the creative.
    CreativeAssetMetadata result = reporting.creativeAssets()
        .insert(profileId, advertiserId, metaData, assetContent).execute();
    

PHP

  1. Tạo một đối tượng assetIdentifier và thiết lập các thuộc tính bắt buộc. Tất cả các thành phần, bất kể loại hay cách sử dụng, đều phải chỉ định assetIdentifier. Khi chỉ định thành phần cho một mẫu quảng cáo, đối tượng này sẽ được dùng để tham chiếu trở lại thành phần đó. Bạn phải có các thuộc tính sau:

    • Thuộc tính name, sẽ là tên của tài sản trên máy chủ. Tên này phải có phần mở rộng cho biết loại tệp (chẳng hạn như .png hoặc .gif) và phần mở rộng này sẽ hiển thị cho trình duyệt dưới dạng tên tài sản, nhưng không nhất thiết phải giống với tên tệp gốc. Xin lưu ý rằng tên này có thể được Campaign Manager 360 thay đổi để tạo sự khác biệt trên máy chủ; hãy kiểm tra giá trị trả về để xem giá trị đó đã được thay đổi hay chưa.
    • Thuộc tính type xác định loại tài sản. Tài sản này sẽ quy định loại mẫu quảng cáo có thể liên kết với thành phần này.
    $assetId = new Google_Service_Dfareporting_CreativeAssetId();
    $assetId->setName($asset['name']);
    $assetId->setType($type);
    
  2. Tải tệp lên bằng cách gọi creativeAssets.insert(). Thực hiện tải lên nhiều phần, truyền cả assetIdentifier và nội dung tệp trong cùng một yêu cầu. Nếu thành công, hệ thống sẽ trả về tài nguyên CreativeAsset cùng với assetIdentifier mà bạn sẽ dùng để gán thành phần này cho mẫu quảng cáo.

    $metadata = new Google_Service_Dfareporting_CreativeAssetMetadata();
    $metadata->setAssetIdentifier($assetId);
    
    $result = $service->creativeAssets->insert(
        $userProfileId,
        $advertiserId,
        $metadata,
        ['data' => file_get_contents($asset['tmp_name']),
         'mimeType' => $asset['type'],
         'uploadType' => 'multipart']
    );
    

Python

  1. Tạo một đối tượng assetIdentifier và thiết lập các thuộc tính bắt buộc. Tất cả các thành phần, bất kể loại hay cách sử dụng, đều phải chỉ định assetIdentifier. Khi chỉ định thành phần cho một mẫu quảng cáo, đối tượng này sẽ được dùng để tham chiếu trở lại thành phần đó. Bạn phải có các thuộc tính sau:

    • Thuộc tính name, sẽ là tên của tài sản trên máy chủ. Tên này phải có phần mở rộng cho biết loại tệp (chẳng hạn như .png hoặc .gif) và phần mở rộng này sẽ hiển thị cho trình duyệt dưới dạng tên tài sản, nhưng không nhất thiết phải giống với tên tệp gốc. Xin lưu ý rằng tên này có thể được Campaign Manager 360 thay đổi để tạo sự khác biệt trên máy chủ; hãy kiểm tra giá trị trả về để xem giá trị đó đã được thay đổi hay chưa.
    • Thuộc tính type xác định loại tài sản. Tài sản này sẽ quy định loại mẫu quảng cáo có thể liên kết với thành phần này.
    # Construct the creative asset metadata
    creative_asset = {'assetIdentifier': {'name': asset_name, 'type': asset_type}}
    
  2. Tải tệp lên bằng cách gọi creativeAssets.insert(). Thực hiện tải lên nhiều phần, truyền cả assetIdentifier và nội dung tệp trong cùng một yêu cầu. Nếu thành công, hệ thống sẽ trả về tài nguyên CreativeAsset cùng với assetIdentifier mà bạn sẽ dùng để gán thành phần này cho mẫu quảng cáo.

    media = MediaFileUpload(path_to_asset_file)
    if not media.mimetype():
      media = MediaFileUpload(path_to_asset_file, 'application/octet-stream')
    
    response = service.creativeAssets().insert(
        advertiserId=advertiser_id,
        profileId=profile_id,
        media_body=media,
        body=creative_asset).execute()
    

Ruby

  1. Tạo một đối tượng assetIdentifier và thiết lập các thuộc tính bắt buộc. Tất cả các thành phần, bất kể loại hay cách sử dụng, đều phải chỉ định assetIdentifier. Khi chỉ định thành phần cho một mẫu quảng cáo, đối tượng này sẽ được dùng để tham chiếu trở lại thành phần đó. Bạn phải có các thuộc tính sau:

    • Thuộc tính name, sẽ là tên của tài sản trên máy chủ. Tên này phải có phần mở rộng cho biết loại tệp (chẳng hạn như .png hoặc .gif) và phần mở rộng này sẽ hiển thị cho trình duyệt dưới dạng tên tài sản, nhưng không nhất thiết phải giống với tên tệp gốc. Xin lưu ý rằng tên này có thể được Campaign Manager 360 thay đổi để tạo sự khác biệt trên máy chủ; hãy kiểm tra giá trị trả về để xem giá trị đó đã được thay đổi hay chưa.
    • Thuộc tính type xác định loại tài sản. Tài sản này sẽ quy định loại mẫu quảng cáo có thể liên kết với thành phần này.
    # Construct the creative asset metadata
    creative_asset = DfareportingUtils::API_NAMESPACE::CreativeAsset.new(
      asset_identifier: DfareportingUtils::API_NAMESPACE::CreativeAssetId.new(
        name: asset_name,
        type: asset_type
      )
    )
    
  2. Tải tệp lên bằng cách gọi creativeAssets.insert(). Thực hiện tải lên nhiều phần, truyền cả assetIdentifier và nội dung tệp trong cùng một yêu cầu. Nếu thành công, hệ thống sẽ trả về tài nguyên CreativeAsset cùng với assetIdentifier mà bạn sẽ dùng để gán thành phần này cho mẫu quảng cáo.

    # Upload the asset.
    mime_type = determine_mime_type(path_to_asset_file, asset_type)
    
    result = @service.insert_creative_asset(
      @profile_id,
      advertiser_id,
      creative_asset,
      content_type: mime_type,
      upload_source: path_to_asset_file
    )
    

Tạo mẫu quảng cáo

Đối tượng Creative gói thành phần hiện có. Tuỳ vào cách sử dụng mẫu quảng cáo trên trang lưu trữ, bạn có thể tạo đối tượng Creative cho các loại mẫu quảng cáo khác nhau. Xem tài liệu tham khảo để xác định loại phù hợp với bạn.

Ví dụ sau minh hoạ cách tạo mẫu quảng cáo hiển thị HTML5 mới.

C#

  1. Tải các thành phần lên. Các mẫu quảng cáo khác nhau yêu cầu loại và số lượng thành phần khác nhau; hãy xem bài viết Tải thành phần lên để biết thông tin chi tiết. Mỗi lần tải thành công một thành phần lên, bạn sẽ nhận được một assetIdenfitier trong phản hồi; bạn sẽ sử dụng tên và loại tệp đã lưu trữ để tham chiếu các nội dung này trong quảng cáo của mình thay vì mã nhận dạng truyền thống.
  2. Tạo mẫu quảng cáo và chỉ định các giá trị phù hợp. Tạo thực thể cho Creative và đặt type phù hợp; bạn không thể thay đổi loại đối tượng Creative sau khi lưu. Chỉ định các thành phần theo AssetIdentifierrole của thành phần.
    // Locate an advertiser landing page to use as a default.
    LandingPage defaultLandingPage = getAdvertiserLandingPage(service, profileId, advertiserId);
    
    // Create the creative structure.
    Creative creative = new Creative();
    creative.AdvertiserId = advertiserId;
    creative.Name = "Test HTML5 display creative";
    creative.Size = new Size() { Id = sizeId };
    creative.Type = "DISPLAY";
    
    // Upload the HTML5 asset.
    CreativeAssetUtils assetUtils = new CreativeAssetUtils(service, profileId, advertiserId);
    CreativeAssetId html5AssetId =
        assetUtils.uploadAsset(pathToHtml5AssetFile, "HTML").AssetIdentifier;
    
    CreativeAsset html5Asset = new CreativeAsset();
    html5Asset.AssetIdentifier = html5AssetId;
    html5Asset.Role = "PRIMARY";
    
    // Upload the backup image asset.
    CreativeAssetId imageAssetId =
        assetUtils.uploadAsset(pathToImageAssetFile, "HTML_IMAGE").AssetIdentifier;
    
    CreativeAsset imageAsset = new CreativeAsset();
    imageAsset.AssetIdentifier = imageAssetId;
    imageAsset.Role = "BACKUP_IMAGE";
    
    // Add the creative assets.
    creative.CreativeAssets = new List<CreativeAsset>() { html5Asset, imageAsset };
    
    // Configure the bacup image.
    creative.BackupImageClickThroughUrl = new CreativeClickThroughUrl() {
      LandingPageId = defaultLandingPage.Id
    };
    creative.BackupImageReportingLabel = "backup";
    creative.BackupImageTargetWindow = new TargetWindow() { TargetWindowOption = "NEW_WINDOW" };
    
    // Add a click tag.
    ClickTag clickTag = new ClickTag();
    clickTag.Name = "clickTag";
    clickTag.EventName = "exit";
    clickTag.ClickThroughUrl = new CreativeClickThroughUrl() {
      LandingPageId = defaultLandingPage.Id
    };
    creative.ClickTags = new List<ClickTag>() { clickTag };
    
  3. Lưu mẫu quảng cáo. Thực hiện việc này bằng cách gọi creatives.insert(). Bạn phải chỉ định một mã nhận dạng nhà quảng cáo để liên kết với mẫu quảng cáo này.
    Creative result = service.Creatives.Insert(creative, profileId).Execute();
    
  4. (Không bắt buộc) Liên kết mẫu quảng cáo với một chiến dịch. Bạn có thể thực hiện việc này bằng cách gọi campaignCreativeAssociations.insert(), truyền vào mã chiến dịch và mã mẫu quảng cáo.
    // Create the campaign creative association structure.
    CampaignCreativeAssociation association = new CampaignCreativeAssociation();
    association.CreativeId = creativeId;
    
    // Insert the association.
    CampaignCreativeAssociation result =
        service.CampaignCreativeAssociations.Insert(association, profileId, campaignId).Execute();
    

Java

  1. Tải các thành phần lên. Các mẫu quảng cáo khác nhau yêu cầu loại và số lượng thành phần khác nhau; hãy xem bài viết Tải thành phần lên để biết thông tin chi tiết. Mỗi lần tải thành công một thành phần lên, bạn sẽ nhận được một assetIdenfitier trong phản hồi; bạn sẽ sử dụng tên và loại tệp đã lưu trữ để tham chiếu các nội dung này trong quảng cáo của mình thay vì mã nhận dạng truyền thống.
  2. Tạo mẫu quảng cáo và chỉ định các giá trị phù hợp. Tạo thực thể cho Creative và đặt type phù hợp; bạn không thể thay đổi loại đối tượng Creative sau khi lưu. Chỉ định các thành phần theo AssetIdentifierrole của thành phần.
    // Locate an advertiser landing page to use as a default.
    LandingPage defaultLandingPage = getAdvertiserLandingPage(reporting, profileId, advertiserId);
    
    // Create the creative structure.
    Creative creative = new Creative();
    creative.setAdvertiserId(advertiserId);
    creative.setName("Test HTML5 display creative");
    creative.setSize(new Size().setId(sizeId));
    creative.setType("DISPLAY");
    
    // Upload the HTML5 asset.
    CreativeAssetId html5AssetId = CreativeAssetUtils.uploadAsset(reporting, profileId,
        advertiserId, HTML5_ASSET_NAME, PATH_TO_HTML5_ASSET_FILE, "HTML").getAssetIdentifier();
    
    CreativeAsset html5Asset =
        new CreativeAsset().setAssetIdentifier(html5AssetId).setRole("PRIMARY");
    
    // Upload the backup image asset (note: asset type must be set to HTML_IMAGE).
    CreativeAssetId imageAssetId = CreativeAssetUtils.uploadAsset(reporting, profileId,
        advertiserId, IMAGE_ASSET_NAME, PATH_TO_IMAGE_ASSET_FILE, "HTML_IMAGE")
        .getAssetIdentifier();
    
    CreativeAsset backupImageAsset =
        new CreativeAsset().setAssetIdentifier(imageAssetId).setRole("BACKUP_IMAGE");
    
    // Add the creative assets.
    creative.setCreativeAssets(ImmutableList.of(html5Asset, backupImageAsset));
    
    // Configure the backup image.
    creative.setBackupImageClickThroughUrl(
        new CreativeClickThroughUrl().setLandingPageId(defaultLandingPage.getId()));
    creative.setBackupImageReportingLabel("backup");
    creative.setBackupImageTargetWindow(new TargetWindow().setTargetWindowOption("NEW_WINDOW"));
    
    // Add a click tag.
    ClickTag clickTag =
        new ClickTag().setName("clickTag").setEventName("exit").setClickThroughUrl(
            new CreativeClickThroughUrl().setLandingPageId(defaultLandingPage.getId()));
    creative.setClickTags(ImmutableList.of(clickTag));
    
  3. Lưu mẫu quảng cáo. Thực hiện việc này bằng cách gọi creatives.insert(). Bạn phải chỉ định một mã nhận dạng nhà quảng cáo để liên kết với mẫu quảng cáo này.
    Creative result = reporting.creatives().insert(profileId, creative).execute();
    
  4. (Không bắt buộc) Liên kết mẫu quảng cáo với một chiến dịch. Bạn có thể thực hiện việc này bằng cách gọi campaignCreativeAssociations.insert(), truyền vào mã chiến dịch và mã mẫu quảng cáo.
    // Create the campaign creative association structure.
    CampaignCreativeAssociation association = new CampaignCreativeAssociation();
    association.setCreativeId(creativeId);
    
    // Insert the association.
    CampaignCreativeAssociation result = reporting
        .campaignCreativeAssociations().insert(profileId, campaignId, association)
        .execute();
    

PHP

  1. Tải các thành phần lên. Các mẫu quảng cáo khác nhau yêu cầu loại và số lượng thành phần khác nhau; hãy xem bài viết Tải thành phần lên để biết thông tin chi tiết. Mỗi lần tải thành công một thành phần lên, bạn sẽ nhận được một assetIdenfitier trong phản hồi; bạn sẽ sử dụng tên và loại tệp đã lưu trữ để tham chiếu các nội dung này trong quảng cáo của mình thay vì mã nhận dạng truyền thống.
  2. Tạo mẫu quảng cáo và chỉ định các giá trị phù hợp. Tạo thực thể cho Creative và đặt type phù hợp; bạn không thể thay đổi loại đối tượng Creative sau khi lưu. Chỉ định các thành phần theo AssetIdentifierrole của thành phần.
    $creative = new Google_Service_Dfareporting_Creative();
    $creative->setAdvertiserId($values['advertiser_id']);
    $creative->setAutoAdvanceImages(true);
    $creative->setName('Test HTML5 display creative');
    $creative->setType('DISPLAY');
    
    $size = new Google_Service_Dfareporting_Size();
    $size->setId($values['size_id']);
    $creative->setSize($size);
    
    // Upload the HTML5 asset.
    $html = uploadAsset(
        $this->service,
        $values['user_profile_id'],
        $values['advertiser_id'],
        $values['html_asset_file'],
        'HTML'
    );
    
    $htmlAsset = new Google_Service_Dfareporting_CreativeAsset();
    $htmlAsset->setAssetIdentifier($html->getAssetIdentifier());
    $htmlAsset->setRole('PRIMARY');
    
    // Upload the backup image asset.
    $image = uploadAsset(
        $this->service,
        $values['user_profile_id'],
        $values['advertiser_id'],
        $values['image_asset_file'],
        'HTML_IMAGE'
    );
    
    $imageAsset = new Google_Service_Dfareporting_CreativeAsset();
    $imageAsset->setAssetIdentifier($image->getAssetIdentifier());
    $imageAsset->setRole('BACKUP_IMAGE');
    
    // Add the creative assets.
    $creative->setCreativeAssets([$htmlAsset, $imageAsset]);
    
    // Configure the default click-through URL.
    $clickThroughUrl =
        new Google_Service_Dfareporting_CreativeClickThroughUrl();
    $clickThroughUrl->setLandingPageId($values['landing_page_id']);
    
    // Configure the backup image.
    $creative->setBackupImageClickThroughUrl($clickThroughUrl);
    $creative->setBackupImageReportingLabel('backup');
    
    $targetWindow = new Google_Service_Dfareporting_TargetWindow();
    $targetWindow->setTargetWindowOption('NEW_WINDOW');
    $creative->setBackupImageTargetWindow($targetWindow);
    
    // Add a click tag.
    $clickTag = new Google_Service_Dfareporting_ClickTag();
    $clickTag->setName('clickTag');
    $clickTag->setEventName('exit');
    $clickTag->setClickThroughUrl($clickThroughUrl);
    $creative->setClickTags([$clickTag]);
    
  3. Lưu mẫu quảng cáo. Thực hiện việc này bằng cách gọi creatives.insert(). Bạn phải chỉ định một mã nhận dạng nhà quảng cáo để liên kết với mẫu quảng cáo này.
    $result = $this->service->creatives->insert(
        $values['user_profile_id'],
        $creative
    );
    
  4. (Không bắt buộc) Liên kết mẫu quảng cáo với một chiến dịch. Bạn có thể thực hiện việc này bằng cách gọi campaignCreativeAssociations.insert(), truyền vào mã chiến dịch và mã mẫu quảng cáo.
    $association =
        new Google_Service_Dfareporting_CampaignCreativeAssociation();
    $association->setCreativeId($values['creative_id']);
    
    $result = $this->service->campaignCreativeAssociations->insert(
        $values['user_profile_id'],
        $values['campaign_id'],
        $association
    );
    

Python

  1. Tải các thành phần lên. Các mẫu quảng cáo khác nhau yêu cầu loại và số lượng thành phần khác nhau; hãy xem bài viết Tải thành phần lên để biết thông tin chi tiết. Mỗi lần tải thành công một thành phần lên, bạn sẽ nhận được một assetIdenfitier trong phản hồi; bạn sẽ sử dụng tên và loại tệp đã lưu trữ để tham chiếu các nội dung này trong quảng cáo của mình thay vì mã nhận dạng truyền thống.
  2. Tạo mẫu quảng cáo và chỉ định các giá trị phù hợp. Tạo thực thể cho Creative và đặt type phù hợp; bạn không thể thay đổi loại đối tượng Creative sau khi lưu. Chỉ định các thành phần theo AssetIdentifierrole của thành phần.
    # Locate an advertiser landing page to use as a default.
    default_landing_page = get_advertiser_landing_page(service, profile_id,
                                                       advertiser_id)
    
    # Upload the HTML5 asset
    html5_asset_id = upload_creative_asset(service, profile_id, advertiser_id,
                                           html5_asset_name,
                                           path_to_html5_asset_file, 'HTML')
    
    # Upload the backup image asset
    backup_image_asset_id = upload_creative_asset(
        service, profile_id, advertiser_id, backup_image_name,
        path_to_backup_image_file, 'HTML_IMAGE')
    
    # Construct the creative structure.
    creative = {
        'advertiserId': advertiser_id,
        'backupImageClickThroughUrl': {
            'landingPageId': default_landing_page['id']
        },
        'backupImageReportingLabel': 'backup_image_exit',
        'backupImageTargetWindow': {'targetWindowOption': 'NEW_WINDOW'},
        'clickTags': [{
            'eventName': 'exit',
            'name': 'click_tag',
            'clickThroughUrl': {'landingPageId': default_landing_page['id']}
        }],
        'creativeAssets': [
            {'assetIdentifier': html5_asset_id, 'role': 'PRIMARY'},
            {'assetIdentifier': backup_image_asset_id, 'role': 'BACKUP_IMAGE'}
        ],
        'name': 'Test HTML5 display creative',
        'size': {'id': size_id},
        'type': 'DISPLAY'
    }
    
  3. Lưu mẫu quảng cáo. Thực hiện việc này bằng cách gọi creatives.insert(). Bạn phải chỉ định một mã nhận dạng nhà quảng cáo để liên kết với mẫu quảng cáo này.
    request = service.creatives().insert(profileId=profile_id, body=creative)
    
    # Execute request and print response.
    response = request.execute()
    
  4. (Không bắt buộc) Liên kết mẫu quảng cáo với một chiến dịch. Bạn có thể thực hiện việc này bằng cách gọi campaignCreativeAssociations.insert(), truyền vào mã chiến dịch và mã mẫu quảng cáo.
    # Construct the request.
    association = {
        'creativeId': creative_id
    }
    
    request = service.campaignCreativeAssociations().insert(
        profileId=profile_id, campaignId=campaign_id, body=association)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Tải các thành phần lên. Các mẫu quảng cáo khác nhau yêu cầu loại và số lượng thành phần khác nhau; hãy xem bài viết Tải thành phần lên để biết thông tin chi tiết. Mỗi lần tải thành công một thành phần lên, bạn sẽ nhận được một assetIdenfitier trong phản hồi; bạn sẽ sử dụng tên và loại tệp đã lưu trữ để tham chiếu các nội dung này trong quảng cáo của mình thay vì mã nhận dạng truyền thống.
  2. Tạo mẫu quảng cáo và chỉ định các giá trị phù hợp. Tạo thực thể cho Creative và đặt type phù hợp; bạn không thể thay đổi loại đối tượng Creative sau khi lưu. Chỉ định các thành phần theo AssetIdentifierrole của thành phần.
    # Locate an advertiser landing page to use as a default.
    default_landing_page = get_advertiser_landing_page(service, profile_id,
      advertiser_id)
    
    # Upload the HTML5 asset.
    html5_asset_id = util.upload_asset(advertiser_id, path_to_html5_asset_file,
      'HTML').asset_identifier
    
    # Upload the backup image asset.
    backup_image_asset_id = util.upload_asset(advertiser_id,
      path_to_backup_image_file, 'HTML_IMAGE').asset_identifier
    
    # Construct the creative structure.
    creative = DfareportingUtils::API_NAMESPACE::Creative.new(
      advertiser_id: advertiser_id,
      backup_image_click_through_url:
        DfareportingUtils::API_NAMESPACE::CreativeClickThroughUrl.new(
          landing_page_id: default_landing_page.id
        ),
      backup_image_reporting_label: 'backup',
      backup_image_target_window:
        DfareportingUtils::API_NAMESPACE::TargetWindow.new(
          target_window_option: 'NEW_WINDOW'
        ),
      click_tags: [
        DfareportingUtils::API_NAMESPACE::ClickTag.new(
          event_name: 'exit',
          name: 'click_tag',
          click_through_url:
            DfareportingUtils::API_NAMESPACE::CreativeClickThroughUrl.new(
              landing_page_id: default_landing_page.id
            )
        )
      ],
      creative_assets: [
        DfareportingUtils::API_NAMESPACE::CreativeAsset.new(
          asset_identifier: html5_asset_id,
          role: 'PRIMARY'
        ),
        DfareportingUtils::API_NAMESPACE::CreativeAsset.new(
          asset_identifier: backup_image_asset_id,
          role: 'BACKUP_IMAGE'
        )
      ],
      name: 'Example HTML5 display creative',
      size: DfareportingUtils::API_NAMESPACE::Size.new(id: size_id),
      type: 'DISPLAY'
    )
    
  3. Lưu mẫu quảng cáo. Thực hiện việc này bằng cách gọi creatives.insert(). Bạn phải chỉ định một mã nhận dạng nhà quảng cáo để liên kết với mẫu quảng cáo này.
    # Insert the creative.
    result = service.insert_creative(profile_id, creative)
    
  4. (Không bắt buộc) Liên kết mẫu quảng cáo với một chiến dịch. Bạn có thể thực hiện việc này bằng cách gọi campaignCreativeAssociations.insert(), truyền vào mã chiến dịch và mã mẫu quảng cáo.
    # Create a new creative-campaign association to insert
    association =
      DfareportingUtils::API_NAMESPACE::CampaignCreativeAssociation.new(
        creative_id: creative_id
      )
    
    # Insert the advertiser group.
    result = service.insert_campaign_creative_association(profile_id, campaign_id,
      association)
    

Tạo quảng cáo

Ad là đường liên kết giữa CreativePlacement. Một Ad có thể được liên kết với một hoặc nhiều vị trí và chứa một hoặc nhiều mẫu quảng cáo.

Bạn có thể tạo Ad một cách rõ ràng hoặc ngầm ẩn.

Rõ ràng

C#

  1. Tạo một đối tượng CreativeAssignment cho mỗi mẫu quảng cáo mà bạn muốn liên kết với quảng cáo này. Hãy nhớ đặt trường CreativeAssignment.active thành true.
    // Create a click-through URL.
    ClickThroughUrl clickThroughUrl = new ClickThroughUrl();
    clickThroughUrl.DefaultLandingPage = true;
    
    // Create a creative assignment.
    CreativeAssignment creativeAssignment = new CreativeAssignment();
    creativeAssignment.Active = true;
    creativeAssignment.CreativeId = creativeId;
    creativeAssignment.ClickThroughUrl = clickThroughUrl;
    
  2. Tạo đối tượng CreativeRotation để lưu trữ các CreativeAssignment. Nếu bạn tạo nhóm xoay vòng mẫu quảng cáo, hãy nhớ đặt các trường xoay vòng mẫu quảng cáo bắt buộc khác.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.CreativeAssignments = new List<CreativeAssignment>() {
        creativeAssignment
    };
    
  3. Tạo một đối tượng PlacementAssignment cho mỗi vị trí mà quảng cáo này sẽ liên kết với. Hãy nhớ đặt trường PlacementAssignment.active thành true.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.Active = true;
    placementAssignment.PlacementId = placementId;
    
  4. Tạo một đối tượng Ad. Đặt CreativeRotation vào trường creativeRotation của đối tượng Ad và gán vị trí vào mảng placementAssignments của đối tượng Ad.
    // Create a delivery schedule.
    DeliverySchedule deliverySchedule = new DeliverySchedule();
    deliverySchedule.ImpressionRatio = 1;
    deliverySchedule.Priority = "AD_PRIORITY_01";
    
    DateTime startDate = DateTime.Now;
    DateTime endDate = Convert.ToDateTime(campaign.EndDate);
    
    // Create a rotation group.
    Ad rotationGroup = new Ad();
    rotationGroup.Active = true;
    rotationGroup.CampaignId = campaignId;
    rotationGroup.CreativeRotation = creativeRotation;
    rotationGroup.DeliverySchedule = deliverySchedule;
    rotationGroup.StartTime = startDate;
    rotationGroup.EndTime = endDate;
    rotationGroup.Name = adName;
    rotationGroup.PlacementAssignments = new List<PlacementAssignment>() {
        placementAssignment
    };
    rotationGroup.Type = "AD_SERVING_STANDARD_AD";
    
  5. Lưu quảng cáo bằng cách gọi ads.insert().
    // Insert the rotation group.
    Ad result = service.Ads.Insert(rotationGroup, profileId).Execute();
    

Java

  1. Tạo một đối tượng CreativeAssignment cho mỗi mẫu quảng cáo mà bạn muốn liên kết với quảng cáo này. Hãy nhớ đặt trường CreativeAssignment.active thành true.
    // Create a click-through URL.
    ClickThroughUrl clickThroughUrl = new ClickThroughUrl();
    clickThroughUrl.setDefaultLandingPage(true);
    
    // Create a creative assignment.
    CreativeAssignment creativeAssignment = new CreativeAssignment();
    creativeAssignment.setActive(true);
    creativeAssignment.setCreativeId(creativeId);
    creativeAssignment.setClickThroughUrl(clickThroughUrl);
    
  2. Tạo đối tượng CreativeRotation để lưu trữ các CreativeAssignment. Nếu bạn tạo nhóm xoay vòng mẫu quảng cáo, hãy nhớ đặt các trường xoay vòng mẫu quảng cáo bắt buộc khác.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.setCreativeAssignments(ImmutableList.of(creativeAssignment));
    
  3. Tạo một đối tượng PlacementAssignment cho mỗi vị trí mà quảng cáo này sẽ liên kết với. Hãy nhớ đặt trường PlacementAssignment.active thành true.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.setActive(true);
    placementAssignment.setPlacementId(placementId);
    
  4. Tạo một đối tượng Ad. Đặt CreativeRotation vào trường creativeRotation của đối tượng Ad và gán vị trí vào mảng placementAssignments của đối tượng Ad.
    // Create a delivery schedule.
    DeliverySchedule deliverySchedule = new DeliverySchedule();
    deliverySchedule.setImpressionRatio(1L);
    deliverySchedule.setPriority("AD_PRIORITY_01");
    
    DateTime startDate = new DateTime(new Date());
    DateTime endDate = new DateTime(campaign.getEndDate().getValue());
    
    // Create a rotation group.
    Ad rotationGroup = new Ad();
    rotationGroup.setActive(true);
    rotationGroup.setCampaignId(campaignId);
    rotationGroup.setCreativeRotation(creativeRotation);
    rotationGroup.setDeliverySchedule(deliverySchedule);
    rotationGroup.setStartTime(startDate);
    rotationGroup.setEndTime(endDate);
    rotationGroup.setName(adName);
    rotationGroup.setPlacementAssignments(ImmutableList.of(placementAssignment));
    rotationGroup.setType("AD_SERVING_STANDARD_AD");
    
  5. Lưu quảng cáo bằng cách gọi ads.insert().
    // Insert the rotation group.
    Ad result = reporting.ads().insert(profileId, rotationGroup).execute();
    

PHP

  1. Tạo một đối tượng CreativeAssignment cho mỗi mẫu quảng cáo mà bạn muốn liên kết với quảng cáo này. Hãy nhớ đặt trường CreativeAssignment.active thành true.
    // Create a click-through URL.
    $url = new Google_Service_Dfareporting_ClickThroughUrl();
    $url->setDefaultLandingPage(true);
    
    // Create a creative assignment.
    $creativeAssignment =
        new Google_Service_Dfareporting_CreativeAssignment();
    $creativeAssignment->setActive(true);
    $creativeAssignment->setCreativeId($values['creative_id']);
    $creativeAssignment->setClickThroughUrl($url);
    
  2. Tạo đối tượng CreativeRotation để lưu trữ các CreativeAssignment. Nếu bạn tạo nhóm xoay vòng mẫu quảng cáo, hãy nhớ đặt các trường xoay vòng mẫu quảng cáo bắt buộc khác.
    // Create a creative rotation.
    $creativeRotation = new Google_Service_Dfareporting_CreativeRotation();
    $creativeRotation->setCreativeAssignments([$creativeAssignment]);
    
  3. Tạo một đối tượng PlacementAssignment cho mỗi vị trí mà quảng cáo này sẽ liên kết với. Hãy nhớ đặt trường PlacementAssignment.active thành true.
    // Create a placement assignment.
    $placementAssignment =
        new Google_Service_Dfareporting_PlacementAssignment();
    $placementAssignment->setActive(true);
    $placementAssignment->setPlacementId($values['placement_id']);
    
  4. Tạo một đối tượng Ad. Đặt CreativeRotation vào trường creativeRotation của đối tượng Ad và gán vị trí vào mảng placementAssignments của đối tượng Ad.
    // Create a delivery schedule.
    $deliverySchedule = new Google_Service_Dfareporting_DeliverySchedule();
    $deliverySchedule->setImpressionRatio(1);
    $deliverySchedule->SetPriority('AD_PRIORITY_01');
    
    $startDate = new DateTime('today');
    $endDate = new DateTime($campaign->getEndDate());
    
    // Create a rotation group.
    $ad = new Google_Service_Dfareporting_Ad();
    $ad->setActive(true);
    $ad->setCampaignId($values['campaign_id']);
    $ad->setCreativeRotation($creativeRotation);
    $ad->setDeliverySchedule($deliverySchedule);
    $ad->setStartTime($startDate->format('Y-m-d') . 'T23:59:59Z');
    $ad->setEndTime($endDate->format('Y-m-d') . 'T00:00:00Z');
    $ad->setName($values['ad_name']);
    $ad->setPlacementAssignments([$placementAssignment]);
    $ad->setType('AD_SERVING_STANDARD_AD');
    
  5. Lưu quảng cáo bằng cách gọi ads.insert().
    $result = $this->service->ads->insert($values['user_profile_id'], $ad);
    

Python

  1. Tạo một đối tượng CreativeAssignment cho mỗi mẫu quảng cáo mà bạn muốn liên kết với quảng cáo này. Hãy nhớ đặt trường CreativeAssignment.active thành true.
    # Construct creative assignment.
    creative_assignment = {
        'active': 'true',
        'creativeId': creative_id,
        'clickThroughUrl': {
            'defaultLandingPage': 'true'
        }
    }
    
  2. Tạo đối tượng CreativeRotation để lưu trữ các CreativeAssignment. Nếu bạn tạo nhóm xoay vòng mẫu quảng cáo, hãy nhớ đặt các trường xoay vòng mẫu quảng cáo bắt buộc khác.
    # Construct creative rotation.
    creative_rotation = {
        'creativeAssignments': [creative_assignment],
        'type': 'CREATIVE_ROTATION_TYPE_RANDOM',
        'weightCalculationStrategy': 'WEIGHT_STRATEGY_OPTIMIZED'
    }
    
  3. Tạo một đối tượng PlacementAssignment cho mỗi vị trí mà quảng cáo này sẽ liên kết với. Hãy nhớ đặt trường PlacementAssignment.active thành true.
    # Construct placement assignment.
    placement_assignment = {
        'active': 'true',
        'placementId': placement_id,
    }
    
  4. Tạo một đối tượng Ad. Đặt CreativeRotation vào trường creativeRotation của đối tượng Ad và gán vị trí vào mảng placementAssignments của đối tượng Ad.
    # Construct delivery schedule.
    delivery_schedule = {
        'impressionRatio': '1',
        'priority': 'AD_PRIORITY_01'
    }
    
    # Construct and save ad.
    ad = {
        'active': 'true',
        'campaignId': campaign_id,
        'creativeRotation': creative_rotation,
        'deliverySchedule': delivery_schedule,
        'endTime': '%sT00:00:00Z' % campaign['endDate'],
        'name': 'Test Rotation Group',
        'placementAssignments': [placement_assignment],
        'startTime': '%sT23:59:59Z' % time.strftime('%Y-%m-%d'),
        'type': 'AD_SERVING_STANDARD_AD'
    }
    
  5. Lưu quảng cáo bằng cách gọi ads.insert().
    request = service.ads().insert(profileId=profile_id, body=ad)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Tạo một đối tượng CreativeAssignment cho mỗi mẫu quảng cáo mà bạn muốn liên kết với quảng cáo này. Hãy nhớ đặt trường CreativeAssignment.active thành true.
    # Construct creative assignment.
    creative_assignment =
      DfareportingUtils::API_NAMESPACE::CreativeAssignment.new(
        active: true,
        creative_id: creative_id,
        click_through_url: DfareportingUtils::API_NAMESPACE::ClickThroughUrl.new(
          default_landing_page: true
        )
      )
    
  2. Tạo đối tượng CreativeRotation để lưu trữ các CreativeAssignment. Nếu bạn tạo nhóm xoay vòng mẫu quảng cáo, hãy nhớ đặt các trường xoay vòng mẫu quảng cáo bắt buộc khác.
    # Construct creative rotation.
    creative_rotation = DfareportingUtils::API_NAMESPACE::CreativeRotation.new(
      creative_assignments: [creative_assignment],
      type: 'CREATIVE_ROTATION_TYPE_RANDOM',
      weight_calculation_strategy: 'WEIGHT_STRATEGY_OPTIMIZED'
    )
    
  3. Tạo một đối tượng PlacementAssignment cho mỗi vị trí mà quảng cáo này sẽ liên kết với. Hãy nhớ đặt trường PlacementAssignment.active thành true.
    # Construct placement assignment.
    placement_assignment =
      DfareportingUtils::API_NAMESPACE::PlacementAssignment.new(
        active: true,
        placement_id: placement_id
      )
    
  4. Tạo một đối tượng Ad. Đặt CreativeRotation vào trường creativeRotation của đối tượng Ad và gán vị trí vào mảng placementAssignments của đối tượng Ad.
    # Construct delivery schedule.
    delivery_schedule = DfareportingUtils::API_NAMESPACE::DeliverySchedule.new(
      impression_ratio: 1,
      priority: 'AD_PRIORITY_01'
    )
    
    # Construct and save ad.
    ad = DfareportingUtils::API_NAMESPACE::Ad.new(
      active: true,
      campaign_id: campaign_id,
      creative_rotation: creative_rotation,
      delivery_schedule: delivery_schedule,
      end_time: format('%sT00:00:00Z', campaign.end_date),
      name: 'Example Rotation Group',
      placement_assignments: [placement_assignment],
      start_time: format('%sT23:59:59Z', Time.now.strftime('%Y-%m-%d')),
      type: 'AD_SERVING_STANDARD_AD'
    )
    
  5. Lưu quảng cáo bằng cách gọi ads.insert().
    result = service.insert_ad(profile_id, ad)
    

Một cách ngầm ẩn

C#

  1. Tạo và lưu Placement.
  2. Tạo và lưu Creative.
  3. Liên kết Creative với cùng một Campaign dùng cho Placement bằng cách gọi campaignCreativeAssociations.insert() (xem bước 4 trong phần Tạo mẫu quảng cáo). Thao tác này sẽ tạo một quảng cáo mặc định được liên kết với cả mẫu quảng cáo và vị trí.
    // Create the campaign creative association structure.
    CampaignCreativeAssociation association = new CampaignCreativeAssociation();
    association.CreativeId = creativeId;
    
    // Insert the association.
    CampaignCreativeAssociation result =
        service.CampaignCreativeAssociations.Insert(association, profileId, campaignId).Execute();
    

Java

  1. Tạo và lưu Placement.
  2. Tạo và lưu Creative.
  3. Liên kết Creative với cùng một Campaign dùng cho Placement bằng cách gọi campaignCreativeAssociations.insert() (xem bước 4 trong phần Tạo mẫu quảng cáo). Thao tác này sẽ tạo một quảng cáo mặc định được liên kết với cả mẫu quảng cáo và vị trí.
    // Create the campaign creative association structure.
    CampaignCreativeAssociation association = new CampaignCreativeAssociation();
    association.setCreativeId(creativeId);
    
    // Insert the association.
    CampaignCreativeAssociation result = reporting
        .campaignCreativeAssociations().insert(profileId, campaignId, association)
        .execute();
    

PHP

  1. Tạo và lưu Placement.
  2. Tạo và lưu Creative.
  3. Liên kết Creative với cùng một Campaign dùng cho Placement bằng cách gọi campaignCreativeAssociations.insert() (xem bước 4 trong phần Tạo mẫu quảng cáo). Thao tác này sẽ tạo một quảng cáo mặc định được liên kết với cả mẫu quảng cáo và vị trí.
    $association =
        new Google_Service_Dfareporting_CampaignCreativeAssociation();
    $association->setCreativeId($values['creative_id']);
    
    $result = $this->service->campaignCreativeAssociations->insert(
        $values['user_profile_id'],
        $values['campaign_id'],
        $association
    );
    

Python

  1. Tạo và lưu Placement.
  2. Tạo và lưu Creative.
  3. Liên kết Creative với cùng một Campaign dùng cho Placement bằng cách gọi campaignCreativeAssociations.insert() (xem bước 4 trong phần Tạo mẫu quảng cáo). Thao tác này sẽ tạo một quảng cáo mặc định được liên kết với cả mẫu quảng cáo và vị trí.
    # Construct the request.
    association = {
        'creativeId': creative_id
    }
    
    request = service.campaignCreativeAssociations().insert(
        profileId=profile_id, campaignId=campaign_id, body=association)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Tạo và lưu Placement.
  2. Tạo và lưu Creative.
  3. Liên kết Creative với cùng một Campaign dùng cho Placement bằng cách gọi campaignCreativeAssociations.insert() (xem bước 4 trong phần Tạo mẫu quảng cáo). Thao tác này sẽ tạo một quảng cáo mặc định được liên kết với cả mẫu quảng cáo và vị trí.
    # Create a new creative-campaign association to insert
    association =
      DfareportingUtils::API_NAMESPACE::CampaignCreativeAssociation.new(
        creative_id: creative_id
      )
    
    # Insert the advertiser group.
    result = service.insert_campaign_creative_association(profile_id, campaign_id,
      association)
    

Việc tạo quảng cáo ngầm lưu lại bước tạo Ad. Lưu ý rằng bạn chỉ có thể thực hiện việc này nếu không có quảng cáo mặc định có kích thước được chỉ định trong chiến dịch của bạn.

Tìm kiếm đối tượng

Bạn có thể tìm kiếm đối tượng bằng cách gọi toán tử list() do dịch vụ hiển thị. Thao tác này sẽ xác định đối tượng cần tìm, chỉ định tiêu chí không bắt buộc phù hợp với loại đối tượng đó. Ví dụ: để tìm kiếm đối tượng Quảng cáo, bạn sẽ gọi ads.list(). Tiêu chí không bắt buộc hiển thị một tập hợp các thuộc tính phù hợp với đối tượng đó; điền vào bao nhiêu thuộc tính tuỳ thích để tìm kiếm. Thao tác tìm kiếm sẽ chỉ trả về các đối tượng đáp ứng tất cả tiêu chí của bạn; bạn không thể thực hiện tìm kiếm khớp với bất kỳ tiêu chí nào. Các chuỗi hỗ trợ ký tự đại diện *, không phân biệt chữ hoa chữ thường và khớp trong các chuỗi lớn hơn.

Để cải thiện hiệu suất, bạn có thể yêu cầu một phần câu trả lời bằng cách sử dụng tham số fields. Thao tác này sẽ hướng dẫn máy chủ chỉ trả về các trường mà bạn chỉ định, thay vì trả về toàn bộ thông tin trình bày tài nguyên. Bạn có thể tìm thêm thông tin về chủ đề này trong hướng dẫn Mẹo về hiệu suất.

Paging

Đôi khi, bạn không nên truy xuất tất cả kết quả cho yêu cầu list(). Ví dụ: bạn có thể chỉ quan tâm đến 10 Quảng cáo mới nhất trong số hàng nghìn Quảng cáo. Để giải quyết vấn đề này, nhiều phương thức list() cho phép bạn yêu cầu ít kết quả hơn thông qua một quy trình được gọi là phân trang.

Các phương thức hỗ trợ phân trang sẽ trả về các tập hợp con của kết quả trong các nhóm được gọi là trang. Số lượng kết quả tối đa trên mỗi trang là 1.000 (mặc định). Bạn có thể thay đổi số lượng kết quả trên mỗi trang bằng cách đặt maxResults và có thể lặp lại qua các trang bằng cách sử dụng nextPageToken được trả về trong phản hồi:

C#

// Limit the fields returned.
String fields = "nextPageToken,ads(advertiserId,id,name)";

AdsListResponse result;
String nextPageToken = null;

do {
  // Create and execute the ad list request.
  AdsResource.ListRequest request = service.Ads.List(profileId);
  request.Active = true;
  request.Fields = fields;
  request.PageToken = nextPageToken;
  result = request.Execute();

  foreach (Ad ad in result.Ads) {
    Console.WriteLine(
        "Ad with ID {0} and name \"{1}\" is associated with advertiser" +
        " ID {2}.", ad.Id, ad.Name, ad.AdvertiserId);
  }

  // Update the next page token.
  nextPageToken = result.NextPageToken;
} while (result.Ads.Any() && !String.IsNullOrEmpty(nextPageToken));

Java

// Limit the fields returned.
String fields = "nextPageToken,ads(advertiserId,id,name)";

AdsListResponse result;
String nextPageToken = null;

do {
  // Create and execute the ad list request.
  result = reporting.ads().list(profileId).setActive(true).setFields(fields)
      .setPageToken(nextPageToken).execute();

  for (Ad ad : result.getAds()) {
    System.out.printf(
        "Ad with ID %d and name \"%s\" is associated with advertiser ID %d.%n", ad.getId(),
        ad.getName(), ad.getAdvertiserId());
  }

  // Update the next page token.
  nextPageToken = result.getNextPageToken();
} while (!result.getAds().isEmpty() && !Strings.isNullOrEmpty(nextPageToken));

PHP

$response = null;
$pageToken = null;

do {
    // Create and execute the ads list request.
    $response = $this->service->ads->listAds(
        $values['user_profile_id'],
        ['active' => true, 'pageToken' => $pageToken]
    );

    foreach ($response->getAds() as $ads) {
        $this->printResultsTableRow($ads);
    }

    // Update the next page token.
    $pageToken = $response->getNextPageToken();
} while (!empty($response->getAds()) && !empty($pageToken));

Python

# Construct the request.
request = service.ads().list(profileId=profile_id, active=True)

while True:
  # Execute request and print response.
  response = request.execute()

  for ad in response['ads']:
    print 'Found ad with ID %s and name "%s".' % (ad['id'], ad['name'])

  if response['ads'] and response['nextPageToken']:
    request = service.ads().list_next(request, response)
  else:
    break

Ruby

token = nil
loop do
  result = service.list_ads(profile_id,
    page_token: token,
    fields: 'nextPageToken,ads(id,name)')

  # Display results.
  if result.ads.any?
    result.ads.each do |ad|
      puts format('Found ad with ID %d and name "%s".', ad.id, ad.name)
    end

    token = result.next_page_token
  else
    # Stop paging if there are no more results.
    token = nil
  end

  break if token.to_s.empty?
end

Tạo thẻ Floodlight

Thẻ Floodlight là các thẻ HTML được nhúng trên một trang, dùng để theo dõi các hành động của người dùng (ví dụ: giao dịch mua hàng) trên trang web. Để tạo thẻ Floodlight, bạn cần có một FloodlightActivity thuộc về FloodlightActivityGroup:

C#

  1. Tạo một nhóm hoạt động Floodlight mới, truyền các giá trị cho name, typefloodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.Name = groupName;
    floodlightActivityGroup.FloodlightConfigurationId = floodlightConfigurationId;
    floodlightActivityGroup.Type = "COUNTER";
    
  2. Lưu nhóm hoạt động Floodlight bằng cách gọi floodlightActivityGroups.insert(). Thao tác này sẽ trả về mã nhận dạng của nhóm mới.
    // Insert the activity group.
    FloodlightActivityGroup result =
        service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
    
  3. Tạo một hoạt động Floodlight mới rồi chỉ định mã nhận dạng của nhóm hoạt động Floodlight mà bạn vừa tạo, cũng như tất cả các trường bắt buộc khác cho hoạt động đó.
    // Set floodlight activity structure.
    FloodlightActivity activity = new FloodlightActivity();
    activity.CountingMethod = "STANDARD_COUNTING";
    activity.Name = activityName;
    activity.FloodlightActivityGroupId = activityGroupId;
    activity.FloodlightTagType = "GLOBAL_SITE_TAG";
    activity.ExpectedUrl = url;
    
  4. Lưu hoạt động mới bằng cách gọi floodlightActivities.insert() để trả về mã nhận dạng của hoạt động mới.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        service.FloodlightActivities.Insert(activity, profileId).Execute();
    
  5. Tạo các thẻ bằng cách gọi floodlightActivities.generatetag() với floodlightActivityId của hoạt động mới. Gửi các thẻ này cho quản trị viên trang web của nhà quảng cáo.
    // Generate the floodlight activity tag.
    FloodlightActivitiesResource.GeneratetagRequest request =
        service.FloodlightActivities.Generatetag(profileId);
    request.FloodlightActivityId = activityId;
    
    FloodlightActivitiesGenerateTagResponse response = request.Execute();
    

Java

  1. Tạo một nhóm hoạt động Floodlight mới, truyền các giá trị cho name, typefloodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.setName(groupName);
    floodlightActivityGroup.setFloodlightConfigurationId(floodlightConfigurationId);
    floodlightActivityGroup.setType("COUNTER");
    
  2. Lưu nhóm hoạt động Floodlight bằng cách gọi floodlightActivityGroups.insert(). Thao tác này sẽ trả về mã nhận dạng của nhóm mới.
    // Insert the activity group.
    FloodlightActivityGroup result =
        reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
    
  3. Tạo một hoạt động Floodlight mới rồi chỉ định mã nhận dạng của nhóm hoạt động Floodlight mà bạn vừa tạo, cũng như tất cả các trường bắt buộc khác cho hoạt động đó.
    // Set floodlight activity structure.
    FloodlightActivity activity = new FloodlightActivity();
    activity.setName(activityName);
    activity.setCountingMethod("STANDARD_COUNTING");
    activity.setExpectedUrl(url);
    activity.setFloodlightActivityGroupId(activityGroupId);
    activity.setFloodlightTagType("GLOBAL_SITE_TAG");
    
  4. Lưu hoạt động mới bằng cách gọi floodlightActivities.insert() để trả về mã nhận dạng của hoạt động mới.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        reporting.floodlightActivities().insert(profileId, activity).execute();
    
  5. Tạo các thẻ bằng cách gọi floodlightActivities.generatetag() với floodlightActivityId của hoạt động mới. Gửi các thẻ này cho quản trị viên trang web của nhà quảng cáo.
    // Generate the floodlight activity tag.
    Generatetag request = reporting.floodlightActivities().generatetag(profileId);
    request.setFloodlightActivityId(activityId);
    
    FloodlightActivitiesGenerateTagResponse response = request.execute();
    

PHP

  1. Tạo một nhóm hoạt động Floodlight mới, truyền các giá trị cho name, typefloodlightConfigurationId.
    $group = new Google_Service_Dfareporting_FloodlightActivityGroup();
    $group->setFloodlightConfigurationId($values['configuration_id']);
    $group->setName($values['group_name']);
    $group->setType('COUNTER');
    
  2. Lưu nhóm hoạt động Floodlight bằng cách gọi floodlightActivityGroups.insert(). Thao tác này sẽ trả về mã nhận dạng của nhóm mới.
    $result = $this->service->floodlightActivityGroups->insert(
        $values['user_profile_id'],
        $group
    );
    
  3. Tạo một hoạt động Floodlight mới rồi chỉ định mã nhận dạng của nhóm hoạt động Floodlight mà bạn vừa tạo, cũng như tất cả các trường bắt buộc khác cho hoạt động đó.
    $activity = new Google_Service_Dfareporting_FloodlightActivity();
    $activity->setCountingMethod('STANDARD_COUNTING');
    $activity->setExpectedUrl($values['url']);
    $activity->setFloodlightActivityGroupId($values['activity_group_id']);
    $activity->setFloodlightTagType('GLOBAL_SITE_TAG');
    $activity->setName($values['activity_name']);
    
  4. Lưu hoạt động mới bằng cách gọi floodlightActivities.insert() để trả về mã nhận dạng của hoạt động mới.
    $result = $this->service->floodlightActivities->insert(
        $values['user_profile_id'],
        $activity
    );
    
  5. Tạo các thẻ bằng cách gọi floodlightActivities.generatetag() với floodlightActivityId của hoạt động mới. Gửi các thẻ này cho quản trị viên trang web của nhà quảng cáo.
    $result = $this->service->floodlightActivities->generatetag(
        $values['user_profile_id'],
        ['floodlightActivityId' => $values['activity_id']]
    );
    

Python

  1. Tạo một nhóm hoạt động Floodlight mới, truyền các giá trị cho name, typefloodlightConfigurationId.
    # Construct and save floodlight activity group.
    activity_group = {
        'name': 'Test Floodlight Activity Group',
        'floodlightConfigurationId': floodlight_config_id,
        'type': 'COUNTER'
    }
    
  2. Lưu nhóm hoạt động Floodlight bằng cách gọi floodlightActivityGroups.insert(). Thao tác này sẽ trả về mã nhận dạng của nhóm mới.
    request = service.floodlightActivityGroups().insert(
        profileId=profile_id, body=activity_group)
    
  3. Tạo một hoạt động Floodlight mới rồi chỉ định mã nhận dạng của nhóm hoạt động Floodlight mà bạn vừa tạo, cũng như tất cả các trường bắt buộc khác cho hoạt động đó.
    # Construct and save floodlight activity.
    floodlight_activity = {
        'countingMethod': 'STANDARD_COUNTING',
        'expectedUrl': 'http://www.google.com',
        'floodlightActivityGroupId': activity_group_id,
        'floodlightTagType': 'GLOBAL_SITE_TAG',
        'name': 'Test Floodlight Activity'
    }
    
  4. Lưu hoạt động mới bằng cách gọi floodlightActivities.insert() để trả về mã nhận dạng của hoạt động mới.
    request = service.floodlightActivities().insert(
        profileId=profile_id, body=floodlight_activity)
    
  5. Tạo các thẻ bằng cách gọi floodlightActivities.generatetag() với floodlightActivityId của hoạt động mới. Gửi các thẻ này cho quản trị viên trang web của nhà quảng cáo.
    # Construct the request.
    request = service.floodlightActivities().generatetag(
        profileId=profile_id, floodlightActivityId=activity_id)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Tạo một nhóm hoạt động Floodlight mới, truyền các giá trị cho name, typefloodlightConfigurationId.
    # Create a new floodlight activity group resource to insert.
    activity_group =
      DfareportingUtils::API_NAMESPACE::FloodlightActivityGroup.new(
        floodlight_configuration_id: floodlight_config_id,
        name:
          format('Example Floodlight Activity Group #%s', SecureRandom.hex(3)),
        type: 'COUNTER'
      )
    
  2. Lưu nhóm hoạt động Floodlight bằng cách gọi floodlightActivityGroups.insert(). Thao tác này sẽ trả về mã nhận dạng của nhóm mới.
    # Insert the floodlight activity group.
    result = service.insert_floodlight_activity_group(profile_id, activity_group)
    
  3. Tạo một hoạt động Floodlight mới rồi chỉ định mã nhận dạng của nhóm hoạt động Floodlight mà bạn vừa tạo, cũng như tất cả các trường bắt buộc khác cho hoạt động đó.
    # Create a new floodlight activity resource to insert.
    activity = DfareportingUtils::API_NAMESPACE::FloodlightActivity.new(
      counting_method: 'STANDARD_COUNTING',
      expected_url: 'http://www.google.com',
      floodlight_activity_group_id: activity_group_id,
      floodlight_tag_type: 'GLOBAL_SITE_TAG',
      name: format('Example Floodlight Activity #%s', SecureRandom.hex(3))
    )
    
  4. Lưu hoạt động mới bằng cách gọi floodlightActivities.insert() để trả về mã nhận dạng của hoạt động mới.
    # Insert the floodlight activity.
    result = service.insert_floodlight_activity(profile_id, activity)
    
  5. Tạo các thẻ bằng cách gọi floodlightActivities.generatetag() với floodlightActivityId của hoạt động mới. Gửi các thẻ này cho quản trị viên trang web của nhà quảng cáo.
    # Construct the request.
    result = service.generatetag_floodlight_activity(profile_id,
      floodlight_activity_id: activity_id)
    

Tạo thẻ vị trí

Bước cuối cùng là tạo thẻ HTML để gửi cho nhà xuất bản nhằm hiển thị quảng cáo của bạn. Để tạo các thẻ thông qua API, hãy gửi yêu cầu đến placements.generatetags(), chỉ định một tập hợp placementIdstagFormats.

C#

// Generate the placement activity tags.
PlacementsResource.GeneratetagsRequest request =
    service.Placements.Generatetags(profileId);
request.CampaignId = campaignId;
request.TagFormats =
    PlacementsResource.GeneratetagsRequest.TagFormatsEnum.PLACEMENTTAGIFRAMEJAVASCRIPT;
request.PlacementIds = placementId.ToString();

PlacementsGenerateTagsResponse response = request.Execute();

Java

// Generate the placement activity tags.
Generatetags request = reporting.placements().generatetags(profileId);
request.setCampaignId(campaignId);
request.setTagFormats(tagFormats);
request.setPlacementIds(ImmutableList.of(placementId));

PlacementsGenerateTagsResponse response = request.execute();

PHP

$placementTags = $this->service->placements->generatetags(
    $values['user_profile_id'],
    ['campaignId' => $values['campaign_id'],
     'placementIds' => [$values['placement_id']],
     'tagFormats' => ['PLACEMENT_TAG_STANDARD',
                      'PLACEMENT_TAG_IFRAME_JAVASCRIPT',
                      'PLACEMENT_TAG_INTERNAL_REDIRECT']
    ]
);

Python

# Construct the request.
request = service.placements().generatetags(
    profileId=profile_id, campaignId=campaign_id,
    placementIds=[placement_id])

# Execute request and print response.
response = request.execute()

Ruby

# Construct the request.
result = service.generate_placement_tags(profile_id,
  campaign_id: campaign_id,
  placement_ids: [placement_id])