משימות נפוצות לניהול טראפיק

בדף הזה מוסבר איך לבצע כמה מהמשימות הנפוצות ביותר לניהול טראפיק באמצעות הדוחות של DCM/DFA ו-Trafficking API.

טיפים כלליים בנושא תכנות

  • מאפיינים ופרמטרים נדרשים ואופציונליים – יש לעיין במסמכי התיעוד כדי לברר אם נדרש מאפיין או פרמטר להפעלת API.
  • חיפושים לפי שמות עם תווים כלליים לחיפוש – אפשר להשתמש בתו הכללי לחיפוש כוכבית (*) כשמחפשים שמות של אובייקטים. כוכבית תואמת לאפס או יותר מכל תו. ממשק ה-API תומך גם בחיפוש משתמע של מחרוזות משנה, כך שאם תחפשו את 'abc' באופן מרומז, המערכת תחפש את '*abc*'.
  • עדכון לעומת תיקון – כדי לשנות אובייקט קיים, יש שתי אפשרויות:
    1. עדכון – כשמעדכנים אובייקט, כל השדות יוחלפו בעקבות ההוספה. חשוב לטעון את האובייקט שברצונך לעדכן ולבצע בו שינויים. אחרת, המערכת תבטל את ההגדרה של שדות שלא נמצאים בבקשת העדכון.
    2. תיקון – במהלך תיקון, רק השדות שצוינו יוחלפו בעקבות ההוספה. במקרה כזה, תוכל ליצור אובייקט חדש, להקצות לו את אותו מזהה כמו האובייקט לעדכון, להגדיר את השדות לעדכון ולהפעיל את בקשת התיקון.
  • גדלים – מימדים פיזיים מיוצגים על ידי אובייקט Size שהוגדר על ידי שירות המידות. החשבון מספק סדרה של מידות סטנדרטיות, ואתם יכולים להוסיף לרשימה הזו גדלים מותאמים אישית משלכם.
  • תאריכים ושעות – אפשר לשמור תאריכים ושעות בפורמט RFC 3339 לפי אזורי זמן מקומיים. כל הערכים שמוחזרים על ידי ה-API הם ב-UTC. התאריך הזה שונה מהאתר שבו התאריכים והשעות מוצגים לפי אזור הזמן שהגדרתם (ברירת המחדל היא שעון אמריקה/ניו יורק).

יצירת מפרסם

C#

  1. יוצרים אובייקט Advertiser ומגדירים את מאפייני name ו-status הנדרשים.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.Name = advertiserName;
    advertiser.Status = "APPROVED";
    
  2. צריך להתקשר אל advertisers.insert() כדי לשמור את המפרסם.
    // Create the advertiser.
    Advertiser result = service.Advertisers.Insert(advertiser, profileId).Execute();
    

Java

  1. יוצרים אובייקט Advertiser ומגדירים את מאפייני name ו-status הנדרשים.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.setName(advertiserName);
    advertiser.setStatus("APPROVED");
    
  2. צריך להתקשר אל advertisers.insert() כדי לשמור את המפרסם.
    // Create the advertiser.
    Advertiser result = reporting.advertisers().insert(profileId, advertiser).execute();
    

PHP

  1. יוצרים אובייקט Advertiser ומגדירים את מאפייני name ו-status הנדרשים.
    $advertiser = new Google_Service_Dfareporting_Advertiser();
    $advertiser->setName($values['advertiser_name']);
    $advertiser->setStatus('APPROVED');
    
  2. צריך להתקשר אל advertisers.insert() כדי לשמור את המפרסם.
    $result = $this->service->advertisers->insert(
        $values['user_profile_id'],
        $advertiser
    );
    

Python

  1. יוצרים אובייקט Advertiser ומגדירים את מאפייני name ו-status הנדרשים.
    # Construct and save advertiser.
    advertiser = {
        'name': 'Test Advertiser',
        'status': 'APPROVED'
    }
    
  2. צריך להתקשר אל advertisers.insert() כדי לשמור את המפרסם.
    request = service.advertisers().insert(
        profileId=profile_id, body=advertiser)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. יוצרים אובייקט Advertiser ומגדירים את מאפייני name ו-status הנדרשים.
    # Create a new advertiser resource to insert.
    advertiser = DfareportingUtils::API_NAMESPACE::Advertiser.new(
      name: format('Example Advertiser #%s', SecureRandom.hex(3)),
      status: 'APPROVED'
    )
    
  2. צריך להתקשר אל advertisers.insert() כדי לשמור את המפרסם.
    # Insert the advertiser.
    result = service.insert_advertiser(profile_id, advertiser)
    

יצירת קמפיין

C#

  1. יוצרים אובייקט Campaign ומגדירים את המאפיינים הנדרשים לו:

    • advertiserId – המפרסם שאליו יש לשייך את הקמפיין הזה.
    • name - השם הזה חייב להיות ייחודי בכל הקמפיינים של המפרסם הזה.
    • defaultLandingPageId - דף נחיתה שאליו המשתמשים יופנו כשילחצו על מודעה בקמפיין הזה, אם המודעה לא מוקצית למודעה הזו. כדי לחפש דפי נחיתה קיימים, אפשר להתקשר אל advertiserLandingPages.list או ליצור דף חדש באמצעות advertiserLandingPages.insert.
    • תאריכי התחלה וסיום – התאריכים האלה חייבים להיות עתידיים, והם יכולים להיות מדויקים עד לתאריך הנוכחי. לפרטים נוספים, עיינו בסעיף של התאריכים והשעות במידע כללי לגבי תכנות. תאריכים של מודעות בודדות יכולים לחרוג מתאריך הסיום, כדי לאפשר לבעל האתר לנסות למלא חוזה למספר מסוים של פעולות, אם הוא לא מולא עד לתאריך הסיום הנתון של הקמפיין.
    // 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. צריך להתקשר למספר campaigns.insert() כדי לשמור את הקמפיין.

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

