এই নির্দেশিকায় এমন কিছু সেরা পদ্ধতি আলোচনা করা হয়েছে যা আপনি আপনার অ্যাপগুলোর কার্যকারিতা ও পারফরম্যান্স উন্নত করতে প্রয়োগ করতে পারেন।
আপনার অ্যাপটি রক্ষণাবেক্ষণ করুন
আপনার অ্যাপটি যাতে নিরবচ্ছিন্নভাবে চলে, তা নিশ্চিত করতে নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করুন:
আপনার গুগল ক্লাউড প্রজেক্টের মালিক এবং সম্পাদকদের তালিকা হালনাগাদ আছে কিনা তা নিশ্চিত করুন। যেকোনো জরুরি অবস্থা বা এপিআই শর্তাবলী ও নিয়মাবলী মেনে চলার সাথে সম্পর্কিত বিষয়ে আমরা এই ব্যবহারকারীদের সাথে যোগাযোগ করব। এপিআই শর্তাবলী ও নিয়মাবলী মেনে চলার বিষয়ে যদি আমরা আপনার সাথে যোগাযোগ করতে না পারি, তাহলে আপনার এপিআই অ্যাক্সেস কমিয়ে দেওয়া হতে পারে বা বাতিল করা হতে পারে।
পণ্যের পরিবর্তন, রক্ষণাবেক্ষণের জন্য বন্ধ থাকা সময় এবং বাতিলের তারিখের মতো বিষয়গুলি সম্পর্কে অবহিত হতে, আমাদের এপিআই ব্লগ এবং প্রোডাক্ট ব্লগে সাবস্ক্রাইব করুন।
আপনার অ্যাপটিকে গুগল অ্যাডস এপিআই-এর শর্তাবলী (T&C) মেনে চলুন। প্রয়োজন হলে, এপিআই কমপ্লায়েন্স টিম আপনার এপিআই অ্যাক্সেস থাকা গুগল ক্লাউড প্রজেক্টের মালিক এবং সম্পাদকদের সাথে যোগাযোগ করবে। শর্তাবলী (T&C) সম্পর্কে আপনার কোনো প্রশ্ন বা উদ্বেগ থাকলে, আপনার এপিআই অ্যাক্সেস আবেদন পর্যালোচনার সময় পাঠানো ইমেলের উত্তর দিয়ে আপনি কমপ্লায়েন্স টিমের সাথে যোগাযোগ করতে পারেন।
অপ্টিমাইজেশন
আপনি ব্যাচ অপারেশন চালিয়ে এবং প্রয়োজন অনুযায়ী স্পার্স অবজেক্ট পাঠিয়ে আপনার অ্যাপকে অপ্টিমাইজ করতে পারেন।
ব্যাচ অপারেশন
এপিআই-তে একটি অনুরোধ পাঠানোর সাথে বেশ কিছু নির্দিষ্ট খরচ জড়িত থাকে, যেমন রাউন্ড-ট্রিপ নেটওয়ার্ক ল্যাটেন্সি, সিরিয়ালাইজেশন ও ডিসিরিয়ালাইজেশন প্রসেসিং এবং ব্যাকএন্ড সিস্টেমে কল করা। এই নির্দিষ্ট খরচগুলোর প্রভাব কমাতে এবং সামগ্রিক পারফরম্যান্স বাড়াতে, এপিআই-এর বেশিরভাগ মিউটেট মেথড একাধিক অপারেশনের একটি অ্যারে গ্রহণ করার জন্য ডিজাইন করা হয়েছে। প্রতিটি অনুরোধে একাধিক অপারেশনকে ব্যাচিং করার মাধ্যমে, আপনি আপনার অনুরোধের সংখ্যা এবং এর সাথে সম্পর্কিত নির্দিষ্ট খরচ কমাতে পারেন। সম্ভব হলে, শুধুমাত্র একটি অপারেশনযুক্ত অনুরোধ করা থেকে বিরত থাকুন।
উদাহরণস্বরূপ, ধরুন আপনি একাধিক অ্যাড গ্রুপ জুড়ে একটি ক্যাম্পেইনে ৫০,০০০ কীওয়ার্ড যোগ করছেন। প্রতিটিতে ১টি করে কীওয়ার্ড দিয়ে ৫০,০০০টি রিকোয়েস্ট করার পরিবর্তে, প্রতিটিতে ৫০০টি কীওয়ার্ড দিয়ে ১০০টি রিকোয়েস্ট করুন, অথবা প্রতিটিতে ৫,০০০টি কীওয়ার্ড দিয়ে ১০টি রিকোয়েস্ট করুন। একটি রিকোয়েস্টে অনুমোদিত অপারেশনের সংখ্যার সীমাবদ্ধতা রয়েছে, তাই সর্বোত্তম পারফরম্যান্স অর্জনের জন্য আপনাকে আপনার ব্যাচ সাইজ সামঞ্জস্য করতে হতে পারে।
স্পার্স অবজেক্ট পাঠান
যখন এপিআই-তে অবজেক্ট পাঠানো হয়, তখন ফিল্ডগুলোকে অবশ্যই ডিসিরিয়ালাইজ, ভ্যালিডেট এবং ডেটাবেসে সংরক্ষণ করতে হয়। শুধুমাত্র কয়েকটি ফিল্ড আপডেট করার জন্য সম্পূর্ণ অবজেক্ট পাঠালে অতিরিক্ত প্রসেসিং সময় লাগতে পারে এবং পারফরম্যান্স কমে যেতে পারে। এই সমস্যা সমাধানের জন্য, গুগল অ্যাডস এপিআই স্পার্স আপডেট সমর্থন করে, যা আপনাকে একটি অবজেক্টের শুধুমাত্র সেই ফিল্ডগুলো পূরণ করার সুযোগ দেয় যেগুলো আপনার পরিবর্তন করা প্রয়োজন বা যেগুলো আবশ্যক। স্পার্স আপডেট দ্রুত প্রসেস হয় এবং এতে ত্রুটি হওয়ার সম্ভাবনা কম থাকে। যে ফিল্ডগুলো update_mask (যা FieldMask নামেও পরিচিত) এর অন্তর্ভুক্ত নয়, সেগুলো অপরিবর্তিত থাকে।
উদাহরণস্বরূপ, যে অ্যাপ কীওয়ার্ড-স্তরের বিড আপডেট করে, সেটি স্পার্স আপডেট ব্যবহার করে উপকৃত হতে পারে, কারণ সেক্ষেত্রে শুধুমাত্র অ্যাড গ্রুপ আইডি, ক্রাইটেরিয়ন আইডি এবং বিডস ফিল্ডগুলো পূরণ করার প্রয়োজন হবে।
ত্রুটি পরিচালনা এবং ব্যবস্থাপনা
ডেভেলপমেন্টের সময় আপনি ত্রুটির সম্মুখীন হতে পারেন। এই বিভাগে আপনার অ্যাপে ত্রুটি ব্যবস্থাপনা অন্তর্ভুক্ত করার জন্য বিবেচ্য বিষয় এবং কৌশল বর্ণনা করা হয়েছে। এই বিভাগটি ছাড়াও, ত্রুটি ব্যবস্থাপনা সম্পর্কে আরও তথ্যের জন্য ট্রাবলশুটিং গাইডটি দেখুন।
অনুরোধের উৎসগুলি আলাদা করুন
কিছু অ্যাপ প্রধানত ইন্টারেক্টিভ হয়, যেগুলো ইউজার ইন্টারফেসে (UI) ব্যবহারকারীর নেওয়া পদক্ষেপের প্রতিক্রিয়ায় সরাসরি এপিআই (API) কল করে। অন্যগুলো প্রধানত অফলাইনে কাজ করে এবং একটি নির্দিষ্ট ব্যাকএন্ড প্রক্রিয়ার অংশ হিসেবে এপিআই কল করে। অনেক অ্যাপ এই দুইয়ের সমন্বয় করে। এরর ম্যানেজমেন্টের কথা ভাবার সময়, এই বিভিন্ন ধরনের রিকোয়েস্টের মধ্যে পার্থক্য করাটা সহায়ক হতে পারে।
ব্যবহারকারীর পক্ষ থেকে করা অনুরোধের ক্ষেত্রে, আপনার প্রধান লক্ষ্য হওয়া উচিত ব্যবহারকারীদের একটি ভালো অভিজ্ঞতা প্রদান করা। UI-তে ব্যবহারকারীকে যথাসম্ভব প্রাসঙ্গিক তথ্য দেওয়ার জন্য, ঘটে যাওয়া নির্দিষ্ট ত্রুটিটি ব্যবহার করুন। ত্রুটিটি সমাধান করার জন্য তারা কী কী স্পষ্ট পদক্ষেপ নিতে পারে, তা জানান (নিম্নলিখিত পরামর্শগুলো দেখুন)।
ব্যাকএন্ড থেকে শুরু হওয়া অনুরোধগুলোর জন্য, আপনার অ্যাপে যে বিভিন্ন ধরনের ত্রুটি দেখা দিতে পারে, সেগুলোর জন্য হ্যান্ডলার প্রয়োগ করুন। বিরল বা পূর্বে সম্মুখীন না হওয়া ত্রুটিগুলো মোকাবেলার জন্য সর্বদা একটি ডিফল্ট হ্যান্ডলার অন্তর্ভুক্ত করুন। ডিফল্ট হ্যান্ডলারের জন্য একটি ভালো পদ্ধতি হলো ব্যর্থ অপারেশন এবং ত্রুটিটিকে একটি কিউ-তে যুক্ত করা, যাতে একজন মানব অপারেটর তা পর্যালোচনা করে একটি উপযুক্ত সমাধান নির্ধারণ করতে পারেন।
ত্রুটির প্রকারভেদ চিহ্নিত করুন
শক্তিশালী এরর হ্যান্ডলিং তৈরি করার জন্য গুগল অ্যাডস এপিআই-এর বিভিন্ন ধরনের এররের মধ্যে পার্থক্য জানা অত্যন্ত গুরুত্বপূর্ণ। সবচেয়ে সাধারণ কিছু এরর হলো:
আরও বিস্তারিত তথ্যের জন্য ত্রুটির প্রকারভেদ এবং সাধারণ ত্রুটিসমূহ দেখুন।
সিঙ্ক ব্যাকএন্ড
যদি আপনার অ্যাপের ব্যবহারকারীদের গুগল অ্যাডস অ্যাকাউন্টে ম্যানুয়াল অ্যাক্সেস থাকে, তাহলে তারা এমন কিছু পরিবর্তন করতে পারে যা আপনার অ্যাপের অজানা, যার ফলে আপনার অ্যাপের লোকাল ডেটাবেস সিঙ্ক থেকে বেরিয়ে যেতে পারে। আমাদের 'এরর টাইপস' গাইডে যেমন উল্লেখ করা হয়েছে, সিঙ্ক-সম্পর্কিত ত্রুটিগুলো ঘটলে আপনি তাৎক্ষণিকভাবে সেগুলোর সমাধান করতে পারেন, তবে আপনি সক্রিয়ভাবে সেগুলো প্রতিরোধ করারও চেষ্টা করতে পারেন। একটি সক্রিয় কৌশল হলো আপনার অ্যাকাউন্টের গুগল অ্যাডস অবজেক্টগুলোর সাথে আপনার লোকাল ডেটাবেসকে মেলানোর জন্য একটি নির্দিষ্ট সময় অন্তর সিঙ্ক জব চালানো। বড় অ্যাকাউন্ট হায়ারার্কির ক্ষেত্রে, দৈনিক কোটা শেষ হয়ে যাওয়া এড়াতে প্রতি রাতে প্রতিটি অ্যাকাউন্টের সমস্ত অবজেক্ট পুল করা থেকে বিরত থাকুন; এর পরিবর্তে, পর্যায়ক্রমে পরিবর্তনগুলো সিঙ্ক করার জন্য ChangeStatus কোয়েরি করুন অথবা সম্প্রতি পরিবর্তিত এনটিটিগুলোর জন্য ফিল্টার করুন।
লগ ত্রুটি
ডিবাগিং এবং মনিটরিং সহজ করার জন্য সমস্ত ত্রুটি লগ করা উচিত। ন্যূনতমপক্ষে, রিকোয়েস্ট আইডি, যে অপারেশনগুলোর কারণে ত্রুটি ঘটেছে, এবং স্বয়ং ত্রুটিটি লগ করুন। লগ করার জন্য অন্যান্য তথ্যের মধ্যে রয়েছে কাস্টমার আইডি, এপিআই সার্ভিস, রাউন্ড-ট্রিপ রিকোয়েস্ট ল্যাটেন্সি, রিট্রাইয়ের সংখ্যা, এবং স্যানিটাইজড র রিকোয়েস্ট ও রেসপন্স (অবশ্যই সংবেদনশীল ক্রেডেনশিয়াল যেমন OAuth টোকেন, ডেভেলপার টোকেন (যদি এখনও লিগ্যাসি রিকোয়েস্ট হেডারে অন্তর্ভুক্ত থাকে) এবং যেকোনো PII গোপন করতে হবে)।
প্রবণতা পর্যবেক্ষণ করুন
এপিআই (API) ত্রুটির প্রবণতা পর্যবেক্ষণ করতে ভুলবেন না, যাতে আপনি আপনার অ্যাপের সমস্যাগুলো শনাক্ত ও সমাধান করতে পারেন। নিজের সমাধান তৈরি করার কথা ভাবতে পারেন অথবা বাজারে উপলব্ধ অনেক বাণিজ্যিক টুলগুলোর মধ্যে যেকোনো একটি ব্যবহার করতে পারেন, যা আপনার লগ ব্যবহার করে ইন্টারেক্টিভ ড্যাশবোর্ড তৈরি করতে এবং স্বয়ংক্রিয় অ্যালার্ট পাঠাতে পারে।
উন্নয়ন
উন্নয়নের সময় টেস্ট অ্যাকাউন্ট ব্যবহার করুন।
টেস্ট অ্যাকাউন্ট ব্যবহার করুন
টেস্ট অ্যাকাউন্ট হলো এমন গুগল অ্যাডস অ্যাকাউন্ট যা আসলে কোনো বিজ্ঞাপন দেখায় না। আপনি গুগল অ্যাডস এপিআই নিয়ে পরীক্ষা-নিরীক্ষা করতে এবং আপনার অ্যাপের কানেক্টিভিটি, ক্যাম্পেইন ম্যানেজমেন্ট লজিক বা অন্যান্য প্রসেসিং প্রত্যাশিতভাবে কাজ করছে কিনা তা যাচাই করতে একটি টেস্ট অ্যাকাউন্ট ব্যবহার করতে পারেন। একটি টেস্ট অ্যাকাউন্টে ব্যবহারের জন্য আপনার গুগল ক্লাউড প্রজেক্টে শুধুমাত্র টেস্ট অ্যাক্সেস থাকলেই চলে, তাই উচ্চতর এপিআই অ্যাক্সেস লেভেলের জন্য গুগল আপনার অ্যাপ্লিকেশনটি পর্যালোচনা করার অপেক্ষায় থাকাকালীন আপনি অবিলম্বে গুগল অ্যাডস এপিআই দিয়ে ডেভেলপমেন্ট শুরু করতে পারেন।