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

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

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

  • ویژگی ها و پارامترهای مورد نیاز و اختیاری - برای اطلاع از اینکه آیا یک ویژگی یا پارامتر برای فراخوانی API مورد نیاز است، به مستندات مرجع مراجعه کنید.
  • جستجوی نام عام - هنگام جستجو در نام اشیا می توانید از علامت علامت ستاره (*) استفاده کنید. یک ستاره با صفر یا بیشتر از هر کاراکتری مطابقت دارد. API همچنین از جستجوی زیر رشته ای ضمنی پشتیبانی می کند، بنابراین جستجوی «abc» به طور ضمنی «*abc*» را جستجو می کند.
  • به روز رسانی در مقابل وصله - برای اصلاح یک شی موجود، دو گزینه دارید:
    1. به روز رسانی - هنگام به روز رسانی یک شی، همه فیلدها در درج بازنویسی می شوند. مهم است که شیئی را که می‌خواهید به‌روزرسانی کنید بارگیری کنید و هر تغییری در آن شیء ایجاد کنید. در غیر این صورت، هر فیلدی که در درخواست به‌روزرسانی وجود ندارد، تنظیم نمی‌شود.
    2. Patching - هنگام وصله کردن، فقط فیلدهای مشخص شده روی درج بازنویسی می شوند. در این حالت، می توانید یک شی جدید ایجاد کنید، همان شناسه شی را به آن اختصاص دهید، فیلدها را برای به روز رسانی تنظیم کنید و درخواست وصله را اجرا کنید.
  • اندازه ها - ابعاد فیزیکی با یک شی Size که توسط سرویس اندازه ها تعریف شده است نشان داده می شود. این حساب مجموعه ای از اندازه های استاندارد را ارائه می دهد و شما می توانید اندازه های سفارشی خود را به این لیست اضافه کنید.
  • تاریخ ها و زمان ها - می توانید تاریخ/زمان ها را در قالب 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();
    

PHP

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

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

پایتون

  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. با فراخوانی placements.insert() ، شی Placement را ذخیره کنید. اگر می‌خواهید از آن برای اختصاص دادن به یک آگهی یا خلاقیت استفاده کنید، حتماً شناسه برگشتی را ذخیره کنید.
    // 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. با فراخوانی placements.insert() ، شی Placement را ذخیره کنید. اگر می‌خواهید از آن برای اختصاص دادن به یک آگهی یا خلاقیت استفاده کنید، حتماً شناسه برگشتی را ذخیره کنید.
    // 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. با فراخوانی placements.insert() ، شی Placement را ذخیره کنید. اگر می‌خواهید از آن برای اختصاص دادن به یک آگهی یا خلاقیت استفاده کنید، حتماً شناسه برگشتی را ذخیره کنید.
    // 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. با فراخوانی placements.insert() ، شی Placement را ذخیره کنید. اگر می‌خواهید از آن برای اختصاص دادن به یک آگهی یا خلاقیت استفاده کنید، حتماً شناسه برگشتی را ذخیره کنید.
    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. با فراخوانی placements.insert() ، شی Placement را ذخیره کنید. اگر می‌خواهید از آن برای اختصاص دادن به یک آگهی یا خلاقیت استفاده کنید، حتماً شناسه برگشتی را ذخیره کنید.
    # 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();
    

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

پایتون

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

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

پایتون

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

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 و 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 مرتبط کنید (مرحله 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();
    

جاوا

  1. ایجاد و ذخیره یک Placement .
  2. یک Creative ایجاد و ذخیره کنید.
  3. با فراخوانی campaignCreativeAssociations.insert() Creative را با همان Campaign مورد استفاده برای Placement مرتبط کنید (مرحله 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. با فراخوانی campaignCreativeAssociations.insert() Creative را با همان Campaign مورد استفاده برای Placement مرتبط کنید (مرحله 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
    );
    

پایتون

  1. ایجاد و ذخیره یک Placement .
  2. یک Creative ایجاد و ذخیره کنید.
  3. با فراخوانی campaignCreativeAssociations.insert() Creative را با همان Campaign مورد استفاده برای Placement مرتبط کنید (مرحله 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()
    

روبی

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

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

صفحه بندی

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

روش هایی که از صفحه بندی پشتیبانی می کنند، زیرمجموعه های نتایج را در گروه هایی به نام صفحات برمی گرداند. حداکثر تعداد نتایج در هر صفحه 1000 (پیش فرض) است. می‌توانید تعداد نتایج در هر صفحه را با تنظیم 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));

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

پایتون

# 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. با فراخوانی floodlightActivityGroups.insert() گروه فعالیت floodlight را ذخیره کنید، که شناسه گروه جدید را برمی گرداند.
    // Insert the activity group.
    FloodlightActivityGroup result =
        service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
    
  3. یک فعالیت نورافکن جدید ایجاد کنید و شناسه گروه فعالیت نورافکنی را که به تازگی ایجاد کرده اید و همچنین سایر فیلدهای مورد نیاز را به آن اختصاص دهید.
    // 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. با فراخوانی floodlightActivityGroups.insert() ، گروه فعالیت floodlight را ذخیره کنید، که شناسه گروه جدید را برمی گرداند.
    // Insert the activity group.
    FloodlightActivityGroup result =
        reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
    
  3. یک فعالیت نورافکن جدید ایجاد کنید و شناسه گروه فعالیت نورافکنی را که به تازگی ایجاد کرده اید و همچنین سایر فیلدهای مورد نیاز را به آن اختصاص دهید.
    // 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. با فراخوانی floodlightActivityGroups.insert() ، گروه فعالیت floodlight را ذخیره کنید، که شناسه گروه جدید را برمی گرداند.
    $result = $this->service->floodlightActivityGroups->insert(
        $values['user_profile_id'],
        $group
    );
    
  3. یک فعالیت نورافکن جدید ایجاد کنید و شناسه گروه فعالیت نورافکنی را که به تازگی ایجاد کرده اید و همچنین سایر فیلدهای مورد نیاز را به آن اختصاص دهید.
    $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. با فراخوانی floodlightActivityGroups.insert() ، گروه فعالیت floodlight را ذخیره کنید، که شناسه گروه جدید را برمی گرداند.
    request = service.floodlightActivityGroups().insert(
        profileId=profile_id, body=activity_group)
    
  3. یک فعالیت نورافکن جدید ایجاد کنید و شناسه گروه فعالیت نورافکنی را که به تازگی ایجاد کرده اید و همچنین سایر فیلدهای مورد نیاز را به آن اختصاص دهید.
    # 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. با فراخوانی floodlightActivityGroups.insert() ، گروه فعالیت های Floodlight را ذخیره کنید ، که شناسه گروه جدید را برمی گرداند.
    # 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();

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

پایتون

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