Java

  1. יוצרים אובייקט Campaign ומגדירים את המאפיינים הנדרשים לו:

    • advertiserId – המפרסם שאליו יש לשייך את הקמפיין הזה.
    • name - השם הזה חייב להיות ייחודי בכל הקמפיינים של המפרסם הזה.
    • defaultLandingPageId - דף נחיתה שאליו המשתמשים יופנו כשילחצו על מודעה בקמפיין הזה, אם המודעה לא מוקצית למודעה הזו. כדי לחפש דפי נחיתה קיימים, אפשר להתקשר אל advertiserLandingPages.list או ליצור דף חדש באמצעות advertiserLandingPages.insert.
    • תאריכי התחלה וסיום – התאריכים האלה חייבים להיות עתידיים, והם יכולים להיות מדויקים עד לתאריך הנוכחי. לפרטים נוספים, עיינו בסעיף של התאריכים והשעות במידע כללי לגבי תכנות. תאריכים של מודעות בודדות יכולים לחרוג מתאריך הסיום, כדי לאפשר לבעל האתר לנסות למלא חוזה למספר מסוים של פעולות, אם הוא לא מולא עד לתאריך הסיום הנתון של הקמפיין.
    // 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. צריך להתקשר למספר campaigns.insert() כדי לשמור את הקמפיין.

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

PHP

  1. יוצרים אובייקט Campaign ומגדירים את המאפיינים הנדרשים לו:

    • advertiserId – המפרסם שאליו יש לשייך את הקמפיין הזה.
    • name - השם הזה חייב להיות ייחודי בכל הקמפיינים של המפרסם הזה.
    • defaultLandingPageId - דף נחיתה שאליו המשתמשים יופנו כשילחצו על מודעה בקמפיין הזה, אם המודעה לא מוקצית למודעה הזו. כדי לחפש דפי נחיתה קיימים, אפשר להתקשר אל advertiserLandingPages.list או ליצור דף חדש באמצעות advertiserLandingPages.insert.
    • תאריכי התחלה וסיום – התאריכים האלה חייבים להיות עתידיים, והם יכולים להיות מדויקים עד לתאריך הנוכחי. לפרטים נוספים, עיינו בסעיף של התאריכים והשעות במידע כללי לגבי תכנות. תאריכים של מודעות בודדות יכולים לחרוג מתאריך הסיום, כדי לאפשר לבעל האתר לנסות למלא חוזה למספר מסוים של פעולות, אם הוא לא מולא עד לתאריך הסיום הנתון של הקמפיין.
    $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. צריך להתקשר למספר campaigns.insert() כדי לשמור את הקמפיין.

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

Python

  1. יוצרים אובייקט Campaign ומגדירים את המאפיינים הנדרשים לו:

    • advertiserId – המפרסם שאליו יש לשייך את הקמפיין הזה.
    • name - השם הזה חייב להיות ייחודי בכל הקמפיינים של המפרסם הזה.
    • defaultLandingPageId - דף נחיתה שאליו המשתמשים יופנו כשילחצו על מודעה בקמפיין הזה, אם המודעה לא מוקצית למודעה הזו. כדי לחפש דפי נחיתה קיימים, אפשר להתקשר אל advertiserLandingPages.list או ליצור דף חדש באמצעות advertiserLandingPages.insert.
    • תאריכי התחלה וסיום – התאריכים האלה חייבים להיות עתידיים, והם יכולים להיות מדויקים עד לתאריך הנוכחי. לפרטים נוספים, עיינו בסעיף של התאריכים והשעות במידע כללי לגבי תכנות. תאריכים של מודעות בודדות יכולים לחרוג מתאריך הסיום, כדי לאפשר לבעל האתר לנסות למלא חוזה למספר מסוים של פעולות, אם הוא לא מולא עד לתאריך הסיום הנתון של הקמפיין.
    # 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. צריך להתקשר למספר campaigns.insert() כדי לשמור את הקמפיין.

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

Ruby

  1. יוצרים אובייקט Campaign ומגדירים את המאפיינים הנדרשים לו:

    • advertiserId – המפרסם שאליו יש לשייך את הקמפיין הזה.
    • name - השם הזה חייב להיות ייחודי בכל הקמפיינים של המפרסם הזה.
    • defaultLandingPageId - דף נחיתה שאליו המשתמשים יופנו כשילחצו על מודעה בקמפיין הזה, אם המודעה לא מוקצית למודעה הזו. כדי לחפש דפי נחיתה קיימים, אפשר להתקשר אל advertiserLandingPages.list או ליצור דף חדש באמצעות advertiserLandingPages.insert.
    • תאריכי התחלה וסיום – התאריכים האלה חייבים להיות עתידיים, והם יכולים להיות מדויקים עד לתאריך הנוכחי. לפרטים נוספים, עיינו בסעיף של התאריכים והשעות במידע כללי לגבי תכנות. תאריכים של מודעות בודדות יכולים לחרוג מתאריך הסיום, כדי לאפשר לבעל האתר לנסות למלא חוזה למספר מסוים של פעולות, אם הוא לא מולא עד לתאריך הסיום הנתון של הקמפיין.
    # 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. צריך להתקשר למספר campaigns.insert() כדי לשמור את הקמפיין.

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

יצירת מיקום מודעה

C#

  1. יוצרים אובייקט Placement ומגדירים את מאפייני מיקומי המודעות הנדרשים (כולל campaignId ו-siteId). כמו כן, חשוב להגדיר את הסוג והגודל של מיקום המודעה בצורה מדויקת למיקום שהתכוונתם אליו במשא ומתן עם האתר.
    // 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. יוצרים אובייקט PricingSchedule חדש להקצאה למיקום.
    // 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. שומרים את האובייקט Placement על ידי קריאה ל-placements.insert(). אם רוצים להשתמש בו להקצאה למודעה או לקריאייטיב, צריך לשמור את המזהה שמוחזר.
    // Insert the placement.
    Placement result = service.Placements.Insert(placement, profileId).Execute();
    

Java

  1. יוצרים אובייקט Placement ומגדירים את מאפייני מיקומי המודעות הנדרשים (כולל campaignId ו-siteId). כמו כן, חשוב להגדיר את הסוג והגודל של מיקום המודעה בצורה מדויקת למיקום שהתכוונתם אליו במשא ומתן עם האתר.
    // 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. יוצרים אובייקט PricingSchedule חדש להקצאה למיקום.
    // 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. שומרים את האובייקט Placement על ידי קריאה ל-placements.insert(). אם רוצים להשתמש בו להקצאה למודעה או לקריאייטיב, צריך לשמור את המזהה שמוחזר.
    // Insert the placement.
    Placement result = reporting.placements().insert(profileId, placement).execute();
    

