مشکلات رایج

این مجموعه‌ای از مشکلات رایج است که توسط توسعه‌دهندگان جاوااسکریپت Google Ads مطرح شده است.

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

در اینجا چند خطای رایج جاوا اسکریپت آورده شده است.

اسکریپت با خطای «Cannot find function: FUNCTION_NAME» (تابع FUNCTION_NAME پیدا نشد) ناموفق است

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

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

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

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

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

رویکرد کدنویسی تکه‌کد
نسخه ۱ (کار نمی‌کند)
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());
  }
}
نسخه ۲ (کار نمی‌کند)
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());
    }
  }
}
نسخه ۳ (کار می‌کند)
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 پیدا نشد) را دریافت می‌کنم

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

  3. ‫Google Ads ممکن است هنوز داده‌هایی را که به‌دنبال آن هستید نداشته باشد. برای جزئیات، راهنمای تازگی داده ما را ببینید.

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

برای نمونه‌هایی از نحوه استفاده از یک ویژگی خاص، تکه‌کدهای و راه‌حل‌های ما را ببینید. اگر تکه‌کد مناسبی پیدا نکردید، می‌توانید در discord درخواست دهید.

هنوز به پشتیبانی نیاز دارید؟

اگر در زمینه‌ای که می‌توانیم کمک کنیم به راهنمایی نیاز دارید، به صفحه دریافت راهنمایی بروید.