مواد العرض

قبل إنشاء "حملة أداء أفضل"، من المهمّ استيراد جميع مواد العرض التي تخطّط لاستخدامها في الحملة. يمكنك في أي وقت إضافة مواد العرض في وقت لاحق، ولكنك تحتاج إلى مجموعة من مواد العرض للبدء

اطّلِع على مواد العرض ومتطلبات مواد العرض في "حملات الأداء الأفضل" أثناء التخطيط لحملتك.

بما أنّ مواد العرض النصية ومواد عرض الصور هي أنواع مواد العرض الأساسية المطلوبة، سيوضّح هذا الدليل كيفية تحميل كل منهما. يمكن توسيع هذه المبادئ لأنواع مواد العرض الأخرى أيضًا. بصرف النظر عن نوع مادة العرض التي تنشئها، استخدِم AssetOperation لإنشائها.

يمكن إنشاء مواد العرض باستخدام AdsApp بدون استخدام mutate، ولكن لأغراض الاتّساق، يتم تنفيذ هذا الإجراء في هذا الدليل بالطريقة نفسها التي تتّبعها جميع العمليات الأخرى. تجدر الإشارة إلى أنّه يمكنك، ويجب عليك إعادة استخدام مواد العرض الحالية إذا كانت لديك بعض مواد العرض المتاحة. بالتالي، على الرغم من أنّ امتلاك مواد عرض لإنشاء "حملة أداء أفضل"، ليس شرطًا أن تنشئ هذه مواد العرض بشكل كامل ضمن عملية إنشاء الحملات.

مواد العرض النصية

تعمل مواد العرض النصية تمامًا مثل أي عملية أخرى. إذا كنت تحمِّل مواد العرض كجزء من عملية إنشاء الحملة، استخدِم رقم تعريف مؤقّتًا بخلاف ذلك، دوّن اسم المورد المعروض لاستخدامه في عملية مستقبلية عندما تحتاج إلى الرجوع إلى مادة العرض لإضافتها إلى مجموعة مواد عرض.

const textAsset = {
  "assetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
      "textAsset": {
        "text": "Travel the World"
      }
    }
  }
}
operations.push(textAsset);

مواد عرض الصور

يتم تحميل مواد عرض الصور بتنسيق ترميز base-64. بما أنّه لا يمكنك تحميل الصور مباشرةً إلى النصوص البرمجية في "إعلانات Google"، يمكنك اختيار أسلوبَين مختلفَين للحصول على بيانات الصور وترميزها للتحميل.

لجلب صورة من Google Drive، ستحتاج أولاً إلى رقم تعريفها، وهي أفضل طريقة لتحديد الصورة بشكل فريد. تتمثل إحدى طرق الحصول على المعرّف في نسخ الرابط القابل للمشاركة من واجهة مستخدم Google Drive واستخراج المعرّف. يمكنك أيضًا جلب سلسلة من الملفات آليًا وتحديد الملفات التي تريد تحميلها. توضح هذه التعليمة البرمجية كيفية تحميل صورة واحدة بمعرف معروف:

const file = DriveApp.getFileById(fileId);
const imageAsset =  {
  "assetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
      "name": "Marketing Logo",
      "type": "IMAGE",
      "imageAsset": {
        "data": Utilities.base64Encode(file.getBlob().getBytes())
      }
    }
  }
}

يمكنك بدلاً من ذلك استرجاع صورة مستضافة على خادم ويب باستخدام عنوان URL الخاص به باستخدام UrlFetchApp:

const file = UrlFetchApp.fetch(imageUrl);

يمكنك بعد ذلك استدعاء getBlob في هذا الملف تمامًا كما تفعل مع ملف Drive، وبذلك تكون عملية إنشاء العملية مماثلة لخطوات ملف Google Drive.