PHP

  1. יוצרים אובייקט Placement ומגדירים את מאפייני מיקומי המודעות הנדרשים (כולל campaignId ו-siteId). כמו כן, חשוב להגדיר את הסוג והגודל של מיקום המודעה בצורה מדויקת למיקום שהתכוונתם אליו במשא ומתן עם האתר.
    $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. יוצרים אובייקט PricingSchedule חדש להקצאה למיקום.
    // 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. שומרים את האובייקט Placement על ידי קריאה ל-placements.insert(). אם רוצים להשתמש בו להקצאה למודעה או לקריאייטיב, צריך לשמור את המזהה שמוחזר.
    // Insert the placement.
    $result = $this->service->placements->insert(
        $values['user_profile_id'],
        $placement
    );
    

Python

  1. יוצרים אובייקט Placement ומגדירים את מאפייני מיקומי המודעות הנדרשים (כולל campaignId ו-siteId). כמו כן, חשוב להגדיר את הסוג והגודל של מיקום המודעה בצורה מדויקת למיקום שהתכוונתם אליו במשא ומתן עם האתר.
    # 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. יוצרים אובייקט PricingSchedule חדש להקצאה למיקום.
    # Set the pricing schedule for the placement.
    placement['pricingSchedule'] = {
        'startDate': campaign['startDate'],
        'endDate': campaign['endDate'],
        'pricingType': 'PRICING_TYPE_CPM'
    }
    
  3. שומרים את האובייקט Placement על ידי קריאה ל-placements.insert(). אם רוצים להשתמש בו להקצאה למודעה או לקריאייטיב, צריך לשמור את המזהה שמוחזר.
    request = service.placements().insert(profileId=profile_id, body=placement)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. יוצרים אובייקט Placement ומגדירים את מאפייני מיקומי המודעות הנדרשים (כולל campaignId ו-siteId). כמו כן, חשוב להגדיר את הסוג והגודל של מיקום המודעה בצורה מדויקת למיקום שהתכוונתם אליו במשא ומתן עם האתר.
    # 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. יוצרים אובייקט PricingSchedule חדש להקצאה למיקום.
    # 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. שומרים את האובייקט Placement על ידי קריאה ל-placements.insert(). אם רוצים להשתמש בו להקצאה למודעה או לקריאייטיב, צריך לשמור את המזהה שמוחזר.
    # Insert the placement strategy.
    result = service.insert_placement(profile_id, placement)
    

העלה נכסים

אפשר להעלות סוגים רבים של נכסים באמצעות תהליך שנקרא העלאת מדיה. התהליך הזה דומה בכל סוגי הקריאייטיב, אבל סוגים מסוימים עשויים לחייב העברה של מאפיינים ספציפיים כמטא-נתונים כדי שאפשר יהיה להשתמש בהם בצורה נכונה.

