সম্পদ

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

আপনার ক্যাম্পেইন পরিকল্পনা করার সময় ডিমান্ড জেন অ্যাসেটের স্পেসিফিকেশন এবং সেরা অনুশীলন নির্দেশিকাটি দেখে নিন।

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

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

ছবির সম্পদ

ইমেজ অ্যাসেটগুলো বেস-৬৪ এনকোডেড ফরম্যাটে আপলোড করা হয়। যেহেতু আপনি সরাসরি গুগল অ্যাডস স্ক্রিপ্টে ছবি আপলোড করতে পারবেন না, তাই ছবির ডেটা সংগ্রহ এবং আপলোডের জন্য তা এনকোড করার দুটি ভিন্ন পদ্ধতি রয়েছে।

গুগল ড্রাইভ থেকে একটি ছবি আনতে, প্রথমে আপনার এটির আইডি প্রয়োজন হবে, যা ছবিটিকে স্বতন্ত্রভাবে শনাক্ত করার সেরা উপায়। আইডি পাওয়ার একটি উপায় হলো গুগল ড্রাইভ 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())
      }
    }
  }
}

বিকল্পভাবে, আপনি UrlFetchApp ব্যবহার করে কোনো ওয়েব সার্ভারে হোস্ট করা ছবির URL-এর মাধ্যমে তা আনতে পারেন:

const file = UrlFetchApp.fetch(imageUrl);

এরপর আপনি এই ফাইলটিতে ঠিক সেভাবেই getBlob কল করতে পারবেন, যেভাবে আপনি একটি Drive ফাইলের ক্ষেত্রে করেন, তাই অপারেশনটির গঠন একটি Google Drive ফাইলের ধাপগুলোর মতোই।

ভিডিও সম্পদ

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

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);