অ্যাসেট

ডিমান্ড জেনারেশন ক্যাম্পেন তৈরি করার আগে, ক্যাম্পেনে ব্যবহার করার জন্য প্ল্যান করা সব অ্যাসেট ইমপোর্ট করা গুরুত্বপূর্ণ। আপনি যেকোনও সময় ফিরে এসে পরে অ্যাসেট যোগ করতে পারেন, তবে শুরু করার জন্য আপনার কাছে অ্যাসেটের সেট থাকতে হবে।

ক্যাম্পেন প্ল্যান করার সময় ডিমান্ড জেনারেশন অ্যাসেট স্পেসিফিকেশন ও পেশাদার পদ্ধতির গাইড চেক করে দেখুন।

ছবি ও ভিডিও অ্যাসেট হল প্রাথমিক অ্যাসেটের ধরন এবং এই নির্দেশিকায় এই দু'টি অ্যাসেটের প্রত্যেকটি কীভাবে আপলোড করতে হয় তা দেখানো হবে। এইসব নীতি অন্যান্য অ্যাসেট টাইপের ক্ষেত্রেও প্রযোজ্য। আপনি যে ধরনের অ্যাসেটই তৈরি করুন না কেন, সেটি তৈরি করতে AssetOperation ব্যবহার করুন।

মিউটেট ব্যবহার না করে AdsApp ব্যবহার করে অ্যাসেট তৈরি করা যেতে পারে, তবে ধারাবাহিকতা বজায় রাখার জন্য এই নির্দেশিকাটি বাকি সব অপারেশনের মতো একই উপায়ে এটি করে। মনে রাখবেন, আপনার কাছে আগে থেকেই উপলভ্য কিছু অ্যাসেট থাকলে, আপনি সেগুলি আবার ব্যবহার করতে পারেন এবং করা উচিত। তাই, ডিমান্ড জেনারেশন ক্যাম্পেন তৈরি করার জন্য আপনার কাছে অ্যাসেট থাকা প্রয়োজন হলেও, ক্যাম্পেন তৈরির প্রসেসের অংশ হিসেবে আপনাকে সেগুলি তৈরি করতেই হবে, এমন কোনও বাধ্যবাধকতা নেই।

ছবি অ্যাসেট

ইমেজ অ্যাসেট base-64 এনকোড করা ফর্ম্যাটে আপলোড করা হয়। আপনি সরাসরি Google Ads স্ক্রিপ্টে ছবি আপলোড করতে পারবেন না, তাই ছবির ডেটা পাওয়া এবং আপলোড করার জন্য এটি এনকোড করার দুটি আলাদা পদ্ধতি রয়েছে।

Google Drive থেকে কোনও ছবি ফেচ করতে, প্রথমে আপনাকে এটির ID জানতে হবে, যা হল ছবিটি অনন্যভাবে শনাক্ত করার সেরা উপায়। আইডি পাওয়ার একটি উপায় হল Google Drive UI থেকে শেয়ার করা যাবে এমন লিঙ্ক কপি করা এবং আইডি এক্সট্র্যাক্ট করা। এছাড়াও, আপনি প্রোগ্রাম্যাটিক্যালি একাধিক ফাইল ফেচ করতে এবং যেগুলি আপলোড করতে চান সেগুলি বেছে নিতে পারবেন। এই কোডটি দেখায় যে কীভাবে একটি পরিচিত আইডি সহ একটি ছবি আপলোড করতে হয়:

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 ফাইলের ধাপের মতোই।

ভিডিও অ্যাসেট

ভিডিও অ্যাসেট YouTube ভিডিওর মাধ্যমে ম্যানেজ করা হয়। আপনি ক্যাম্পেন তৈরি করার প্রসেসের অংশ হিসেবে অ্যাসেট আপলোড করলে, একটি সাময়িক আইডি ব্যবহার করুন। অন্যথায়, ফেরত আসা রিসোর্সের নাম নোট করে রাখুন যাতে ভবিষ্যতে কোনও অ্যাসেট গ্রুপে অ্যাসেট যোগ করার সময় রেফারেন্স হিসেবে ব্যবহার করতে পারেন।

const videoAsset = {
  "assetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
      "name": "Marketing video",
      "type": "YOUTUBE_VIDEO",
      "youtube_video_asset": {
        "youtube_video_title": "Demand Gen video",
        "youtube_video_id": "123456789"
      }
    }
  }
}
operations.push(videoAsset);