C#

  1. יוצרים אובייקט assetIdentifier ומגדירים את המאפיינים הנדרשים. לכל הנכסים, ללא קשר לסוג שלהם או לאופן השימוש בהם, חובה לציין assetIdentifier. כשמקצים את הנכס לקריאייטיב, האובייקט הזה ישמש להפניה חוזרת לנכס. המאפיינים הבאים נדרשים:

    • המאפיין name, שיהיה שם הנכס בשרת. השם חייב לכלול סיומת שמציינת את סוג הקובץ, כמו .png או .gif, והוא ייחשף לדפדפן כשם הנכס, אבל הוא לא חייב להיות זהה לשם הקובץ המקורי. הערה: יכול להיות שמערכת Campaign Manager 360 תשנה את השם כדי שיהיה ייחודי בשרת. צריך לבדוק את הערך המוחזר כדי לראות אם הוא השתנה.
    • הנכס type, שמזהה את סוג הנכס. המאפיין הזה יקבע את סוגי נכסי הקריאייטיב שאפשר לשייך לנכס הזה.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.Name = Path.GetFileName(assetFile);
    assetId.Type = assetType;
    
  2. העלה את הקובץ על ידי קריאה ל-creativeAssets.insert(). מבצעים העלאה מרובת חלקים ומעבירים גם את assetIdentifier וגם את תוכן הקובץ כחלק מאותה בקשה. אם הפעולה בוצעה בהצלחה, יוחזר משאב של CreativeAsset עם assetIdentifier שישמש להקצאת הנכס הזה לקריאייטיב.

    // 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. יוצרים אובייקט assetIdentifier ומגדירים את המאפיינים הנדרשים. לכל הנכסים, ללא קשר לסוג שלהם או לאופן השימוש בהם, חובה לציין assetIdentifier. כשמקצים את הנכס לקריאייטיב, האובייקט הזה ישמש להפניה חוזרת לנכס. המאפיינים הבאים נדרשים:

    • המאפיין name, שיהיה שם הנכס בשרת. השם חייב לכלול סיומת שמציינת את סוג הקובץ, כמו .png או .gif, והוא ייחשף לדפדפן כשם הנכס, אבל הוא לא חייב להיות זהה לשם הקובץ המקורי. הערה: יכול להיות שמערכת Campaign Manager 360 תשנה את השם כדי שיהיה ייחודי בשרת. צריך לבדוק את הערך המוחזר כדי לראות אם הוא השתנה.
    • הנכס type, שמזהה את סוג הנכס. המאפיין הזה יקבע את סוגי נכסי הקריאייטיב שאפשר לשייך לנכס הזה.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.setName(assetName);
    assetId.setType(assetType);
    
  2. העלה את הקובץ על ידי קריאה ל-creativeAssets.insert(). מבצעים העלאה מרובת חלקים ומעבירים גם את assetIdentifier וגם את תוכן הקובץ כחלק מאותה בקשה. אם הפעולה בוצעה בהצלחה, יוחזר משאב של CreativeAsset עם assetIdentifier שישמש להקצאת הנכס הזה לקריאייטיב.

    // 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. יוצרים אובייקט assetIdentifier ומגדירים את המאפיינים הנדרשים. לכל הנכסים, ללא קשר לסוג שלהם או לאופן השימוש בהם, חובה לציין assetIdentifier. כשמקצים את הנכס לקריאייטיב, האובייקט הזה ישמש להפניה חוזרת לנכס. המאפיינים הבאים נדרשים:

    • המאפיין name, שיהיה שם הנכס בשרת. השם חייב לכלול סיומת שמציינת את סוג הקובץ, כמו .png או .gif, והוא ייחשף לדפדפן כשם הנכס, אבל הוא לא חייב להיות זהה לשם הקובץ המקורי. הערה: יכול להיות שמערכת Campaign Manager 360 תשנה את השם כדי שיהיה ייחודי בשרת. צריך לבדוק את הערך המוחזר כדי לראות אם הוא השתנה.
    • הנכס type, שמזהה את סוג הנכס. המאפיין הזה יקבע את סוגי נכסי הקריאייטיב שאפשר לשייך לנכס הזה.
    $assetId = new Google_Service_Dfareporting_CreativeAssetId();
    $assetId->setName($asset['name']);
    $assetId->setType($type);
    
  2. העלה את הקובץ על ידי קריאה ל-creativeAssets.insert(). מבצעים העלאה מרובת חלקים ומעבירים גם את assetIdentifier וגם את תוכן הקובץ כחלק מאותה בקשה. אם הפעולה בוצעה בהצלחה, יוחזר משאב של CreativeAsset עם assetIdentifier שישמש להקצאת הנכס הזה לקריאייטיב.

    $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. יוצרים אובייקט assetIdentifier ומגדירים את המאפיינים הנדרשים. לכל הנכסים, ללא קשר לסוג שלהם או לאופן השימוש בהם, חובה לציין assetIdentifier. כשמקצים את הנכס לקריאייטיב, האובייקט הזה ישמש להפניה חוזרת לנכס. המאפיינים הבאים נדרשים:

    • המאפיין name, שיהיה שם הנכס בשרת. השם חייב לכלול סיומת שמציינת את סוג הקובץ, כמו .png או .gif, והוא ייחשף לדפדפן כשם הנכס, אבל הוא לא חייב להיות זהה לשם הקובץ המקורי. הערה: יכול להיות שמערכת Campaign Manager 360 תשנה את השם כדי שיהיה ייחודי בשרת. צריך לבדוק את הערך המוחזר כדי לראות אם הוא השתנה.
    • הנכס type, שמזהה את סוג הנכס. המאפיין הזה יקבע את סוגי נכסי הקריאייטיב שאפשר לשייך לנכס הזה.
    # Construct the creative asset metadata
    creative_asset = {'assetIdentifier': {'name': asset_name, 'type': asset_type}}
    
  2. העלה את הקובץ על ידי קריאה ל-creativeAssets.insert(). מבצעים העלאה מרובת חלקים ומעבירים גם את assetIdentifier וגם את תוכן הקובץ כחלק מאותה בקשה. אם הפעולה בוצעה בהצלחה, יוחזר משאב של CreativeAsset עם assetIdentifier שישמש להקצאת הנכס הזה לקריאייטיב.

    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. יוצרים אובייקט assetIdentifier ומגדירים את המאפיינים הנדרשים. לכל הנכסים, ללא קשר לסוג שלהם או לאופן השימוש בהם, חובה לציין assetIdentifier. כשמקצים את הנכס לקריאייטיב, האובייקט הזה ישמש להפניה חוזרת לנכס. המאפיינים הבאים נדרשים:

    • המאפיין name, שיהיה שם הנכס בשרת. השם חייב לכלול סיומת שמציינת את סוג הקובץ, כמו .png או .gif, והוא ייחשף לדפדפן כשם הנכס, אבל הוא לא חייב להיות זהה לשם הקובץ המקורי. הערה: יכול להיות שמערכת Campaign Manager 360 תשנה את השם כדי שיהיה ייחודי בשרת. צריך לבדוק את הערך המוחזר כדי לראות אם הוא השתנה.
    • הנכס type, שמזהה את סוג הנכס. המאפיין הזה יקבע את סוגי נכסי הקריאייטיב שאפשר לשייך לנכס הזה.
    # 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. העלה את הקובץ על ידי קריאה ל-creativeAssets.insert(). מבצעים העלאה מרובת חלקים ומעבירים גם את assetIdentifier וגם את תוכן הקובץ כחלק מאותה בקשה. אם הפעולה בוצעה בהצלחה, יוחזר משאב של CreativeAsset עם assetIdentifier שישמש להקצאת הנכס הזה לקריאייטיב.

    # 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
    )
    

יצירת קריאייטיב

אובייקט Creative מקיף נכס קיים. אפשר ליצור Creative אובייקטים מסוגי קריאייטיב שונים, בהתאם לאופן השימוש שלך בנכסי הקריאייטיב בדף המארח. עיינו במסמכי התיעוד כדי לקבוע איזה סוג מתאים לכם.

הדוגמה הבאה ממחישה איך ליצור קריאייטיב חדש לרשת המדיה בפורמט HTML5.

