وظایف مشترک قاچاق

این صفحه نحوه انجام برخی از رایج‌ترین وظایف مربوط به قاچاق را با استفاده از API گزارش‌دهی و قاچاق DCM/DFA شرح می‌دهد.

نکات عمومی کدنویسی

  • ویژگی‌ها و پارامترهای الزامی و اختیاری - برای اطلاع از اینکه آیا یک ویژگی یا پارامتر برای فراخوانی API الزامی است یا خیر، به مستندات مرجع مراجعه کنید.
  • جستجوی نام‌های وایلدکارد - می‌توانید هنگام جستجوی نام اشیاء از وایلدکارد ستاره (*) استفاده کنید. یک ستاره با صفر یا بیشتر از هر کاراکتری مطابقت دارد. API همچنین از جستجوی ضمنی زیررشته پشتیبانی می‌کند، بنابراین جستجوی "abc" به طور ضمنی "*abc*" را جستجو می‌کند.
  • به‌روزرسانی در مقابل وصله‌گذاری - برای تغییر یک شیء موجود، دو گزینه دارید:
    1. به‌روزرسانی - هنگام به‌روزرسانی یک شیء، تمام فیلدها در هنگام درج بازنویسی می‌شوند. بارگذاری شیء مورد نظر برای به‌روزرسانی و ایجاد هرگونه تغییر در آن شیء بسیار مهم است. در غیر این صورت، هر فیلدی که در درخواست به‌روزرسانی وجود نداشته باشد، غیرفعال خواهد شد.
    2. وصله‌گذاری - هنگام وصله‌گذاری، فقط فیلدهای مشخص‌شده در هنگام درج، بازنویسی می‌شوند. در این حالت، می‌توانید یک شیء جدید ایجاد کنید، همان شناسه شیء مورد نظر برای به‌روزرسانی را به آن اختصاص دهید، فیلدهای مورد نظر برای به‌روزرسانی را تنظیم کنید و درخواست وصله‌گذاری را اجرا کنید.
  • اندازه‌ها - ابعاد فیزیکی توسط یک شیء Size که توسط سرویس sizes تعریف شده است، نمایش داده می‌شوند. این حساب مجموعه‌ای از اندازه‌های استاندارد را ارائه می‌دهد و شما می‌توانید اندازه‌های سفارشی خود را به این لیست اضافه کنید.
  • تاریخ و زمان - شما می‌توانید تاریخ‌ها/زمان‌ها را با فرمت RFC 3339 و با استفاده از مناطق زمانی محلی ذخیره کنید؛ تمام مقادیر برگردانده شده توسط API بر حسب UTC هستند. این با وب‌سایتی که تاریخ‌ها و زمان‌ها در منطقه زمانی پیکربندی شده شما (زمان آمریکا/نیویورک، به طور پیش‌فرض) نشان داده می‌شوند، متفاوت است.

ایجاد یک تبلیغ کننده

سی شارپ

  1. یک شیء Advertiser ایجاد کنید و نام و ویژگی‌های وضعیت مورد نیاز آن را تنظیم کنید.
    // 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();

جاوا

  1. یک شیء Advertiser ایجاد کنید و نام و ویژگی‌های وضعیت مورد نیاز آن را تنظیم کنید.
    // 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();

پی اچ پی

  1. یک شیء Advertiser ایجاد کنید و نام و ویژگی‌های وضعیت مورد نیاز آن را تنظیم کنید.
    $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
    );

پایتون

  1. یک شیء Advertiser ایجاد کنید و نام و ویژگی‌های وضعیت مورد نیاز آن را تنظیم کنید.
    # 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()

روبی

  1. یک شیء Advertiser ایجاد کنید و نام و ویژگی‌های وضعیت مورد نیاز آن را تنظیم کنید.
    # 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)

ایجاد یک کمپین

سی شارپ

  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();

جاوا

  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();

پی اچ پی

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

پایتون

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

روبی

  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)

ایجاد یک جایگاه

سی شارپ

  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();

جاوا

  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();

پی اچ پی

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

پایتون

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

روبی

  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)

بارگذاری دارایی‌ها

شما می‌توانید انواع مختلفی از دارایی‌ها را از طریق فرآیندی که به عنوان آپلود رسانه شناخته می‌شود، آپلود کنید. اگرچه این فرآیند برای همه انواع خلاق مشابه است، اما برخی از انواع ممکن است نیاز به ارسال ویژگی‌های خاصی به عنوان فراداده داشته باشند تا بتوانند به درستی استفاده شوند.

سی شارپ

  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;
    }

جاوا

  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();

پی اچ پی

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

پایتون

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

روبی

  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 را نشان می‌دهد.

سی شارپ

  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();

جاوا

  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();

پی اچ پی

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

پایتون

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

روبی

  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 به صورت صریح یا ضمنی ایجاد کنید.

صریحاً

سی شارپ

  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 و placementAssignments را در آرایه 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();

جاوا

  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 و placementAssignments را در آرایه 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();

پی اچ پی

  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 و placementAssignments را در آرایه 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);

پایتون

  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 و placementAssignments را در آرایه 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()

روبی

  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 و placementAssignments را در آرایه 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)

به طور ضمنی

سی شارپ

  1. یک Placement ایجاد و ذخیره کنید.
  2. یک Creative ایجاد و ذخیره کنید.
  3. با فراخوانی campaignCreativeAssociations.insert() (به مرحله ۴ در بخش ایجاد یک تبلیغ خلاقانه مراجعه کنید)، تبلیغ Creative با همان Campaign که برای تبلیغ Placement استفاده شده است، مرتبط کنید. این کار یک تبلیغ پیش‌فرض مرتبط با تبلیغ خلاقانه و جایگاه ایجاد می‌کند.
    // 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();

