المشاكل الشائعة

هذه مجموعة من المشاكل الشائعة التي يطرحها مطوّرو النصوص البرمجية في "إعلانات Google".

أخطاء JavaScript الشائعة

في ما يلي بعض أخطاء JavaScript الشائعة.

يفشل النص البرمجي ويظهر الخطأ "Cannot find function: FUNCTION_NAME" (تعذّر العثور على الدالة: FUNCTION_NAME)

ينتج هذا الخطأ عادةً عن خطأ إملائي في اسم الدالة في النص البرمجي.

  1. تأكَّد من أنّ اسم الدالة مكتوب بشكلٍ صحيح وأنّ حالة الأحرف صحيحة، مثلاً، سيؤدي استخدام AdsApp.keywordz() إلى ظهور هذا الخطأ لأنّ keywordz ليست دالة صالحة في AdsApp فئة. سيفشل أيضًا استخدام AdsApp.Keywords() بسبب حالة الأحرف غير الصحيحة للدالة keywords().

  2. تأكَّد من أنّ الدالة موجودة، مثلاً، سيفشل استخدام AdsApp.keywords().next() لأنّ AdsApp.keywords() تعرض KeywordSelector بينما next() هي طريقة لكائن KeywordIterator object. سيكون الرمز الصحيح هو AdsApp.keywords().get().next().

يتم تشغيل النص البرمجي، ولكنّه لا ينفّذ أي إجراء

السبب الأكثر شيوعًا لهذه المشكلة هو أنّ لديك دالة تنفّذ عملية، ولكنّك لا تستدعيها من طريقة main(). يحدث ذلك عادةً عند نسخ مقتطفات الرموز ولصقها من مستنداتنا.

نهج البرمجة مقتطف الرمز
الإصدار 1 (لا يعمل)
function main() {
  // Call to getCampaigns is missing, so this script does nothing.
}

function getCampaigns() {
  // AdsApp.campaigns() will return all Search and Display campaigns
  // that are not removed by default.
  let campaignIterator = AdsApp.campaigns().get();
  console.log('Total campaigns found : ' +
      campaignIterator.totalNumEntities());
  while (campaignIterator.hasNext()) {
    let campaign = campaignIterator.next();
    console.log(campaign.getName());
  }
}
الإصدار 2 (لا يعمل)
function main() {
  // Call to getCampaigns is missing, so this script does nothing.

  function getCampaigns() {
    // AdsApp.campaigns() will return all Search and Display campaigns
    // that are not removed by default.
    let campaignIterator = AdsApp.campaigns().get();
    console.log('Total campaigns found : ' +
        campaignIterator.totalNumEntities());
    while (campaignIterator.hasNext()) {
      let campaign = campaignIterator.next();
      console.log(campaign.getName());
    }
  }
}
الإصدار 3 (يعمل)
function main() {
  getCampaigns();
}

function getCampaigns() {
  // AdsApp.campaigns() will return all Search and Display campaigns
  // that are not removed by default.
  let campaignIterator = AdsApp.campaigns().get();
  console.log('Total campaigns found : ' +
      campaignIterator.totalNumEntities());
  while (campaignIterator.hasNext()) {
    let campaign = campaignIterator.next();
    Logger.log(campaign.getName());
  }
}

يظهر الخطأ "Cannot find function getFinalUrl" (تعذّر العثور على الدالة getFinalUrl) عند ترقية النصوص البرمجية

قد يظهر هذا الخطأ عند تغيير النص البرمجي ليعمل مع عناوين URL التي تمت ترقيتها. يحدث ذلك عند استبدال طلبات ad.getDestinationUrl() بـ ad.getFinalUrl(). getFinalUrl() هي جزء من فئة AdUrls، لذا عليك تغيير الرمز إلى ad.urls().getFinalUrl():

    function main() {
      // Incorrect snippet. getFinalUrl is not a member of the Ad class.
      let ad = AdsApp.ads().get().next();
      let url = ad.getFinalUrl();

      // Correct snippet.
      let ad = AdsApp.ads().get().next();
      let url = ad.urls().getFinalUrl();
    }

لا تظهر لي أي إحصاءات لـ X

عدم توفّر البيانات لكيان أو نطاق تاريخ معيّن هو خطأ شائع قد يظهر لك عند تشغيل التقارير أو إجراء طلبات الإحصاءات. في ما يلي بعض الإجراءات التي يمكنك تجربتها:

  1. تحقَّق من النطاق الزمني الذي تستردّ الإحصاءات أو تشغّل التقارير له.

  2. إذا كنت تستردّ إحصاءات على مستوى الحساب لنص برمجي في "إدارة إعلانات Google" يدير حسابات بعملات مختلفة، ستظهر لك التكلفة بعملة الحساب الإداري.

  3. قد لا تتوفّر بيانات "إعلانات Google" التي تبحث عنها بعد. يمكنك الاطّلاع على دليل سرعة توفُّر البيانات لمزيد من التفاصيل.

كيف يمكنني استخدام الميزة X؟

يمكنك الاطّلاع على مقتطفات الرموز و الحلول للحصول على أمثلة حول كيفية استخدام ميزة معيّنة. إذا لم تعثر على مقتطف رمز مناسب، يمكنك تقديم طلب في Discord.

هل ما زلت بحاجة إلى الدعم؟

إذا كنت بحاجة إلى مساعدة في مجال يمكننا تقديمها فيه، يُرجى الانتقال إلى صفحة الحصول على المساعدة.