C#

  1. מעלים את הנכסים. לקריאייטיבים שונים נדרשים סוגים שונים של נכסים ובכמויות שונות. לפרטים נוספים, אפשר לעיין במאמר בנושא העלאת נכסים. בכל פעם שתעלו נכס בהצלחה, תקבלו את הערך assetIdenfitier בתגובה. עליכם להשתמש בשם ובסוג הקובץ שנשמרו כדי להפנות לנכסים האלה בקריאייטיב שלכם, במקום מזהה מסורתי.
  2. יוצרים קריאייטיב ולהקצות ערכים מתאימים. יוצרים אובייקט Creative ומגדירים את ה-type המתאים. לא ניתן לשנות את סוג האובייקט Creative אחרי ששומרים אותו. צריך לציין את הנכסים לפי AssetIdentifier וה-role שלהם.
    // 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. שומרים את הקריאייטיב. כדי לעשות זאת, מתקשרים אל creatives.insert(). יש לציין מזהה מפרסם שאליו ישויך הקריאייטיב הזה.
    Creative result = service.Creatives.Insert(creative, profileId).Execute();
    
  4. (אופציונלי) משייכים את הקריאייטיב לקמפיין. כדי לעשות זאת, צריך להפעיל את campaignCreativeAssociations.insert() ולהעביר את מזהי הקמפיין והקריאייטיב.
    // 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. מעלים את הנכסים. לקריאייטיבים שונים נדרשים סוגים שונים של נכסים ובכמויות שונות. לפרטים נוספים, אפשר לעיין במאמר בנושא העלאת נכסים. בכל פעם שתעלו נכס בהצלחה, תקבלו את הערך assetIdenfitier בתגובה. עליכם להשתמש בשם ובסוג הקובץ שנשמרו כדי להפנות לנכסים האלה בקריאייטיב שלכם, במקום מזהה מסורתי.
  2. יוצרים קריאייטיב ולהקצות ערכים מתאימים. יוצרים אובייקט Creative ומגדירים את ה-type המתאים. לא ניתן לשנות את סוג האובייקט Creative אחרי ששומרים אותו. צריך לציין את הנכסים לפי AssetIdentifier וה-role שלהם.
    // 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. שומרים את הקריאייטיב. כדי לעשות זאת, מתקשרים אל creatives.insert(). יש לציין מזהה מפרסם שאליו ישויך הקריאייטיב הזה.
    Creative result = reporting.creatives().insert(profileId, creative).execute();
    
  4. (אופציונלי) משייכים את הקריאייטיב לקמפיין. כדי לעשות זאת, צריך להפעיל את campaignCreativeAssociations.insert() ולהעביר את מזהי הקמפיין והקריאייטיב.
    // 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. מעלים את הנכסים. לקריאייטיבים שונים נדרשים סוגים שונים של נכסים ובכמויות שונות. לפרטים נוספים, אפשר לעיין במאמר בנושא העלאת נכסים. בכל פעם שתעלו נכס בהצלחה, תקבלו את הערך assetIdenfitier בתגובה. עליכם להשתמש בשם ובסוג הקובץ שנשמרו כדי להפנות לנכסים האלה בקריאייטיב שלכם, במקום מזהה מסורתי.
  2. יוצרים קריאייטיב ולהקצות ערכים מתאימים. יוצרים אובייקט Creative ומגדירים את ה-type המתאים. לא ניתן לשנות את סוג האובייקט Creative אחרי ששומרים אותו. צריך לציין את הנכסים לפי AssetIdentifier וה-role שלהם.
    $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. שומרים את הקריאייטיב. כדי לעשות זאת, מתקשרים אל creatives.insert(). יש לציין מזהה מפרסם שאליו ישויך הקריאייטיב הזה.
    $result = $this->service->creatives->insert(
        $values['user_profile_id'],
        $creative
    );
    
  4. (אופציונלי) משייכים את הקריאייטיב לקמפיין. כדי לעשות זאת, צריך להפעיל את campaignCreativeAssociations.insert() ולהעביר את מזהי הקמפיין והקריאייטיב.
    $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. מעלים את הנכסים. לקריאייטיבים שונים נדרשים סוגים שונים של נכסים ובכמויות שונות. לפרטים נוספים, אפשר לעיין במאמר בנושא העלאת נכסים. בכל פעם שתעלו נכס בהצלחה, תקבלו את הערך assetIdenfitier בתגובה. עליכם להשתמש בשם ובסוג הקובץ שנשמרו כדי להפנות לנכסים האלה בקריאייטיב שלכם, במקום מזהה מסורתי.
  2. יוצרים קריאייטיב ולהקצות ערכים מתאימים. יוצרים אובייקט Creative ומגדירים את ה-type המתאים. לא ניתן לשנות את סוג האובייקט Creative אחרי ששומרים אותו. צריך לציין את הנכסים לפי AssetIdentifier וה-role שלהם.
    # 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. שומרים את הקריאייטיב. כדי לעשות זאת, מתקשרים אל creatives.insert(). יש לציין מזהה מפרסם שאליו ישויך הקריאייטיב הזה.
    request = service.creatives().insert(profileId=profile_id, body=creative)
    
    # Execute request and print response.
    response = request.execute()
    
  4. (אופציונלי) משייכים את הקריאייטיב לקמפיין. כדי לעשות זאת, צריך להפעיל את campaignCreativeAssociations.insert() ולהעביר את מזהי הקמפיין והקריאייטיב.
    # 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. מעלים את הנכסים. לקריאייטיבים שונים נדרשים סוגים שונים של נכסים ובכמויות שונות. לפרטים נוספים, אפשר לעיין במאמר בנושא העלאת נכסים. בכל פעם שתעלו נכס בהצלחה, תקבלו את הערך assetIdenfitier בתגובה. עליכם להשתמש בשם ובסוג הקובץ שנשמרו כדי להפנות לנכסים האלה בקריאייטיב שלכם, במקום מזהה מסורתי.
  2. יוצרים קריאייטיב ולהקצות ערכים מתאימים. יוצרים אובייקט Creative ומגדירים את ה-type המתאים. לא ניתן לשנות את סוג האובייקט Creative אחרי ששומרים אותו. צריך לציין את הנכסים לפי AssetIdentifier וה-role שלהם.
    # 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. שומרים את הקריאייטיב. כדי לעשות זאת, מתקשרים אל creatives.insert(). יש לציין מזהה מפרסם שאליו ישויך הקריאייטיב הזה.
    # Insert the creative.
    result = service.insert_creative(profile_id, creative)
    
  4. (אופציונלי) משייכים את הקריאייטיב לקמפיין. כדי לעשות זאת, צריך להפעיל את campaignCreativeAssociations.insert() ולהעביר את מזהי הקמפיין והקריאייטיב.
    # 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)
    

יצירת מודעה

Ad הוא הקישור בין Creative לבין Placement. ניתן לקשר Ad למיקום אחד או יותר, והוא כולל קריאייטיב אחד או יותר.

אפשר ליצור Ad באופן מפורש או מרומז.

באופן מפורש