جاوا

  1. یک Placement ایجاد و ذخیره کنید.
  2. یک Creative ایجاد و ذخیره کنید.
  3. با فراخوانی campaignCreativeAssociations.insert() (به مرحله ۴ در بخش ایجاد یک تبلیغ خلاقانه مراجعه کنید)، تبلیغ Creative با همان Campaign که برای تبلیغ Placement استفاده شده است، مرتبط کنید. این کار یک تبلیغ پیش‌فرض مرتبط با تبلیغ خلاقانه و جایگاه ایجاد می‌کند.
    // 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();

پی اچ پی

  1. یک Placement ایجاد و ذخیره کنید.
  2. یک Creative ایجاد و ذخیره کنید.
  3. با فراخوانی campaignCreativeAssociations.insert() (به مرحله ۴ در بخش ایجاد یک تبلیغ خلاقانه مراجعه کنید)، تبلیغ Creative با همان Campaign که برای تبلیغ Placement استفاده شده است، مرتبط کنید. این کار یک تبلیغ پیش‌فرض مرتبط با تبلیغ خلاقانه و جایگاه ایجاد می‌کند.
    $association =
        new Google_Service_Dfareporting_CampaignCreativeAssociation();
    $association->setCreativeId($values['creative_id']);
    
    $result = $this->service->campaignCreativeAssociations->insert(
        $values['user_profile_id'],
        $values['campaign_id'],
        $association
    );

پایتون

  1. یک Placement ایجاد و ذخیره کنید.
  2. یک Creative ایجاد و ذخیره کنید.
  3. با فراخوانی campaignCreativeAssociations.insert() (به مرحله ۴ در بخش ایجاد یک تبلیغ خلاقانه مراجعه کنید)، تبلیغ Creative با همان Campaign که برای تبلیغ Placement استفاده شده است، مرتبط کنید. این کار یک تبلیغ پیش‌فرض مرتبط با تبلیغ خلاقانه و جایگاه ایجاد می‌کند.
    # 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()

روبی

  1. یک Placement ایجاد و ذخیره کنید.
  2. یک Creative ایجاد و ذخیره کنید.
  3. با فراخوانی campaignCreativeAssociations.insert() (به مرحله ۴ در بخش ایجاد یک تبلیغ خلاقانه مراجعه کنید)، تبلیغ Creative با همان Campaign که برای تبلیغ Placement استفاده شده است، مرتبط کنید. این کار یک تبلیغ پیش‌فرض مرتبط با تبلیغ خلاقانه و جایگاه ایجاد می‌کند.
    # 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() که توسط سرویسی که شیء مورد نظر برای یافتن را تعریف می‌کند، اشیاء را جستجو کنید و معیارهای اختیاری مناسب برای آن نوع شیء را مشخص کنید. بنابراین، برای مثال، برای جستجوی اشیاء Ad، باید ads.list() را فراخوانی کنید. معیارهای اختیاری مجموعه‌ای از ویژگی‌های مناسب برای آن شیء را در معرض نمایش قرار می‌دهند؛ هر تعداد ویژگی که می‌خواهید جستجو کنید را پر کنید. جستجو فقط اشیاء را برمی‌گرداند که تمام معیارهای شما را برآورده می‌کنند. شما نمی‌توانید جستجویی انجام دهید که با هیچ معیاری مطابقت داشته باشد. رشته‌ها از علامت * پشتیبانی می‌کنند، به حروف کوچک و بزرگ حساس نیستند و با رشته‌های بزرگتر مطابقت دارند.

برای بهبود عملکرد، می‌توان با استفاده از پارامتر fields ، پاسخ‌های جزئی درخواست کرد. این به سرور دستور می‌دهد که فقط فیلدهایی را که مشخص می‌کنید، به جای نمایش کامل منبع، بازگرداند. اطلاعات بیشتر در مورد این موضوع را می‌توانید در راهنمای نکات عملکرد بیابید.

صفحه بندی

گاهی اوقات بازیابی تمام نتایج یک درخواست list() مطلوب نیست. برای مثال، ممکن است فقط به 10 مورد از جدیدترین تبلیغات از بین هزاران تبلیغ علاقه‌مند باشید. برای کمک به این امر، بسیاری از متدهای list() به شما امکان می‌دهند از طریق فرآیندی به نام صفحه‌بندی، نتایج کمتری را درخواست کنید.

متدهایی که از صفحه‌بندی پشتیبانی می‌کنند، زیرمجموعه‌هایی از نتایج را در گروه‌هایی به نام صفحات برمی‌گردانند. حداکثر تعداد نتایج در هر صفحه ۱۰۰۰ است (پیش‌فرض). می‌توانید تعداد نتایج در هر صفحه را با تنظیم maxResults تغییر دهید و می‌توانید با استفاده از nextPageToken برگردانده شده در پاسخ، صفحات را پیمایش کنید:

سی شارپ

// 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));

جاوا

// 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));

پی اچ پی

$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));

پایتون

# 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

روبی

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 تگ‌های HTML هستند که در یک صفحه تعبیه شده‌اند و برای ردیابی اقدامات کاربر (مثلاً خریدها) در یک سایت استفاده می‌شوند. برای تولید تگ‌های Floodlight، به یک FloodlightActivity نیاز دارید که متعلق به یک FloodlightActivityGroup باشد:

سی شارپ

  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();

جاوا

  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();

پی اچ پی

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

پایتون

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

روبی

  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 را مشخص کنید.

سی شارپ

// 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();

جاوا

// 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();

پی اچ پی

$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']
    ]
);

پایتون

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

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

روبی

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