توضّح هذه الصفحة كيفية تنفيذ بعض مهام عدد الزيارات الأكثر شيوعًا باستخدام واجهة برمجة التطبيقات لإعداد التقارير في DCM/DFA.
نصائح عامة حول الترميز
- السمات والمعلَمات المطلوبة والاختيارية: يمكنك الاطّلاع على المستندات المرجعية لمعرفة ما إذا كان من المطلوب استخدام سمة أو مَعلمة لطلب بيانات من واجهة برمجة التطبيقات.
- عمليات البحث عن اسم حرف البدل - يمكنك استخدام حرف البدل (*) عند البحث عن أسماء الكائنات. علامة النجمة تطابق صفرًا أو أكثر من أي حرف. تدعم واجهة برمجة التطبيقات أيضًا بحث السلسلة الفرعية الضمني، لذلك فإن البحث عن "abc" سيتم البحث ضمنيًا عن "*abc*".
- التحديث مقابل التصحيح - لتعديل كائن حالي، لديك خياران:
- التحديث - عند تحديث كائن، سيتم استبدال جميع الحقول عند الإدراج. من المهم تحميل العنصر الذي تريد تعديله وإجراء أي تغييرات عليه. بخلاف ذلك، سيتم إلغاء ضبط أي حقول غير متوفّرة في طلب التحديث.
- التصحيح: عند التصحيح، سيتم استبدال الحقول المحددة فقط عند الإدراج. في هذه الحالة، يمكنك إنشاء كائن جديد، وتعيين رقم التعريف نفسه له باعتباره الكائن المطلوب تعديله، وضبط الحقول المطلوب تحديثها، وتنفيذ طلب رمز التصحيح.
- الأحجام - يتم تمثيل الأبعاد المادية بكائن
Size
يتم تحديده من خلال خدمة المقاسات. ويوفر الحساب مجموعة من الأحجام القياسية، ويمكنك إضافة مقاساتك المخصصة إلى هذه القائمة. - التواريخ والأوقات: يمكنك حفظ التواريخ/الأوقات بالتنسيق RFC 3339 باستخدام المناطق الزمنية المحلية. جميع القيم التي تعرضها واجهة برمجة التطبيقات تكون بالتوقيت العالمي المنسّق. يختلف ذلك عن الموقع الإلكتروني الذي تظهر فيه التواريخ والأوقات حسب منطقتك الزمنية التي تم ضبطها (توقيت أمريكا/نيويورك، تلقائيًا).
إنشاء معلن
#C
-
أنشِئ كائن
Advertiser
واضبط سمتَي name وstatus المطلوبتين.// Create the advertiser structure. Advertiser advertiser = new Advertiser(); advertiser.Name = advertiserName; advertiser.Status = "APPROVED";
-
يمكنك الاتصال بالرقم
advertisers.insert()
لحفظ المعلن.// Create the advertiser. Advertiser result = service.Advertisers.Insert(advertiser, profileId).Execute();
Java
-
أنشِئ كائن
Advertiser
واضبط سمتَي name وstatus المطلوبتين.// Create the advertiser structure. Advertiser advertiser = new Advertiser(); advertiser.setName(advertiserName); advertiser.setStatus("APPROVED");
-
يمكنك الاتصال بالرقم
advertisers.insert()
لحفظ المعلن.// Create the advertiser. Advertiser result = reporting.advertisers().insert(profileId, advertiser).execute();
PHP
-
أنشِئ كائن
Advertiser
واضبط سمتَي name وstatus المطلوبتين.$advertiser = new Google_Service_Dfareporting_Advertiser(); $advertiser->setName($values['advertiser_name']); $advertiser->setStatus('APPROVED');
-
يمكنك الاتصال بالرقم
advertisers.insert()
لحفظ المعلن.$result = $this->service->advertisers->insert( $values['user_profile_id'], $advertiser );
Python
-
أنشِئ كائن
Advertiser
واضبط سمتَي name وstatus المطلوبتين.# Construct and save advertiser. advertiser = { 'name': 'Test Advertiser', 'status': 'APPROVED' }
-
يمكنك الاتصال بالرقم
advertisers.insert()
لحفظ المعلن.request = service.advertisers().insert( profileId=profile_id, body=advertiser) # Execute request and print response. response = request.execute()
Ruby
-
أنشِئ كائن
Advertiser
واضبط سمتَي name وstatus المطلوبتين.# Create a new advertiser resource to insert. advertiser = DfareportingUtils::API_NAMESPACE::Advertiser.new( name: format('Example Advertiser #%s', SecureRandom.hex(3)), status: 'APPROVED' )
-
يمكنك الاتصال بالرقم
advertisers.insert()
لحفظ المعلن.# Insert the advertiser. result = service.insert_advertiser(profile_id, advertiser)
إنشاء حملة
#C
أنشئ كائن
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));
-
يمكنك الاتصال بالرقم
campaigns.insert()
لحفظ الحملة.// Insert the campaign. Campaign result = service.Campaigns.Insert(campaign, profileId).Execute();
Java
أنشئ كائن
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);
-
يمكنك الاتصال بالرقم
campaigns.insert()
لحفظ الحملة.// Insert the campaign. Campaign result = reporting.campaigns().insert(profileId, campaign).execute();
PHP
أنشئ كائن
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'));
-
يمكنك الاتصال بالرقم
campaigns.insert()
لحفظ الحملة.$result = $this->service->campaigns->insert( $values['user_profile_id'], $campaign );
Python
أنشئ كائن
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' }
-
يمكنك الاتصال بالرقم
campaigns.insert()
لحفظ الحملة.request = service.campaigns().insert(profileId=profile_id, body=campaign) # Execute request and print response. response = request.execute()
Ruby
أنشئ كائن
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' )
-
يمكنك الاتصال بالرقم
campaigns.insert()
لحفظ الحملة.# Insert the campaign. result = service.insert_campaign(profile_id, campaign)
إنشاء موضع إعلان
#C
-
أنشِئ عنصر
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;
-
أنشئ كائن
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;
-
يمكنك حفظ الكائن
Placement
من خلال استدعاءplacements.insert()
. تأكّد من تخزين رقم التعريف المعروض إذا كنت تريد استخدامه لتعيين إعلان أو تصميم إعلان.// Insert the placement. Placement result = service.Placements.Insert(placement, profileId).Execute();
Java
-
أنشِئ عنصر
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);
-
أنشئ كائن
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);
-
يمكنك حفظ الكائن
Placement
من خلال استدعاءplacements.insert()
. تأكّد من تخزين رقم التعريف المعروض إذا كنت تريد استخدامه لتعيين إعلان أو تصميم إعلان.// Insert the placement. Placement result = reporting.placements().insert(profileId, placement).execute();
PHP
-
أنشِئ عنصر
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);
-
أنشئ كائن
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);
-
يمكنك حفظ الكائن
Placement
من خلال استدعاءplacements.insert()
. تأكّد من تخزين رقم التعريف المعروض إذا كنت تريد استخدامه لتعيين إعلان أو تصميم إعلان.// Insert the placement. $result = $this->service->placements->insert( $values['user_profile_id'], $placement );
Python
-
أنشِئ عنصر
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'] }
-
أنشئ كائن
PricingSchedule
جديدًا لتخصيصه لموضع الإعلان.# Set the pricing schedule for the placement. placement['pricingSchedule'] = { 'startDate': campaign['startDate'], 'endDate': campaign['endDate'], 'pricingType': 'PRICING_TYPE_CPM' }
-
يمكنك حفظ الكائن
Placement
من خلال استدعاءplacements.insert()
. تأكّد من تخزين رقم التعريف المعروض إذا كنت تريد استخدامه لتعيين إعلان أو تصميم إعلان.request = service.placements().insert(profileId=profile_id, body=placement) # Execute request and print response. response = request.execute()
Ruby
-
أنشِئ عنصر
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'] )
-
أنشئ كائن
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 )
-
يمكنك حفظ الكائن
Placement
من خلال استدعاءplacements.insert()
. تأكّد من تخزين رقم التعريف المعروض إذا كنت تريد استخدامه لتعيين إعلان أو تصميم إعلان.# Insert the placement strategy. result = service.insert_placement(profile_id, placement)
تحميل مواد العرض
يمكنك تحميل العديد من أنواع مواد العرض من خلال عملية تُعرف باسم تحميل الوسائط. على الرغم من أنّ هذه العملية مماثلة لجميع أنواع تصميمات الإعلانات، قد تتطلب بعض الأنواع تمرير خصائص معيّنة كبيانات وصفية حتى يتم استخدامها بشكل صحيح.
#C
أنشِئ كائن
assetIdentifier
واضبط السمات المطلوبة. ويجب تحديدassetIdentifier
في جميع مواد العرض، بغض النظر عن نوعها أو طريقة استخدامها. عند تعيين مادة العرض لتصميم إعلان، سيتم استخدام هذا العنصر للإشارة إلى مادة العرض. السمات التالية مطلوبة:-
السمة
name
، وهي اسم مادة العرض على الخادم. يجب أن يشتمل الاسم على امتداد يشير إلى نوع الملف مثل .png أو .gif، وسيظهر للمتصفّح باسم مادة العرض، ولكن ليس من الضروري أن يكون مطابقًا لاسم الملف الأصلي. تجدر الإشارة إلى أنّ هذا الاسم يمكن أن يغيّره "مدير الحملة 360" ليصبح فريدًا على الخادم. تحقَّق من القيمة المعروضة لمعرفة ما إذا تم تغييرها. -
السمة
type
التي تحدد نوع مادة العرض. سيحدِّد هذا الموقع أنواع تصميمات الإعلانات التي يمكن ربط مادة العرض هذه بها.
// Create the creative asset ID and Metadata. CreativeAssetId assetId = new CreativeAssetId(); assetId.Name = Path.GetFileName(assetFile); assetId.Type = assetType;
-
السمة
يمكنك تحميل الملف من خلال الاتصال بالرقم
creativeAssets.insert()
. نفِّذ عملية تحميل متعددة الأجزاء، مع تمريرassetIdentifier
ومحتوى الملف كجزء من الطلب نفسه. وفي حال نجاح الإجراء، سيتم عرض مورد "CreativeAsset
" معassetIdentifier
الذي ستستخدمه لتخصيص مادة العرض هذه لتصميم إعلان.// Prepare an input stream. FileStream assetContent = new FileStream(assetFile, FileMode.Open, FileAccess.Read); CreativeAssetMetadata metaData = new CreativeAssetMetadata(); metaData.AssetIdentifier = assetId; // Insert the creative. String mimeType = determineMimeType(assetFile, assetType); CreativeAssetsResource.InsertMediaUpload request = Service.CreativeAssets.Insert(metaData, ProfileId, AdvertiserId, assetContent, mimeType); IUploadProgress progress = request.Upload(); if (UploadStatus.Failed.Equals(progress.Status)) { throw progress.Exception; }
Java
أنشِئ كائن
assetIdentifier
واضبط السمات المطلوبة. ويجب تحديدassetIdentifier
في جميع مواد العرض، بغض النظر عن نوعها أو طريقة استخدامها. عند تعيين مادة العرض لتصميم إعلان، سيتم استخدام هذا العنصر للإشارة إلى مادة العرض. السمات التالية مطلوبة:-
السمة
name
، وهي اسم مادة العرض على الخادم. يجب أن يشتمل الاسم على امتداد يشير إلى نوع الملف مثل .png أو .gif، وسيظهر للمتصفّح باسم مادة العرض، ولكن ليس من الضروري أن يكون مطابقًا لاسم الملف الأصلي. تجدر الإشارة إلى أنّ هذا الاسم يمكن أن يغيّره "مدير الحملة 360" ليصبح فريدًا على الخادم. تحقَّق من القيمة المعروضة لمعرفة ما إذا تم تغييرها. -
السمة
type
التي تحدد نوع مادة العرض. سيحدِّد هذا الموقع أنواع تصميمات الإعلانات التي يمكن ربط مادة العرض هذه بها.
// Create the creative asset ID and Metadata. CreativeAssetId assetId = new CreativeAssetId(); assetId.setName(assetName); assetId.setType(assetType);
-
السمة
يمكنك تحميل الملف من خلال طلب الرقم
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
أنشِئ كائن
assetIdentifier
واضبط السمات المطلوبة. ويجب تحديدassetIdentifier
في جميع مواد العرض، بغض النظر عن نوعها أو طريقة استخدامها. عند تعيين مادة العرض لتصميم إعلان، سيتم استخدام هذا العنصر للإشارة إلى مادة العرض. السمات التالية مطلوبة:-
السمة
name
، وهي اسم مادة العرض على الخادم. يجب أن يشتمل الاسم على امتداد يشير إلى نوع الملف مثل .png أو .gif، وسيظهر للمتصفّح باسم مادة العرض، ولكن ليس من الضروري أن يكون مطابقًا لاسم الملف الأصلي. تجدر الإشارة إلى أنّ هذا الاسم يمكن أن يغيّره "مدير الحملة 360" ليصبح فريدًا على الخادم. تحقَّق من القيمة المعروضة لمعرفة ما إذا تم تغييرها. -
السمة
type
التي تحدد نوع مادة العرض. سيحدِّد هذا الموقع أنواع تصميمات الإعلانات التي يمكن ربط مادة العرض هذه بها.
$assetId = new Google_Service_Dfareporting_CreativeAssetId(); $assetId->setName($asset['name']); $assetId->setType($type);
-
السمة
يمكنك تحميل الملف من خلال طلب الرقم
creativeAssets.insert()
. نفِّذ عملية تحميل متعددة الأجزاء، مع تمريرassetIdentifier
ومحتوى الملف كجزء من الطلب نفسه. وفي حال نجاح الإجراء، سيتم عرض مورد "CreativeAsset
" معassetIdentifier
الذي ستستخدمه لتعيين مادة العرض هذه لتصميم إعلان.$metadata = new Google_Service_Dfareporting_CreativeAssetMetadata(); $metadata->setAssetIdentifier($assetId); $result = $service->creativeAssets->insert( $userProfileId, $advertiserId, $metadata, ['data' => file_get_contents($asset['tmp_name']), 'mimeType' => $asset['type'], 'uploadType' => 'multipart'] );
Python
أنشِئ كائن
assetIdentifier
واضبط السمات المطلوبة. ويجب تحديدassetIdentifier
في جميع مواد العرض، بغض النظر عن نوعها أو طريقة استخدامها. عند تعيين مادة العرض لتصميم إعلان، سيتم استخدام هذا العنصر للإشارة إلى مادة العرض. السمات التالية مطلوبة:-
السمة
name
، وهي اسم مادة العرض على الخادم. يجب أن يشتمل الاسم على امتداد يشير إلى نوع الملف مثل .png أو .gif، وسيظهر للمتصفّح باسم مادة العرض، ولكن ليس من الضروري أن يكون مطابقًا لاسم الملف الأصلي. تجدر الإشارة إلى أنّ هذا الاسم يمكن أن يغيّره "مدير الحملة 360" ليصبح فريدًا على الخادم. تحقَّق من القيمة المعروضة لمعرفة ما إذا تم تغييرها. -
السمة
type
التي تحدد نوع مادة العرض. سيحدِّد هذا الموقع أنواع تصميمات الإعلانات التي يمكن ربط مادة العرض هذه بها.
# Construct the creative asset metadata creative_asset = {'assetIdentifier': {'name': asset_name, 'type': asset_type}}
-
السمة
يمكنك تحميل الملف من خلال الاتصال بالرقم
creativeAssets.insert()
. نفِّذ عملية تحميل متعددة الأجزاء، مع تمريرassetIdentifier
ومحتوى الملف كجزء من الطلب نفسه. وفي حال نجاح الإجراء، سيتم عرض مورد "CreativeAsset
" معassetIdentifier
الذي ستستخدمه لتخصيص مادة العرض هذه لتصميم إعلان.media = MediaFileUpload(path_to_asset_file) if not media.mimetype(): media = MediaFileUpload(path_to_asset_file, 'application/octet-stream') response = service.creativeAssets().insert( advertiserId=advertiser_id, profileId=profile_id, media_body=media, body=creative_asset).execute()
Ruby
أنشِئ كائن
assetIdentifier
واضبط السمات المطلوبة. ويجب تحديدassetIdentifier
في جميع مواد العرض، بغض النظر عن نوعها أو طريقة استخدامها. عند تعيين مادة العرض لتصميم إعلان، سيتم استخدام هذا العنصر للإشارة إلى مادة العرض. السمات التالية مطلوبة:-
السمة
name
، وهي اسم مادة العرض على الخادم. يجب أن يشتمل الاسم على امتداد يشير إلى نوع الملف مثل .png أو .gif، وسيظهر للمتصفّح باسم مادة العرض، ولكن ليس من الضروري أن يكون مطابقًا لاسم الملف الأصلي. تجدر الإشارة إلى أنّ هذا الاسم يمكن أن يغيّره "مدير الحملة 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 ) )
-
السمة
يمكنك تحميل الملف من خلال الاتصال بالرقم
creativeAssets.insert()
. نفِّذ عملية تحميل متعددة الأجزاء، مع تمريرassetIdentifier
ومحتوى الملف كجزء من الطلب نفسه. وفي حال نجاح الإجراء، سيتم عرض مورد "CreativeAsset
" معassetIdentifier
الذي ستستخدمه لتخصيص مادة العرض هذه لتصميم إعلان.# Upload the asset. mime_type = determine_mime_type(path_to_asset_file, asset_type) result = @service.insert_creative_asset( @profile_id, advertiser_id, creative_asset, content_type: mime_type, upload_source: path_to_asset_file )
إنشاء تصميم إعلان
يلتف العنصر Creative
مادة عرض حالية. واعتمادًا على كيفية استخدامك للمواد الإبداعية على صفحة المضيف، يمكنك إنشاء كائنات Creative
لأنواع مختلفة من التصميمات. راجِع المستندات المرجعية لتحديد النوع المناسب لك.
يوضح المثال التالي كيفية إنشاء تصميم إعلان جديد بتنسيق HTML5.
#C
-
حمِّل مواد العرض. تتطلّب تصاميم الإعلانات المختلفة أنواعًا وكميات مختلفة من مواد العرض. راجع تحميل مواد العرض لمعرفة التفاصيل. في كلّ مرة تحمّل فيها مادة عرض بنجاح، ستحصل على
assetIdenfitier
في الردّ. ستستخدم اسم الملف المخزّن ونوعه للإشارة إلى مواد العرض هذه في تصميم إعلانك، بدلاً من معرّف تقليدي. -
أنشِئ تصميم إعلان وحدِّد قيمًا مناسبة. إنشاء مثيل
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 };
-
احفظ تصميم الإعلان. يمكنك إجراء ذلك من خلال الاتصال بالرقم
creatives.insert()
. يلزم تحديد رقم تعريفي للمعلِن ليتم ربط تصميم الإعلان هذا به.Creative result = service.Creatives.Insert(creative, profileId).Execute();
-
(اختياري) اربط تصميم الإعلان بإحدى الحملات. ويمكن إجراء ذلك من خلال استدعاء
campaignCreativeAssociations.insert()
، مع إدخال أرقام تعريف الحملة وتصميمات الإعلانات.// Create the campaign creative association structure. CampaignCreativeAssociation association = new CampaignCreativeAssociation(); association.CreativeId = creativeId; // Insert the association. CampaignCreativeAssociation result = service.CampaignCreativeAssociations.Insert(association, profileId, campaignId).Execute();
Java
-
حمِّل مواد العرض. تتطلّب تصاميم الإعلانات المختلفة أنواعًا وكميات مختلفة من مواد العرض. راجع تحميل مواد العرض لمعرفة التفاصيل. في كلّ مرة تحمّل فيها مادة عرض بنجاح، ستحصل على
assetIdenfitier
في الردّ. ستستخدم اسم الملف المخزّن ونوعه للإشارة إلى مواد العرض هذه في تصميم إعلانك، بدلاً من معرّف تقليدي. -
أنشِئ تصميم إعلان وحدِّد قيمًا مناسبة. إنشاء مثيل
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));
-
احفظ تصميم الإعلان. يمكنك إجراء ذلك من خلال الاتصال بالرقم
creatives.insert()
. يلزم تحديد رقم تعريفي للمعلِن ليتم ربط تصميم الإعلان هذا به.Creative result = reporting.creatives().insert(profileId, creative).execute();
-
(اختياري) اربط تصميم الإعلان بإحدى الحملات. ويمكن إجراء ذلك من خلال استدعاء
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
-
حمِّل مواد العرض. تتطلّب تصاميم الإعلانات المختلفة أنواعًا وكميات مختلفة من مواد العرض. راجع تحميل مواد العرض لمعرفة التفاصيل. في كلّ مرة تحمّل فيها مادة عرض بنجاح، ستحصل على
assetIdenfitier
في الردّ. ستستخدم اسم الملف المخزّن ونوعه للإشارة إلى مواد العرض هذه في تصميم إعلانك، بدلاً من معرّف تقليدي. -
أنشِئ تصميم إعلان وحدِّد قيمًا مناسبة. إنشاء مثيل
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]);
-
احفظ تصميم الإعلان. يمكنك إجراء ذلك من خلال الاتصال بالرقم
creatives.insert()
. يلزم تحديد رقم تعريفي للمعلِن ليتم ربط تصميم الإعلان هذا به.$result = $this->service->creatives->insert( $values['user_profile_id'], $creative );
-
(اختياري) اربط تصميم الإعلان بإحدى الحملات. ويمكن إجراء ذلك من خلال استدعاء
campaignCreativeAssociations.insert()
، مع إدخال أرقام تعريف الحملة وتصميمات الإعلانات.$association = new Google_Service_Dfareporting_CampaignCreativeAssociation(); $association->setCreativeId($values['creative_id']); $result = $this->service->campaignCreativeAssociations->insert( $values['user_profile_id'], $values['campaign_id'], $association );
Python
-
حمِّل مواد العرض. تتطلّب تصاميم الإعلانات المختلفة أنواعًا وكميات مختلفة من مواد العرض. راجع تحميل مواد العرض لمعرفة التفاصيل. في كلّ مرة تحمّل فيها مادة عرض بنجاح، ستحصل على
assetIdenfitier
في الردّ. ستستخدم اسم الملف المخزّن ونوعه للإشارة إلى مواد العرض هذه في تصميم إعلانك، بدلاً من معرّف تقليدي. -
أنشِئ تصميم إعلان وحدِّد قيمًا مناسبة. إنشاء مثيل
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' }
-
احفظ تصميم الإعلان. يمكنك إجراء ذلك من خلال الاتصال بالرقم
creatives.insert()
. يلزم تحديد رقم تعريفي للمعلِن ليتم ربط تصميم الإعلان هذا به.request = service.creatives().insert(profileId=profile_id, body=creative) # Execute request and print response. response = request.execute()
-
(اختياري) اربط تصميم الإعلان بإحدى الحملات. ويمكن إجراء ذلك من خلال استدعاء
campaignCreativeAssociations.insert()
، مع إدخال أرقام تعريف الحملة وتصميمات الإعلانات.# Construct the request. association = { 'creativeId': creative_id } request = service.campaignCreativeAssociations().insert( profileId=profile_id, campaignId=campaign_id, body=association) # Execute request and print response. response = request.execute()
Ruby
-
حمِّل مواد العرض. تتطلّب تصاميم الإعلانات المختلفة أنواعًا وكميات مختلفة من مواد العرض. راجع تحميل مواد العرض لمعرفة التفاصيل. في كلّ مرة تحمّل فيها مادة عرض بنجاح، ستحصل على
assetIdenfitier
في الردّ. ستستخدم اسم الملف المخزّن ونوعه للإشارة إلى مواد العرض هذه في تصميم إعلانك، بدلاً من معرّف تقليدي. -
أنشِئ تصميم إعلان وحدِّد قيمًا مناسبة. إنشاء مثيل
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' )
-
احفظ تصميم الإعلان. يمكنك إجراء ذلك من خلال الاتصال بالرقم
creatives.insert()
. يلزم تحديد رقم تعريفي للمعلِن ليتم ربط تصميم الإعلان هذا به.# Insert the creative. result = service.insert_creative(profile_id, creative)
-
(اختياري) اربط تصميم الإعلان بإحدى الحملات. ويمكن إجراء ذلك من خلال استدعاء
campaignCreativeAssociations.insert()
، مع إدخال أرقام تعريف الحملة وتصميمات الإعلانات.# Create a new creative-campaign association to insert association = DfareportingUtils::API_NAMESPACE::CampaignCreativeAssociation.new( creative_id: creative_id ) # Insert the advertiser group. result = service.insert_campaign_creative_association(profile_id, campaign_id, association)
إنشاء إعلان
السمة Ad
هي الرابط بين Creative
وPlacement
. يمكن ربط Ad
بموضع إعلان واحد أو أكثر، وبه تصميم إعلان واحد أو أكثر.
يمكنك إنشاء Ad
بشكل صريح أو ضمني.
بشكلٍ صريح
#C
-
أنشئ عنصر
CreativeAssignment
لكل تصميم إعلان يجب أن يرتبط به هذا الإعلان. تأكَّد من ضبط الحقلCreativeAssignment.active
على "صحيح".// 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;
-
أنشِئ عنصر
CreativeRotation
لتخزين عناصرCreativeAssignment
. في حال إنشاء مجموعة عرض للإعلانات بالتناوب، تأكّد من ضبط الحقول الأخرى المطلوبة لعرض تصميمات الإعلانات بالتناوب.// Create a creative rotation. CreativeRotation creativeRotation = new CreativeRotation(); creativeRotation.CreativeAssignments = new List<CreativeAssignment>() { creativeAssignment };
-
أنشئ عنصر
PlacementAssignment
لكل موضع إعلان يجب أن يرتبط به هذا الإعلان. تأكَّد من ضبط الحقلPlacementAssignment.active
على "صحيح".// Create a placement assignment. PlacementAssignment placementAssignment = new PlacementAssignment(); placementAssignment.Active = true; placementAssignment.PlacementId = placementId;
-
أنشئ عنصر
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";
-
احفظ الإعلان من خلال الاتصال بالرقم
ads.insert()
.// Insert the rotation group. Ad result = service.Ads.Insert(rotationGroup, profileId).Execute();
Java
-
أنشئ عنصر
CreativeAssignment
لكل تصميم إعلان يجب أن يرتبط به هذا الإعلان. تأكَّد من ضبط الحقلCreativeAssignment.active
على "صحيح".// 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);
-
أنشِئ عنصر
CreativeRotation
لتخزين عناصرCreativeAssignment
. في حال إنشاء مجموعة عرض للإعلانات بالتناوب، تأكّد من ضبط الحقول الأخرى المطلوبة لعرض تصميمات الإعلانات بالتناوب.// Create a creative rotation. CreativeRotation creativeRotation = new CreativeRotation(); creativeRotation.setCreativeAssignments(ImmutableList.of(creativeAssignment));
-
أنشئ عنصر
PlacementAssignment
لكل موضع إعلان يجب أن يرتبط به هذا الإعلان. تأكَّد من ضبط الحقلPlacementAssignment.active
على "صحيح".// Create a placement assignment. PlacementAssignment placementAssignment = new PlacementAssignment(); placementAssignment.setActive(true); placementAssignment.setPlacementId(placementId);
-
أنشئ عنصر
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");
-
احفظ الإعلان من خلال الاتصال بالرقم
ads.insert()
.// Insert the rotation group. Ad result = reporting.ads().insert(profileId, rotationGroup).execute();
PHP
-
أنشئ عنصر
CreativeAssignment
لكل تصميم إعلان يجب أن يرتبط به هذا الإعلان. تأكَّد من ضبط الحقلCreativeAssignment.active
على "صحيح".// 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);
-
أنشِئ عنصر
CreativeRotation
لتخزين عناصرCreativeAssignment
. في حال إنشاء مجموعة عرض للإعلانات بالتناوب، تأكّد من ضبط الحقول الأخرى المطلوبة لعرض تصميمات الإعلانات بالتناوب.// Create a creative rotation. $creativeRotation = new Google_Service_Dfareporting_CreativeRotation(); $creativeRotation->setCreativeAssignments([$creativeAssignment]);
-
أنشئ عنصر
PlacementAssignment
لكل موضع إعلان يجب أن يرتبط به هذا الإعلان. تأكَّد من ضبط الحقلPlacementAssignment.active
على "صحيح".// Create a placement assignment. $placementAssignment = new Google_Service_Dfareporting_PlacementAssignment(); $placementAssignment->setActive(true); $placementAssignment->setPlacementId($values['placement_id']);
-
أنشئ عنصر
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');
-
احفظ الإعلان من خلال الاتصال بالرقم
ads.insert()
.$result = $this->service->ads->insert($values['user_profile_id'], $ad);
Python
-
أنشئ عنصر
CreativeAssignment
لكل تصميم إعلان يجب أن يرتبط به هذا الإعلان. تأكَّد من ضبط الحقلCreativeAssignment.active
على "صحيح".# Construct creative assignment. creative_assignment = { 'active': 'true', 'creativeId': creative_id, 'clickThroughUrl': { 'defaultLandingPage': 'true' } }
-
أنشِئ عنصر
CreativeRotation
لتخزين عناصرCreativeAssignment
. في حال إنشاء مجموعة عرض للإعلانات بالتناوب، تأكّد من ضبط الحقول الأخرى المطلوبة لعرض تصميمات الإعلانات بالتناوب.# Construct creative rotation. creative_rotation = { 'creativeAssignments': [creative_assignment], 'type': 'CREATIVE_ROTATION_TYPE_RANDOM', 'weightCalculationStrategy': 'WEIGHT_STRATEGY_OPTIMIZED' }
-
أنشئ عنصر
PlacementAssignment
لكل موضع إعلان يجب أن يرتبط به هذا الإعلان. تأكَّد من ضبط الحقلPlacementAssignment.active
على "صحيح".# Construct placement assignment. placement_assignment = { 'active': 'true', 'placementId': placement_id, }
-
أنشئ عنصر
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' }
-
احفظ الإعلان من خلال الاتصال بالرقم
ads.insert()
.request = service.ads().insert(profileId=profile_id, body=ad) # Execute request and print response. response = request.execute()
Ruby
-
أنشئ عنصر
CreativeAssignment
لكل تصميم إعلان يجب أن يرتبط به هذا الإعلان. تأكَّد من ضبط الحقلCreativeAssignment.active
على "صحيح".# 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 ) )
-
أنشِئ عنصر
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' )
-
أنشئ عنصر
PlacementAssignment
لكل موضع إعلان يجب أن يرتبط به هذا الإعلان. تأكَّد من ضبط الحقلPlacementAssignment.active
على "صحيح".# Construct placement assignment. placement_assignment = DfareportingUtils::API_NAMESPACE::PlacementAssignment.new( active: true, placement_id: placement_id )
-
أنشئ عنصر
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' )
-
احفظ الإعلان من خلال الاتصال بالرقم
ads.insert()
.result = service.insert_ad(profile_id, ad)
ضمنيًا
#C
-
إنشاء
Placement
وحفظها -
إنشاء
Creative
وحفظها -
اربط
Creative
بعنصرCampaign
نفسه المستخدَم فيPlacement
من خلال طلبcampaignCreativeAssociations.insert()
(راجِع الخطوة 4 في القسم إنشاء تصميم إعلان). وسيؤدي هذا إلى إنشاء إعلان تلقائي مرتبط بكل من تصميم الإعلان وموضعه.// Create the campaign creative association structure. CampaignCreativeAssociation association = new CampaignCreativeAssociation(); association.CreativeId = creativeId; // Insert the association. CampaignCreativeAssociation result = service.CampaignCreativeAssociations.Insert(association, profileId, campaignId).Execute();
Java
-
إنشاء
Placement
وحفظها -
إنشاء
Creative
وحفظها -
اربط
Creative
بعنصرCampaign
نفسه المستخدَم فيPlacement
من خلال طلبcampaignCreativeAssociations.insert()
(راجِع الخطوة 4 في القسم إنشاء تصميم إعلان). وسيؤدي هذا إلى إنشاء إعلان تلقائي مرتبط بكل من تصميم الإعلان وموضعه.// Create the campaign creative association structure. CampaignCreativeAssociation association = new CampaignCreativeAssociation(); association.setCreativeId(creativeId); // Insert the association. CampaignCreativeAssociation result = reporting .campaignCreativeAssociations().insert(profileId, campaignId, association) .execute();
PHP
-
إنشاء
Placement
وحفظها -
إنشاء
Creative
وحفظها -
اربط
Creative
بعنصرCampaign
نفسه المستخدَم فيPlacement
من خلال طلبcampaignCreativeAssociations.insert()
(راجِع الخطوة 4 في القسم إنشاء تصميم إعلان). وسيؤدي هذا إلى إنشاء إعلان تلقائي مرتبط بكل من تصميم الإعلان وموضعه.$association = new Google_Service_Dfareporting_CampaignCreativeAssociation(); $association->setCreativeId($values['creative_id']); $result = $this->service->campaignCreativeAssociations->insert( $values['user_profile_id'], $values['campaign_id'], $association );
Python
-
إنشاء
Placement
وحفظها -
إنشاء
Creative
وحفظها -
اربط
Creative
بعنصرCampaign
نفسه المستخدَم فيPlacement
من خلال طلبcampaignCreativeAssociations.insert()
(راجِع الخطوة 4 في القسم إنشاء تصميم إعلان). وسيؤدي هذا إلى إنشاء إعلان تلقائي مرتبط بكل من تصميم الإعلان وموضعه.# Construct the request. association = { 'creativeId': creative_id } request = service.campaignCreativeAssociations().insert( profileId=profile_id, campaignId=campaign_id, body=association) # Execute request and print response. response = request.execute()
Ruby
-
إنشاء
Placement
وحفظها -
إنشاء
Creative
وحفظها -
اربط
Creative
بعنصرCampaign
نفسه المستخدَم فيPlacement
من خلال طلبcampaignCreativeAssociations.insert()
(راجِع الخطوة 4 في القسم إنشاء تصميم إعلان). وسيؤدي هذا إلى إنشاء إعلان تلقائي مرتبط بكل من تصميم الإعلان وموضعه.# Create a new creative-campaign association to insert association = DfareportingUtils::API_NAMESPACE::CampaignCreativeAssociation.new( creative_id: creative_id ) # Insert the advertiser group. result = service.insert_campaign_creative_association(profile_id, campaign_id, association)
ويوفر إنشاء إعلان ضمنيًا الخطوة الإضافية المتمثلة في إنشاء Ad
. تجدر الإشارة إلى أنّ ذلك لا يمكن تنفيذه إلا في حال عدم وجود إعلان تلقائي بالحجم المحدّد في حملتك.
البحث عن عناصر
يمكنك البحث عن العناصر من خلال استدعاء العملية list()
التي تعرضها الخدمة التي تحدد العنصر المطلوب البحث عنه، مع تحديد معايير اختيارية مناسبة لنوع الكائن هذا. وبالتالي، مثلاً للبحث عن عناصر "الإعلانات"، يمكنك استدعاء ads.list()
. تكشف المعايير الاختيارية عن مجموعة من الخصائص المناسبة لهذا الكائن؛ واملأ أكبر عدد ممكن من الخصائص التي تريد البحث عنها. لن يعرض البحث سوى الكائنات التي تستوفي جميع معاييرك. لا يمكنك إجراء بحث يطابق أي معايير. وتسمح السلاسل باستخدام حرف البدل *، وهي ليست حسّاسة لحالة الأحرف، وتتطابق ضمن سلاسل أكبر.
لتحسين الأداء، يمكن طلب ردود جزئية باستخدام مَعلمة fields
. يؤدي ذلك إلى توجيه الخادم لإرجاع الحقول التي تحددها فقط، بدلاً من عرض المورد الكامل. يمكن العثور على مزيد من المعلومات عن هذا الموضوع في دليل نصائح الأداء.
ترقيم الصفحات
أحيانًا لا يكون من المستحسن استرداد جميع نتائج طلب list()
. على سبيل المثال، قد تكون مهتمًا فقط بأحدث 10 إعلانات من بين مجموعة من الآلاف. للمساعدة في ذلك، تتيح لك العديد من طُرق list()
طلب نتائج أقل من خلال عملية تُعرف باسم ترقيم الصفحات.
تعرض الطرق التي تتيح التقسيم على صفحات مجموعات فرعية من النتائج في مجموعات تُسمى الصفحات. الحد الأقصى لعدد النتائج لكل صفحة هو 1,000 (الإعداد التلقائي). يمكنك تغيير عدد النتائج لكل صفحة من خلال ضبط maxResults
، ويمكنك التكرار خلال الصفحات التي تستخدم nextPageToken
التي يتم عرضها في الرد:
#C
// Limit the fields returned. String fields = "nextPageToken,ads(advertiserId,id,name)"; AdsListResponse result; String nextPageToken = null; do { // Create and execute the ad list request. AdsResource.ListRequest request = service.Ads.List(profileId); request.Active = true; request.Fields = fields; request.PageToken = nextPageToken; result = request.Execute(); foreach (Ad ad in result.Ads) { Console.WriteLine( "Ad with ID {0} and name \"{1}\" is associated with advertiser" + " ID {2}.", ad.Id, ad.Name, ad.AdvertiserId); } // Update the next page token. nextPageToken = result.NextPageToken; } while (result.Ads.Any() && !String.IsNullOrEmpty(nextPageToken));
Java
// Limit the fields returned. String fields = "nextPageToken,ads(advertiserId,id,name)"; AdsListResponse result; String nextPageToken = null; do { // Create and execute the ad list request. result = reporting.ads().list(profileId).setActive(true).setFields(fields) .setPageToken(nextPageToken).execute(); for (Ad ad : result.getAds()) { System.out.printf( "Ad with ID %d and name \"%s\" is associated with advertiser ID %d.%n", ad.getId(), ad.getName(), ad.getAdvertiserId()); } // Update the next page token. nextPageToken = result.getNextPageToken(); } while (!result.getAds().isEmpty() && !Strings.isNullOrEmpty(nextPageToken));
PHP
$response = null; $pageToken = null; do { // Create and execute the ads list request. $response = $this->service->ads->listAds( $values['user_profile_id'], ['active' => true, 'pageToken' => $pageToken] ); foreach ($response->getAds() as $ads) { $this->printResultsTableRow($ads); } // Update the next page token. $pageToken = $response->getNextPageToken(); } while (!empty($response->getAds()) && !empty($pageToken));
Python
# Construct the request. request = service.ads().list(profileId=profile_id, active=True) while True: # Execute request and print response. response = request.execute() for ad in response['ads']: print 'Found ad with ID %s and name "%s".' % (ad['id'], ad['name']) if response['ads'] and response['nextPageToken']: request = service.ads().list_next(request, response) else: break
Ruby
token = nil loop do result = service.list_ads(profile_id, page_token: token, fields: 'nextPageToken,ads(id,name)') # Display results. if result.ads.any? result.ads.each do |ad| puts format('Found ad with ID %d and name "%s".', ad.id, ad.name) end token = result.next_page_token else # Stop paging if there are no more results. token = nil end break if token.to_s.empty? end
إنشاء علامات Floodlight
علامات Floodlight هي علامات HTML مضمّنة في صفحة تُستخدَم لتتبُّع إجراءات المستخدمين (مثل عمليات الشراء) داخل موقع إلكتروني. لإنشاء علامات Floodlight، تحتاج إلى FloodlightActivity
.
الذي ينتمي إلى FloodlightActivityGroup
:
#C
-
أنشِئ مجموعة أنشطة جديدة على Floodlight، مع ضبط قيم
name
وtype
وfloodlightConfigurationId
.// Create the floodlight activity group. FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup(); floodlightActivityGroup.Name = groupName; floodlightActivityGroup.FloodlightConfigurationId = floodlightConfigurationId; floodlightActivityGroup.Type = "COUNTER";
-
يمكنك حفظ مجموعة أنشطة Floodlight من خلال الاتصال بالرقم
floodlightActivityGroups.insert()
، وسيؤدي ذلك إلى عرض رقم تعريف المجموعة الجديدة.// Insert the activity group. FloodlightActivityGroup result = service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
-
أنشِئ نشاطًا جديدًا على 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;
-
احفظ النشاط الجديد من خلال الاتصال بـ
floodlightActivities.insert()
، والذي سيعرض رقم تعريف النشاط الجديد.// Create the floodlight tag activity. FloodlightActivity result = service.FloodlightActivities.Insert(activity, profileId).Execute();
-
يمكنك إنشاء العلامات من خلال الاتصال بـ
floodlightActivities.generatetag()
باستخدامfloodlightActivityId
لنشاطك الجديد. أرسِل العلامات إلى مشرف الموقع على الموقع الإلكتروني للمعلِن.// Generate the floodlight activity tag. FloodlightActivitiesResource.GeneratetagRequest request = service.FloodlightActivities.Generatetag(profileId); request.FloodlightActivityId = activityId; FloodlightActivitiesGenerateTagResponse response = request.Execute();
Java
-
أنشِئ مجموعة أنشطة جديدة على Floodlight، مع ضبط قيم
name
وtype
وfloodlightConfigurationId
.// Create the floodlight activity group. FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup(); floodlightActivityGroup.setName(groupName); floodlightActivityGroup.setFloodlightConfigurationId(floodlightConfigurationId); floodlightActivityGroup.setType("COUNTER");
-
يمكنك حفظ مجموعة أنشطة Floodlight من خلال الاتصال بالرقم
floodlightActivityGroups.insert()
، وسيؤدي ذلك إلى عرض رقم تعريف المجموعة الجديدة.// Insert the activity group. FloodlightActivityGroup result = reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
-
أنشِئ نشاطًا جديدًا على 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");
-
احفظ النشاط الجديد من خلال الاتصال بـ
floodlightActivities.insert()
، والذي سيعرض رقم تعريف النشاط الجديد.// Create the floodlight tag activity. FloodlightActivity result = reporting.floodlightActivities().insert(profileId, activity).execute();
-
يمكنك إنشاء العلامات من خلال الاتصال بـ
floodlightActivities.generatetag()
باستخدامfloodlightActivityId
لنشاطك الجديد. أرسِل العلامات إلى مشرف الموقع على الموقع الإلكتروني للمعلِن.// Generate the floodlight activity tag. Generatetag request = reporting.floodlightActivities().generatetag(profileId); request.setFloodlightActivityId(activityId); FloodlightActivitiesGenerateTagResponse response = request.execute();
PHP
-
أنشِئ مجموعة أنشطة جديدة على Floodlight، مع ضبط قيم
name
وtype
وfloodlightConfigurationId
.$group = new Google_Service_Dfareporting_FloodlightActivityGroup(); $group->setFloodlightConfigurationId($values['configuration_id']); $group->setName($values['group_name']); $group->setType('COUNTER');
-
يمكنك حفظ مجموعة أنشطة Floodlight من خلال الاتصال بالرقم
floodlightActivityGroups.insert()
، وسيؤدي ذلك إلى عرض رقم تعريف المجموعة الجديدة.$result = $this->service->floodlightActivityGroups->insert( $values['user_profile_id'], $group );
-
أنشِئ نشاطًا جديدًا على 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']);
-
احفظ النشاط الجديد من خلال الاتصال بـ
floodlightActivities.insert()
، والذي سيعرض رقم تعريف النشاط الجديد.$result = $this->service->floodlightActivities->insert( $values['user_profile_id'], $activity );
-
يمكنك إنشاء العلامات من خلال الاتصال بـ
floodlightActivities.generatetag()
باستخدامfloodlightActivityId
لنشاطك الجديد. أرسِل العلامات إلى مشرف الموقع على الموقع الإلكتروني للمعلِن.$result = $this->service->floodlightActivities->generatetag( $values['user_profile_id'], ['floodlightActivityId' => $values['activity_id']] );
Python
-
أنشِئ مجموعة أنشطة جديدة على Floodlight، مع ضبط قيم
name
وtype
وfloodlightConfigurationId
.# Construct and save floodlight activity group. activity_group = { 'name': 'Test Floodlight Activity Group', 'floodlightConfigurationId': floodlight_config_id, 'type': 'COUNTER' }
-
يمكنك حفظ مجموعة أنشطة Floodlight من خلال الاتصال بالرقم
floodlightActivityGroups.insert()
، وسيؤدي ذلك إلى عرض رقم تعريف المجموعة الجديدة.request = service.floodlightActivityGroups().insert( profileId=profile_id, body=activity_group)
-
أنشِئ نشاطًا جديدًا على 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' }
-
احفظ النشاط الجديد من خلال الاتصال بـ
floodlightActivities.insert()
، والذي سيعرض رقم تعريف النشاط الجديد.request = service.floodlightActivities().insert( profileId=profile_id, body=floodlight_activity)
-
يمكنك إنشاء العلامات من خلال الاتصال بـ
floodlightActivities.generatetag()
باستخدامfloodlightActivityId
لنشاطك الجديد. أرسِل العلامات إلى مشرف الموقع على الموقع الإلكتروني للمعلِن.# Construct the request. request = service.floodlightActivities().generatetag( profileId=profile_id, floodlightActivityId=activity_id) # Execute request and print response. response = request.execute()
Ruby
-
أنشِئ مجموعة أنشطة جديدة على 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' )
-
يمكنك حفظ مجموعة أنشطة Floodlight من خلال الاتصال بالرقم
floodlightActivityGroups.insert()
، وسيؤدي ذلك إلى عرض رقم تعريف المجموعة الجديدة.# Insert the floodlight activity group. result = service.insert_floodlight_activity_group(profile_id, activity_group)
-
أنشِئ نشاطًا جديدًا على 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)) )
-
احفظ النشاط الجديد من خلال الاتصال بـ
floodlightActivities.insert()
، والذي سيعرض رقم تعريف النشاط الجديد.# Insert the floodlight activity. result = service.insert_floodlight_activity(profile_id, activity)
-
يمكنك إنشاء العلامات من خلال الاتصال بـ
floodlightActivities.generatetag()
باستخدامfloodlightActivityId
لنشاطك الجديد. أرسِل العلامات إلى مشرف الموقع على الموقع الإلكتروني للمعلِن.# Construct the request. result = service.generatetag_floodlight_activity(profile_id, floodlight_activity_id: activity_id)
إنشاء علامات مواضع إعلان
تتمثل الخطوة الأخيرة في إنشاء علامات HTML لإرسالها إلى الناشر من أجل عرض إعلاناتك. لإنشاء العلامات من خلال واجهة برمجة التطبيقات، يمكنك تقديم طلب إلى placements.generatetags()
، مع تحديد مجموعة من placementIds
وtagFormats
.
#C
// Generate the placement activity tags. PlacementsResource.GeneratetagsRequest request = service.Placements.Generatetags(profileId); request.CampaignId = campaignId; request.TagFormats = PlacementsResource.GeneratetagsRequest.TagFormatsEnum.PLACEMENTTAGIFRAMEJAVASCRIPT; request.PlacementIds = placementId.ToString(); PlacementsGenerateTagsResponse response = request.Execute();
Java
// Generate the placement activity tags. Generatetags request = reporting.placements().generatetags(profileId); request.setCampaignId(campaignId); request.setTagFormats(tagFormats); request.setPlacementIds(ImmutableList.of(placementId)); PlacementsGenerateTagsResponse response = request.execute();
PHP
$placementTags = $this->service->placements->generatetags( $values['user_profile_id'], ['campaignId' => $values['campaign_id'], 'placementIds' => [$values['placement_id']], 'tagFormats' => ['PLACEMENT_TAG_STANDARD', 'PLACEMENT_TAG_IFRAME_JAVASCRIPT', 'PLACEMENT_TAG_INTERNAL_REDIRECT'] ] );
Python
# Construct the request. request = service.placements().generatetags( profileId=profile_id, campaignId=campaign_id, placementIds=[placement_id]) # Execute request and print response. response = request.execute()
Ruby
# Construct the request. result = service.generate_placement_tags(profile_id, campaign_id: campaign_id, placement_ids: [placement_id])