C#

  1. צריך ליצור אובייקט CreativeAssignment לכל קריאייטיב שאליו המודעה צריכה להיות משויכת. חשוב להגדיר את השדה CreativeAssignment.active כ-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. יוצרים אובייקט CreativeRotation כדי לאחסן את רכיבי ה-CreativeAssignment. אם אתם יוצרים קבוצה לרוטציה, חשוב להגדיר את השדות הנדרשים האחרים לסבב קריאייטיב.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.CreativeAssignments = new List<CreativeAssignment>() {
        creativeAssignment
    };
    
  3. צריך ליצור אובייקט PlacementAssignment לכל מיקום מודעה שאליו המודעה צריכה להיות משויכת. חשוב להגדיר את השדה PlacementAssignment.active כ-True.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.Active = true;
    placementAssignment.PlacementId = placementId;
    
  4. יוצרים אובייקט Ad. מגדירים את CreativeRotation בשדה creativeRotation של האובייקט Ad ואת ההקצאות (placements) למערך placementAssignments של האובייקט 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. כדי לשמור את המודעה, מתקשרים אל ads.insert().
    // Insert the rotation group.
    Ad result = service.Ads.Insert(rotationGroup, profileId).Execute();
    

Java

  1. צריך ליצור אובייקט CreativeAssignment לכל קריאייטיב שאליו המודעה צריכה להיות משויכת. חשוב להגדיר את השדה CreativeAssignment.active כ-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. יוצרים אובייקט CreativeRotation כדי לאחסן את רכיבי ה-CreativeAssignment. אם אתם יוצרים קבוצה לרוטציה, חשוב להגדיר את השדות הנדרשים האחרים לסבב קריאייטיב.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.setCreativeAssignments(ImmutableList.of(creativeAssignment));
    
  3. צריך ליצור אובייקט PlacementAssignment לכל מיקום מודעה שאליו המודעה צריכה להיות משויכת. חשוב להגדיר את השדה PlacementAssignment.active כ-True.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.setActive(true);
    placementAssignment.setPlacementId(placementId);
    
  4. יוצרים אובייקט Ad. מגדירים את CreativeRotation בשדה creativeRotation של האובייקט Ad ואת ההקצאות (placements) למערך placementAssignments של האובייקט 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. כדי לשמור את המודעה, מתקשרים אל ads.insert().
    // Insert the rotation group.
    Ad result = reporting.ads().insert(profileId, rotationGroup).execute();
    

PHP

  1. צריך ליצור אובייקט CreativeAssignment לכל קריאייטיב שאליו המודעה צריכה להיות משויכת. חשוב להגדיר את השדה CreativeAssignment.active כ-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. יוצרים אובייקט CreativeRotation כדי לאחסן את רכיבי ה-CreativeAssignment. אם אתם יוצרים קבוצה לרוטציה, חשוב להגדיר את השדות הנדרשים האחרים לסבב קריאייטיב.
    // Create a creative rotation.
    $creativeRotation = new Google_Service_Dfareporting_CreativeRotation();
    $creativeRotation->setCreativeAssignments([$creativeAssignment]);
    
  3. צריך ליצור אובייקט PlacementAssignment לכל מיקום מודעה שאליו המודעה צריכה להיות משויכת. חשוב להגדיר את השדה PlacementAssignment.active כ-True.
    // Create a placement assignment.
    $placementAssignment =
        new Google_Service_Dfareporting_PlacementAssignment();
    $placementAssignment->setActive(true);
    $placementAssignment->setPlacementId($values['placement_id']);
    
  4. יוצרים אובייקט Ad. מגדירים את CreativeRotation בשדה creativeRotation של האובייקט Ad ואת ההקצאות (placements) למערך placementAssignments של האובייקט 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. כדי לשמור את המודעה, מתקשרים אל ads.insert().
    $result = $this->service->ads->insert($values['user_profile_id'], $ad);
    

Python

  1. צריך ליצור אובייקט CreativeAssignment לכל קריאייטיב שאליו המודעה צריכה להיות משויכת. חשוב להגדיר את השדה CreativeAssignment.active כ-True.
    # Construct creative assignment.
    creative_assignment = {
        'active': 'true',
        'creativeId': creative_id,
        'clickThroughUrl': {
            'defaultLandingPage': 'true'
        }
    }
    
  2. יוצרים אובייקט CreativeRotation כדי לאחסן את רכיבי ה-CreativeAssignment. אם אתם יוצרים קבוצה לרוטציה, חשוב להגדיר את השדות הנדרשים האחרים לסבב קריאייטיב.
    # Construct creative rotation.
    creative_rotation = {
        'creativeAssignments': [creative_assignment],
        'type': 'CREATIVE_ROTATION_TYPE_RANDOM',
        'weightCalculationStrategy': 'WEIGHT_STRATEGY_OPTIMIZED'
    }
    
  3. צריך ליצור אובייקט PlacementAssignment לכל מיקום מודעה שאליו המודעה צריכה להיות משויכת. חשוב להגדיר את השדה PlacementAssignment.active כ-True.
    # Construct placement assignment.
    placement_assignment = {
        'active': 'true',
        'placementId': placement_id,
    }
    
  4. יוצרים אובייקט Ad. מגדירים את CreativeRotation בשדה creativeRotation של האובייקט Ad ואת ההקצאות (placements) למערך placementAssignments של האובייקט 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. כדי לשמור את המודעה, מתקשרים אל ads.insert().
    request = service.ads().insert(profileId=profile_id, body=ad)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. צריך ליצור אובייקט CreativeAssignment לכל קריאייטיב שאליו המודעה צריכה להיות משויכת. חשוב להגדיר את השדה CreativeAssignment.active כ-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. יוצרים אובייקט CreativeRotation כדי לאחסן את רכיבי ה-CreativeAssignment. אם אתם יוצרים קבוצה לרוטציה, חשוב להגדיר את השדות הנדרשים האחרים לסבב קריאייטיב.
    # 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. צריך ליצור אובייקט PlacementAssignment לכל מיקום מודעה שאליו המודעה צריכה להיות משויכת. חשוב להגדיר את השדה PlacementAssignment.active כ-True.
    # Construct placement assignment.
    placement_assignment =
      DfareportingUtils::API_NAMESPACE::PlacementAssignment.new(
        active: true,
        placement_id: placement_id
      )
    
  4. יוצרים אובייקט Ad. מגדירים את CreativeRotation בשדה creativeRotation של האובייקט Ad ואת ההקצאות (placements) למערך placementAssignments של האובייקט 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. כדי לשמור את המודעה, מתקשרים אל ads.insert().
    result = service.insert_ad(profile_id, ad)
    

