مسائل رایج

این مجموعه ای از رایج ترین مسائل مطرح شده در انجمن اسکریپت های تبلیغات گوگل است.

خطاهای رایج جاوا اسکریپت

اسکریپت با "عملکرد پیدا نشد: FUNCTION_NAME" ناموفق است

این معمولاً نتیجه غلط املایی نام تابع در اسکریپت است.

  1. بررسی کنید که نام تابع به درستی نوشته شده باشد و حروف املای صحیحی داشته باشد. به عنوان مثال، AdsApp.keywordz() منجر به این خطا می شود، زیرا keywordz یک تابع معتبر در کلاس AdsApp نیست. AdsApp.Keywords() نیز به دلیل حروف املایی نادرست برای تابع keywords() شکست خواهد خورد.

  2. بررسی کنید که تابع وجود دارد. به عنوان مثال، AdsApp.keywords().next() شکست خواهد خورد زیرا AdsApp.keywords() یک KeywordSelector برمی گرداند در حالی که next() متدی برای یک شی KeywordIterator است. کد صحیح AdsApp.keywords().get().next() خواهد بود.

اسکریپت من اجرا می شود، اما کاری انجام نمی دهد

شایع ترین دلیل این مشکل این است که شما تابعی دارید که عملیاتی را انجام می دهد، اما آن را از متد main() فراخوانی نمی کنید. این معمولاً زمانی اتفاق می‌افتد که قطعه‌های کد را از اسناد ما کپی-پیست می‌کنید.

رویکرد کدگذاری قطعه کد
نسخه 1 (کار نمی کند)
function main() {
  // Call to getAllCampaigns is missing, so this script does nothing.
}

function getAllCampaigns() {
  // AdsApp.campaigns() will return all 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 getAllCampaigns is missing, so this script does nothing.

  function getAllCampaigns() {
    // AdsApp.campaigns() will return all 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() {
  getAllCampaigns();
}

function getAllCampaigns() {
  // AdsApp.campaigns() will return all 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());
  }
}

هنگام ارتقای اسکریپت‌هایم با خطای "نمی‌توان تابع 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. اگر آمار سطح حساب را برای یک اسکریپت Ads Manager که حساب‌های ارزهای مختلف را مدیریت می‌کند، بازیابی کنید، هزینه را به واحد پول حساب مدیر برمی‌گردانید.

  3. ممکن است Google Ads هنوز اطلاعات مورد نظر شما را نداشته باشد. برای جزئیات به راهنمای تازه‌سازی داده‌های ما مراجعه کنید.

درخواست های ویژگی

آیا ویژگی X موجود است؟

اسناد مرجع ما را بررسی کنید.

ویژگی X چه زمانی در دسترس خواهد بود؟

ما سعی می‌کنیم ابتدا روی ویژگی‌های درخواستی کار کنیم. اگر ویژگی‌ای وجود دارد که می‌خواهید ببینید، مراحل زیر را دنبال کنید:

  1. ابتدا، با بررسی مستندات مرجع ، تأیید کنید که این ویژگی در اسکریپت‌های Google Ads پشتیبانی نمی‌شود.

  2. اگر در دسترس نیست، انجمن اسکریپت‌های تبلیغات Google را جستجو کنید تا ببینید آیا قبلاً درباره آن سؤال شده است یا خیر. اگر بله، به آن موضوع رأی مثبت دهید، یا اگر می‌خواهید جزئیات بیشتری مانند یک مورد استفاده را به اشتراک بگذارید، نظر بدهید.

  3. اگر این ویژگی هنوز درخواست نشده است، با باز کردن یک رشته جدید در انجمن اسکریپت‌های Google Ads، یک درخواست ویژگی ارائه دهید. مطمئن شوید که یک مورد استفاده ارائه کرده اید که این ویژگی حل می کند. در صورت امکان، پیوندی به راهنمای مرکز راهنمایی یا پست/راهنمای وبلاگ AdWords API اضافه کنید که این ویژگی را توصیف می کند. این به سایر توسعه‌دهندگان کمک می‌کند تا به یک درخواست ویژگی رأی مثبت دهند. ما درخواست های ویژگی را بر اساس محبوبیت آنها اولویت بندی می کنیم.

  4. پست را به عنوان "درخواست ویژگی" تگ کنید تا بررسی سریع درخواست های ویژگی برای ما (و همچنین کاربران) آسان تر شود.

چگونه از ویژگی X استفاده کنم؟

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