מרומז

C#

  1. יוצרים ושומרים Placement.
  2. יוצרים ושומרים Creative.
  3. משייכים את Creative לאותו Campaign ששימש ל-Placement על ידי קריאה אל campaignCreativeAssociations.insert() (ראו שלב 4 בקטע יצירת קריאייטיב). פעולה זו תיצור מודעת ברירת מחדל המשויכת גם לקריאייטיב וגם למיקום.
    // 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. יוצרים ושומרים Placement.
  2. יוצרים ושומרים Creative.
  3. משייכים את Creative לאותו Campaign ששימש ל-Placement על ידי קריאה אל campaignCreativeAssociations.insert() (ראו שלב 4 בקטע יצירת קריאייטיב). פעולה זו תיצור מודעת ברירת מחדל המשויכת גם לקריאייטיב וגם למיקום.
    // 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. יוצרים ושומרים Placement.
  2. יוצרים ושומרים Creative.
  3. משייכים את Creative לאותו Campaign ששימש ל-Placement על ידי קריאה אל campaignCreativeAssociations.insert() (ראו שלב 4 בקטע יצירת קריאייטיב). פעולה זו תיצור מודעת ברירת מחדל המשויכת גם לקריאייטיב וגם למיקום.
    $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. יוצרים ושומרים Placement.
  2. יוצרים ושומרים Creative.
  3. משייכים את Creative לאותו Campaign ששימש ל-Placement על ידי קריאה אל campaignCreativeAssociations.insert() (ראו שלב 4 בקטע יצירת קריאייטיב). פעולה זו תיצור מודעת ברירת מחדל המשויכת גם לקריאייטיב וגם למיקום.
    # 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. יוצרים ושומרים Placement.
  2. יוצרים ושומרים Creative.
  3. משייכים את Creative לאותו Campaign ששימש ל-Placement על ידי קריאה אל campaignCreativeAssociations.insert() (ראו שלב 4 בקטע יצירת קריאייטיב). פעולה זו תיצור מודעת ברירת מחדל המשויכת גם לקריאייטיב וגם למיקום.
    # 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)
    

יצירת מודעה חוסכת באופן לא מפורש את השלב הנוסף של יצירת Ad. שים לב שאפשר לעשות זאת רק אם לא קיימת כבר מודעת ברירת מחדל בגודל שצוין בקמפיין.

חיפוש אובייקטים

ניתן לחפש אובייקטים על ידי קריאה לפעולה list() שנחשפה על ידי השירות שמגדיר את האובייקט שצריך לחפש, תוך ציון קריטריונים אופציונליים שמתאימים לסוג האובייקט הזה. לדוגמה, כדי לחפש אובייקטים של מודעות, צריך לקרוא לפונקציה ads.list(). הקריטריונים האופציונליים חושפים קבוצה של מאפיינים המתאימים לאובייקט זה. מלאו כמה מאפיינים שתרצו לחפש. החיפוש יחזיר רק אובייקטים שעומדים בכל הקריטריונים שלכם. לא ניתן לבצע חיפוש שתואם לאף אחד מהקריטריונים. המחרוזות תומכות בתו הכללי לחיפוש *, אינן תלויות אותיות רישיות (case-sensitive) והן תואמות בתוך מחרוזות גדולות יותר.

כדי לשפר את הביצועים, אפשר לבקש תשובות חלקיות באמצעות הפרמטר fields. פעולה זו מורה לשרת להחזיר רק את השדות שאתם מציינים, ולא את הייצוג המלא של המשאבים. מידע נוסף בנושא זה זמין במדריך טיפים לשיפור ביצועים.

חלוקה לדפים

לפעמים לא רצוי לאחזר את כל התוצאות של בקשת list(). לדוגמה, יכול להיות שאתם מעוניינים רק ב-10 המודעות החדשות ביותר מתוך מאגר של אלפים. כדי לעזור בכך, שיטות רבות של list() מאפשרות לבקש פחות תוצאות באמצעות תהליך שנקרא דפדוף.

שיטות שתומכות בהצגה של קבוצות משנה של תוצאות בחלוקה לקבוצות שנקראות דפים. מספר התוצאות המקסימלי לדף הוא 1,000 (ברירת המחדל). אפשר לשנות את מספר התוצאות לכל דף על ידי הגדרת maxResults, ואפשר לחזור על דפים באמצעות nextPageToken שהוחזרו בתגובה:

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

יצירת תגי Floodlight

תגי Floodlight הם תגי HTML שמוטמעים בדף ומשמשים למעקב אחר פעולות של משתמשים (למשל רכישות) באתר. כדי ליצור תגי Floodlight, צריך FloodlightActivity ששייך ל-FloodlightActivityGroup:

C#

  1. יוצרים קבוצת פעילות חדשה ב-Floodlight ומעבירים ערכים עבור name, type ו-floodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.Name = groupName;
    floodlightActivityGroup.FloodlightConfigurationId = floodlightConfigurationId;
    floodlightActivityGroup.Type = "COUNTER";
    
  2. כדי לשמור את קבוצת הפעילות ב-Floodlight, מתקשרים אל floodlightActivityGroups.insert() ותחזיר את המזהה של הקבוצה החדשה.
    // Insert the activity group.
    FloodlightActivityGroup result =
        service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
    
  3. יוצרים פעילות חדשה ב-Floodlight ומקצים לה את המזהה של קבוצת הפעילות ב-Floodlight שיצרתם כרגע, וגם את כל שדות החובה האחרים.
    // 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. כדי לשמור את הפעילות החדשה, צריך להתקשר אל floodlightActivities.insert(). הפעולה הזו תחזיר את המזהה של הפעילות החדשה.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        service.FloodlightActivities.Insert(activity, profileId).Execute();
    
  5. כדי ליצור את התגים, צריך להפעיל את floodlightActivities.generatetag() עם ה-floodlightActivityId של הפעילות החדשה. שולחים את התגים למנהל האתר באתר של המפרסם.
    // Generate the floodlight activity tag.
    FloodlightActivitiesResource.GeneratetagRequest request =
        service.FloodlightActivities.Generatetag(profileId);
    request.FloodlightActivityId = activityId;
    
    FloodlightActivitiesGenerateTagResponse response = request.Execute();
    

Java

  1. יוצרים קבוצת פעילות חדשה ב-Floodlight ומעבירים ערכים עבור name, type ו-floodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.setName(groupName);
    floodlightActivityGroup.setFloodlightConfigurationId(floodlightConfigurationId);
    floodlightActivityGroup.setType("COUNTER");
    
  2. כדי לשמור את קבוצת הפעילות ב-Floodlight, מתקשרים אל floodlightActivityGroups.insert() ותחזיר את המזהה של הקבוצה החדשה.
    // Insert the activity group.
    FloodlightActivityGroup result =
        reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
    
  3. יוצרים פעילות חדשה ב-Floodlight ומקצים לה את המזהה של קבוצת הפעילות ב-Floodlight שיצרתם כרגע, וגם את כל שדות החובה האחרים.
    // 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. כדי לשמור את הפעילות החדשה, צריך להתקשר אל floodlightActivities.insert(). הפעולה הזו תחזיר את המזהה של הפעילות החדשה.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        reporting.floodlightActivities().insert(profileId, activity).execute();
    
  5. כדי ליצור את התגים, צריך להפעיל את floodlightActivities.generatetag() עם ה-floodlightActivityId של הפעילות החדשה. שולחים את התגים למנהל האתר באתר של המפרסם.
    // Generate the floodlight activity tag.
    Generatetag request = reporting.floodlightActivities().generatetag(profileId);
    request.setFloodlightActivityId(activityId);
    
    FloodlightActivitiesGenerateTagResponse response = request.execute();
    

PHP

  1. יוצרים קבוצת פעילות חדשה ב-Floodlight ומעבירים ערכים עבור name, type ו-floodlightConfigurationId.
    $group = new Google_Service_Dfareporting_FloodlightActivityGroup();
    $group->setFloodlightConfigurationId($values['configuration_id']);
    $group->setName($values['group_name']);
    $group->setType('COUNTER');
    
  2. כדי לשמור את קבוצת הפעילות ב-Floodlight, מתקשרים אל floodlightActivityGroups.insert() ותחזיר את המזהה של הקבוצה החדשה.
    $result = $this->service->floodlightActivityGroups->insert(
        $values['user_profile_id'],
        $group
    );
    
  3. יוצרים פעילות חדשה ב-Floodlight ומקצים לה את המזהה של קבוצת הפעילות ב-Floodlight שיצרתם כרגע, וגם את כל שדות החובה האחרים.
    $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. כדי לשמור את הפעילות החדשה, צריך להתקשר אל floodlightActivities.insert(). הפעולה הזו תחזיר את המזהה של הפעילות החדשה.
    $result = $this->service->floodlightActivities->insert(
        $values['user_profile_id'],
        $activity
    );
    
  5. כדי ליצור את התגים, צריך להפעיל את floodlightActivities.generatetag() עם ה-floodlightActivityId של הפעילות החדשה. שולחים את התגים למנהל האתר באתר של המפרסם.
    $result = $this->service->floodlightActivities->generatetag(
        $values['user_profile_id'],
        ['floodlightActivityId' => $values['activity_id']]
    );
    

Python

  1. יוצרים קבוצת פעילות חדשה ב-Floodlight ומעבירים ערכים עבור name, type ו-floodlightConfigurationId.
    # Construct and save floodlight activity group.
    activity_group = {
        'name': 'Test Floodlight Activity Group',
        'floodlightConfigurationId': floodlight_config_id,
        'type': 'COUNTER'
    }
    
  2. כדי לשמור את קבוצת הפעילות ב-Floodlight, מתקשרים אל floodlightActivityGroups.insert() ותחזיר את המזהה של הקבוצה החדשה.
    request = service.floodlightActivityGroups().insert(
        profileId=profile_id, body=activity_group)
    
  3. יוצרים פעילות חדשה ב-Floodlight ומקצים לה את המזהה של קבוצת הפעילות ב-Floodlight שיצרתם כרגע, וגם את כל שדות החובה האחרים.
    # 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. כדי לשמור את הפעילות החדשה, צריך להתקשר אל floodlightActivities.insert(). הפעולה הזו תחזיר את המזהה של הפעילות החדשה.
    request = service.floodlightActivities().insert(
        profileId=profile_id, body=floodlight_activity)
    
  5. כדי ליצור את התגים, צריך להפעיל את floodlightActivities.generatetag() עם ה-floodlightActivityId של הפעילות החדשה. שולחים את התגים למנהל האתר באתר של המפרסם.
    # Construct the request.
    request = service.floodlightActivities().generatetag(
        profileId=profile_id, floodlightActivityId=activity_id)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. יוצרים קבוצת פעילות חדשה ב-Floodlight ומעבירים ערכים עבור name, type ו-floodlightConfigurationId.
    # 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. כדי לשמור את קבוצת הפעילות ב-Floodlight, מתקשרים אל floodlightActivityGroups.insert() ותחזיר את המזהה של הקבוצה החדשה.
    # Insert the floodlight activity group.
    result = service.insert_floodlight_activity_group(profile_id, activity_group)
    
  3. יוצרים פעילות חדשה ב-Floodlight ומקצים לה את המזהה של קבוצת הפעילות ב-Floodlight שיצרתם כרגע, וגם את כל שדות החובה האחרים.
    # 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. כדי לשמור את הפעילות החדשה, צריך להתקשר אל floodlightActivities.insert(). הפעולה הזו תחזיר את המזהה של הפעילות החדשה.
    # Insert the floodlight activity.
    result = service.insert_floodlight_activity(profile_id, activity)
    
  5. כדי ליצור את התגים, צריך להפעיל את floodlightActivities.generatetag() עם ה-floodlightActivityId של הפעילות החדשה. שולחים את התגים למנהל האתר באתר של המפרסם.
    # Construct the request.
    result = service.generatetag_floodlight_activity(profile_id,
      floodlight_activity_id: activity_id)
    

יצירת תגי מיקום

השלב האחרון הוא יצירת תגי HTML לשליחה לבעל האתר לצורך הצגת המודעות שלך. כדי ליצור את התגים באמצעות ה-API, צריך לשלוח בקשה אל placements.generatetags() ולציין קבוצה של placementIds ו-tagFormats.

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])