এই নির্দেশিকা নিরাপত্তা, কর্মক্ষমতা, এবং খরচের ক্ষেত্রে আপনার Google মানচিত্র API-এর ব্যবহার অপ্টিমাইজ করার জন্য বিভিন্ন কৌশল বর্ণনা করে।
নিরাপত্তা
নিরাপত্তা সেরা অনুশীলন পর্যালোচনা
API কীগুলি হল প্রজেক্ট-কেন্দ্রিক শংসাপত্র যা ব্যবহারকারীর আইডি এবং পাসওয়ার্ডগুলির মতো একই সতর্কতা প্রাপ্য। আপনার কীগুলিকে অনিচ্ছাকৃত ব্যবহার থেকে সুরক্ষিত করতে API নিরাপত্তার সর্বোত্তম অনুশীলনগুলি পর্যালোচনা করুন যা আপনার অ্যাকাউন্টে অপ্রত্যাশিত কোটা ব্যবহার এবং অপ্রত্যাশিত চার্জের দিকে নিয়ে যেতে পারে৷
মানচিত্র API অ্যাক্সেস করতে API কী ব্যবহার করে
API কী হল Google Maps APIs API অ্যাক্সেস করার জন্য পছন্দের প্রমাণীকরণ পদ্ধতি। যদিও ক্লায়েন্ট আইডিগুলি ব্যবহার করা এখনও সমর্থিত, API কীগুলি সূক্ষ্ম-দানাযুক্ত সুরক্ষা নিয়ন্ত্রণগুলিকে সমর্থন করে এবং নির্দিষ্ট ওয়েব ঠিকানা, IP ঠিকানা এবং মোবাইল SDKs (Android এবং iOS) এর সাথে কাজ করার জন্য টিউন করা যেতে পারে। একটি API কী তৈরি এবং সুরক্ষিত করার বিষয়ে তথ্যের জন্য, প্রতিটি API বা SDK-এর জন্য "একটি API কী ব্যবহার করা" পৃষ্ঠায় যান৷ (উদাহরণস্বরূপ, মানচিত্র জাভাস্ক্রিপ্ট API-এর জন্য, একটি API কী ব্যবহার করার পৃষ্ঠায় যান।)
কর্মক্ষমতা
ত্রুটিগুলি পরিচালনা করতে সূচকীয় ব্যাকঅফ ব্যবহার করে৷
যদি আপনার অ্যাপগুলি স্বল্প সময়ের মধ্যে একটি API কল করার অত্যধিক প্রচেষ্টা থেকে ত্রুটি অনুভব করে, যেমন কোটা ত্রুটি, অনুরোধগুলি প্রক্রিয়া করতে দেওয়ার জন্য সূচকীয় ব্যাকঅফ ব্যবহার করার কথা বিবেচনা করুন৷
500 এর মধ্যে ত্রুটির জন্য সূচকীয় ব্যাকঅফ সবচেয়ে কার্যকর। আরও তথ্যের জন্য, HTTP রিটার্ন স্ট্যাটাস কোড হ্যান্ডলিং দেখুন।
বিশেষ করে, আপনার প্রশ্নের গতি সামঞ্জস্য করুন। আপনার কোডে, প্রশ্নের মধ্যে S
সেকেন্ডের অপেক্ষার সময় যোগ করুন। যদি কোয়েরিতে এখনও একটি কোটা ত্রুটি দেখা দেয়, তাহলে অপেক্ষার সময় দ্বিগুণ করুন এবং তারপরে অন্য প্রশ্ন পাঠান। কোনো ত্রুটি ছাড়াই ক্যোয়ারী ফিরে না আসা পর্যন্ত অপেক্ষার সময় সামঞ্জস্য করা চালিয়ে যান।
চাহিদা অনুযায়ী ব্যবহারকারী-মিথস্ক্রিয়া অনুরোধ পাঠানো
ব্যবহারকারীর মিথস্ক্রিয়া অন্তর্ভুক্ত API-তে অনুরোধ শুধুমাত্র চাহিদা অনুযায়ী পাঠানো উচিত। এর মানে শেষ ব্যবহারকারীর API অনুরোধ শুরু করার জন্য একটি ক্রিয়া (যেমন on-click
) করার জন্য অপেক্ষা করা, তারপর একটি মানচিত্র লোড করতে, একটি গন্তব্য সেট করতে বা উপযুক্ত তথ্য প্রদর্শন করতে ফলাফলগুলি ব্যবহার করে৷ একটি অন-ডিমান্ড পদ্ধতি ব্যবহার করে API-এর কাছে অপ্রয়োজনীয় অনুরোধ এড়িয়ে যায়, API খরচ কমায়।
যখন একটি মানচিত্র সরানো হয় তখন ওভারলে বিষয়বস্তু প্রদর্শন করা এড়িয়ে চলা
একটি মানচিত্রে কাস্টম ওভারলে বিষয়বস্তু প্রদর্শন করতে Draw()
ব্যবহার করা এড়িয়ে চলুন যখন একজন ব্যবহারকারী মানচিত্র সরাতে পারে। যেহেতু প্রতিবার একজন ব্যবহারকারী মানচিত্র সরানোর সময় মানচিত্রটি পুনরায় আঁকা হয়, তাই একই সময়ে মানচিত্রে ওভারলে বিষয়বস্তু স্থাপন করা ল্যাগ বা ভিজ্যুয়াল তোতলাতে পারে। ব্যবহারকারী প্যান করা বা জুম করা বন্ধ করে দিলেই শুধুমাত্র ম্যাপ থেকে ওভারলে কন্টেন্ট যোগ করুন বা সরিয়ে দিন।
Draw
পদ্ধতিতে নিবিড় ক্রিয়াকলাপ এড়ানো
একটি সাধারণ নিয়ম হিসাবে, একটি Draw()
পদ্ধতিতে কর্মক্ষমতা-নিবিড় নন-ড্রয়িং ক্রিয়াকলাপগুলি এড়ানো ভাল অনুশীলন। উদাহরণস্বরূপ, আপনার Draw()
পদ্ধতি কোডে নিম্নলিখিতগুলি এড়িয়ে চলুন:
- ক্যোয়ারী যা বিপুল পরিমাণ কন্টেন্ট ফেরত দেয়।
- তথ্য অনেক পরিবর্তন প্রদর্শিত হচ্ছে.
- অনেক ডকুমেন্ট অবজেক্ট মডেল (DOM) এলিমেন্ট ম্যানিপুলেট করা।
এই ক্রিয়াকলাপগুলি কর্মক্ষমতা ধীর করে দিতে পারে এবং মানচিত্র রেন্ডার করার সময় ল্যাগ বা ভিজ্যুয়াল তোতলাতে পারে।
মার্কার জন্য রাস্টার ইমেজ ব্যবহার করে
রাস্টার ছবি ব্যবহার করুন, যেমন .PNG বা .JPG ফরম্যাটে ছবি, ম্যাপে অবস্থান শনাক্ত করতে মার্কার যোগ করার সময়। স্কেলেবল ভেক্টর গ্রাফিক্স (SVG) ইমেজ ব্যবহার করা এড়িয়ে চলুন, যেহেতু SVG ইমেজ রেন্ডার করলে মানচিত্র পুনরায় আঁকা হলে ল্যাগ হতে পারে।
মার্কার অপ্টিমাইজ করা
অপ্টিমাইজেশান একটি একক স্ট্যাটিক উপাদান হিসাবে অনেক মার্কার রেন্ডার করে কর্মক্ষমতা বাড়ায়। এটি এমন ক্ষেত্রে কার্যকর যেখানে প্রচুর সংখ্যক মার্কার প্রয়োজন। ডিফল্টরূপে, মানচিত্র জাভাস্ক্রিপ্ট API সিদ্ধান্ত নেবে একটি মার্কার অপ্টিমাইজ করা হবে কিনা। যখন প্রচুর সংখ্যক মার্কার থাকে, তখন মানচিত্র জাভাস্ক্রিপ্ট API অপ্টিমাইজেশান সহ মার্কার রেন্ডার করার চেষ্টা করবে। সব মার্কার অপ্টিমাইজ করা যাবে না; কিছু পরিস্থিতিতে, মানচিত্র জাভাস্ক্রিপ্ট API অপ্টিমাইজেশান ছাড়াই মার্কার রেন্ডার করতে হতে পারে। অ্যানিমেটেড GIF বা PNG-এর জন্য অপ্টিমাইজ রেন্ডারিং অক্ষম করুন, অথবা যখন প্রতিটি চিহ্নিতকারীকে একটি পৃথক DOM উপাদান হিসাবে রেন্ডার করতে হবে।
মার্কার প্রদর্শন পরিচালনা করার জন্য ক্লাস্টার তৈরি করা হচ্ছে
একটি মানচিত্রে অবস্থান সনাক্ত করতে মার্কার প্রদর্শন পরিচালনা করতে সাহায্য করতে, মার্কার ক্লাস্টার লাইব্রেরি ব্যবহার করে একটি মার্কার ক্লাস্টার তৈরি করুন৷ মার্কার ক্লাস্টার লাইব্রেরিতে এর জন্য বিকল্প রয়েছে:
- গ্রিডের আকার, একটি ক্লাস্টারে একসাথে গ্রুপ করার জন্য চিহ্নিতকারীর সংখ্যা নির্দিষ্ট করতে।
- সর্বোচ্চ জুম, সর্বোচ্চ জুম স্তর নির্দিষ্ট করতে যেখানে ক্লাস্টারটি প্রদর্শন করতে হবে।
- চিত্র পাথ, গ্রাফিক্স চিত্রগুলিকে মার্কার আইকন হিসাবে ব্যবহার করার জন্য৷
খরচ
আপনার বাজেট পরিকল্পনা করতে এবং আপনার খরচ নিয়ন্ত্রণ করতে, নিম্নলিখিতগুলি করুন:
- আপনার খরচ কিভাবে একটি নির্দিষ্ট পরিমাণের দিকে বাড়ছে তা ট্র্যাক করতে একটি বাজেট সতর্কতা সেট করুন । একটি বাজেট সেট করা API ব্যবহারকে সীমাবদ্ধ করে না - এটি শুধুমাত্র তখনই আপনাকে সতর্ক করে যখন আপনার খরচ আপনার নির্দিষ্ট পরিমাণের কাছাকাছি হয়।
- বিলযোগ্য API-এর জন্য আপনার খরচগুলি পরিচালনা করতে আপনার দৈনিক API ব্যবহার ক্যাপ করুন । প্রতিদিন অনুরোধের উপর ক্যাপ সেট করে, আপনি আপনার খরচ সীমিত করতে পারেন। আপনি কতটা ব্যয় করতে চান তার উপর নির্ভর করে আপনার দৈনিক ক্যাপ নির্ধারণ করতে একটি সাধারণ সমীকরণ ব্যবহার করুন: ( প্রতিটি মাসিক খরচ/মূল্য )/30 = অনুরোধ প্রতি দিনের ক্যাপ (একটি API-এর জন্য)। আপনার নির্দিষ্ট বাস্তবায়ন একাধিক বিলযোগ্য API ব্যবহার করতে পারে, তাই প্রয়োজন অনুযায়ী সমীকরণ সামঞ্জস্য করুন। প্রতি মাসে একটি $200 USD Google Maps API ক্রেডিট পাওয়া যায়, তাই এটিকে আপনার গণনায় বিবেচনা করুন।
- আপনার ব্যবহারকে আলাদা করতে, অগ্রাধিকার দিতে এবং ট্র্যাক করতে একাধিক প্রকল্প ব্যবহার করুন। উদাহরণস্বরূপ, ধরুন আপনি নিয়মিত আপনার পরীক্ষায় Google মানচিত্র প্ল্যাটফর্ম API ব্যবহার করেন। আপনার পরীক্ষার জন্য একটি পৃথক প্রকল্প তৈরি করে - এর নিজস্ব কোটা এবং API কীগুলির সাথে - আপনি আশ্চর্য অতিরিক্ত ব্যয়ের বিরুদ্ধে রক্ষা করার সময় পুঙ্খানুপুঙ্খভাবে পরীক্ষা করতে পারেন৷
ম্যাপে খরচ পরিচালনা করা
প্রতি পৃষ্ঠায় একটি একক মানচিত্র ব্যবহার করা মানচিত্র প্রদর্শন অপ্টিমাইজ করার একটি ভাল উপায়, যেহেতু ব্যবহারকারীরা সাধারণত একটি সময়ে শুধুমাত্র একটি মানচিত্রের সাথে যোগাযোগ করে। গ্রাহকের মিথস্ক্রিয়া এবং প্রয়োজনের উপর নির্ভর করে আপনার অ্যাপটি বিভিন্ন ডেটা সেট প্রদর্শনের জন্য মানচিত্রটি পরিচালনা করতে পারে।
স্ট্যাটিক ইমেজ ব্যবহার করে
গতিশীল চিত্রাবলী (ডাইনামিক ম্যাপ এবং ডায়নামিক স্ট্রীট ভিউ) ব্যবহার করা অনুরোধগুলি স্ট্যাটিক ম্যাপ এবং স্ট্যাটিক স্ট্রিট ভিউ থেকে বেশি খরচ করে৷ আপনি যদি মানচিত্র বা রাস্তার দৃশ্য (জুম বা প্যানিং) এর সাথে ব্যবহারকারীর ইন্টারঅ্যাকশনের পূর্বাভাস না পান তবে এই APIগুলির স্ট্যাটিক সংস্করণগুলি ব্যবহার করুন৷
থাম্বনেইল - খুব ছোট মানচিত্র এবং ফটো - স্ট্যাটিক মানচিত্র এবং স্ট্যাটিক রাস্তার দৃশ্যের জন্য আরেকটি ভাল ব্যবহার। এই আইটেমগুলিকে কম হারে এবং ব্যবহারকারীর ইন্টারঅ্যাকশনের (অন-ক্লিক) উপর বিল করা হয় এবং ব্যবহারকারীদের সম্পূর্ণ Google মানচিত্রের অভিজ্ঞতার জন্য একটি গতিশীল সংস্করণে নিয়ে যেতে পারে।
Maps Embed API ব্যবহার করে
আপনি একটি একক মার্কার সহ একটি মানচিত্র যোগ করতে মানচিত্র এম্বেড API ব্যবহার করতে পারেন, বা একটি গতিশীল মানচিত্র, বিনামূল্যে। অ্যাপ্লিকেশনগুলির জন্য মানচিত্র এম্বেড API ব্যবহার করুন যেখানে একটি একক মার্কার এবং কোনও মানচিত্র কাস্টমাইজেশনের প্রয়োজন নেই৷ দিকনির্দেশ মোড, ভিউ মোড বা অনুসন্ধান মোড ব্যবহার করে মানচিত্র এম্বেড API অনুরোধগুলি বিল করা হবে (বিশদ বিবরণের জন্য মূল্য সারণী দেখুন)।
মোবাইল অ্যাপ্লিকেশনের জন্য মোবাইল ম্যাপ SDK ব্যবহার করা
মোবাইল অ্যাপ্লিকেশনগুলির জন্য, একটি মানচিত্র প্রদর্শন করার সময় Android এর জন্য Maps SDK বা iOS এর জন্য Maps SDK ব্যবহার করুন৷ যখন মোবাইল SDK ব্যবহার করে প্রয়োজনীয়তা বাতিল হয়ে যায় তখন Maps Static API বা Maps JavaScript API ব্যবহার করুন।
রুটে খরচ ব্যবস্থাপনা
সীমাবদ্ধ দিকনির্দেশ API পথপয়েন্ট
যখন সম্ভব, একটি ক্যোয়ারীতে ব্যবহারকারীর এন্ট্রি সর্বাধিক 10টি ওয়েপয়েন্টে সীমাবদ্ধ করুন৷ 10 টির বেশি ওয়েপয়েন্ট সমন্বিত অনুরোধগুলি উচ্চ হারে বিল করা হয়।
সর্বোত্তম রাউটিং এর জন্য দিকনির্দেশ API অপ্টিমাইজেশান ব্যবহার করা
ওয়েপয়েন্ট অপ্টিমাইজেশান আর্গুমেন্ট ব্যবহার করে অনুরোধগুলি উচ্চ হারে বিল করা হয়। আরও তথ্যের জন্য, অপটিমাইজ ওয়েপয়েন্ট দেখুন।
অপ্টিমাইজেশন আর্গুমেন্ট সর্বোত্তম রাউটিং নিশ্চিত করার জন্য ওয়েপয়েন্ট বাছাই করে, যার অর্থ হল A থেকে E পর্যন্ত ভ্রমণ একটি ভাল অভিজ্ঞতা যখন অপ্টিমাইজ করা হয় (ABCDE) বনাম অ-অপ্টিমাইজ করা রুটের র্যান্ডম সিকোয়েন্স (যেমন ADBCE)।
দিকনির্দেশ API এবং দূরত্ব ম্যাট্রিক্স API-এ রিয়েল-টাইম ট্র্যাফিক মডেল ব্যবহার করা
দিকনির্দেশ API এবং দূরত্ব ম্যাট্রিক্স API অনুরোধগুলি যাতে রিয়েল-টাইম ট্র্যাফিক মডেল অন্তর্ভুক্ত থাকে উচ্চ হারে বিল করা হয়। রিয়েল-টাইম ট্র্যাফিক মডেলগুলি now
ছাড়ার সময় সেট করে সক্ষম করা হয়েছে৷
যদি একটি অনুরোধ থেকে ট্রাফিক মডেলগুলি বাদ দেওয়া হয়, ফলাফলগুলি শুধুমাত্র শারীরিক কারণগুলির উপর ভিত্তি করে: রাস্তা, দূরত্ব এবং গতি সীমা৷
GPS ডেটা অসম্পূর্ণ হলে রুট ভ্রমণ এবং নিকটতম রাস্তা ব্যবহার করা
Maps Roads API বৈশিষ্ট্য, রুট ট্রাভেলড এবং নেয়ারেস্ট রোড, উন্নত স্তরের অন্তর্ভুক্ত এবং উচ্চ হারে বিল করা হয়। এই বৈশিষ্ট্যগুলি ব্যবহার করুন যেখানে GPS ডেটা অসম্পূর্ণ এবং Roads API সঠিক রাস্তা নির্ধারণে সহায়তা করতে পারে৷ গতির সীমা, সড়ক API-এর আরেকটি বৈশিষ্ট্য, শুধুমাত্র সম্পদ ট্র্যাকিং গ্রাহকদের জন্য উপলব্ধ।
5- থেকে 15-মিনিটের ব্যবধানে গতিসীমার অবস্থানের নমুনা
Maps Roads API Speed Limit পরিষেবায় কলের পরিমাণ কমাতে, 5 থেকে 15 মিনিটের ব্যবধানে আপনার সম্পদের অবস্থানের নমুনা নিন। সঠিক মান নির্ভর করে কোন সম্পদের গতির উপর। যদি একটি সম্পদ স্থির থাকে, একটি একক অবস্থান নমুনা যথেষ্ট। একাধিক কল করার প্রয়োজন নেই।
সামগ্রিক লেটেন্সি কমাতে, প্রতিবার মোবাইল অ্যাসেটের অবস্থান পাওয়ার সময় API-কে কল করার পরিবর্তে আপনি কিছু ডেটা জমা করার পরে গতি সীমা পরিষেবাতে কল করুন।
জায়গায় খরচ পরিচালনা
অপ্টিমাইজ করা স্থান স্বয়ংসম্পূর্ণ বাস্তবায়ন
Place Autocomplete ব্যবহার করার খরচ অপ্টিমাইজ করতে:
JavaScript , Android , এবং iOS স্বয়ংসম্পূর্ণ উইজেটগুলিতে ফিল্ড মাস্কগুলি ব্যবহার করুন শুধুমাত্র আপনার প্রয়োজনীয় স্থান ডেটা ক্ষেত্রগুলি ফেরত দিতে৷
বিলিং বিকল্পগুলি নির্বাচন করুন আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে। আপনার বাস্তবায়ন স্বয়ংসম্পূর্ণ সেশন ব্যবহার করে কিনা তার উপর নির্ভর করে, আপনাকে হয় স্বয়ংসম্পূর্ণ - প্রতি অনুরোধ বা স্বয়ংসম্পূর্ণ - প্রতি সেশন SKU এর জন্য চার্জ করা হবে৷
আপনার ব্যবহারের ক্ষেত্রে সঠিক বিকল্প নির্বাচন করার বিষয়ে আরও তথ্য এবং নির্দেশনার জন্য, প্লেস স্বয়ংসম্পূর্ণ খরচ অপ্টিমাইজেশন সেরা অনুশীলন দেখুন।
স্থানের বিবরণ এবং স্থান অনুসন্ধানের অনুরোধে নির্দিষ্ট ক্ষেত্রের জন্য ডেটা ফেরত দেওয়া
আপনি আপনার অ্যাপ্লিকেশনে ব্যবহৃত নির্দিষ্ট ক্ষেত্রগুলির জন্য ডেটা ফেরত দেওয়ার জন্য স্থানের বিবরণ এবং স্থান অনুসন্ধানের অনুরোধগুলি কাস্টমাইজ করতে পারেন। এই ক্ষেত্রগুলিকে বিভাগগুলিতে বিভক্ত করা হয়েছে: মৌলিক , যোগাযোগ , এবং বায়ুমণ্ডল ৷ কোনো ক্ষেত্র নির্দিষ্ট করে না এমন অনুরোধগুলি সমস্ত ক্ষেত্রের জন্য ডেটা পাবে।
স্থানের বিশদ অনুরোধের জন্য বিলিং অনুরোধ করা ডেটার প্রকার এবং পরিমাণের উপর ভিত্তি করে। কোনো ক্ষেত্র নির্দিষ্ট করে না এমন অনুরোধগুলি সম্পূর্ণ হারে বিল করা হবে। আরও তথ্যের জন্য, স্থানের বিবরণ এবং স্থান অনুসন্ধান দেখুন।
জিওকোডিং API ব্যবহার করে খরচ কমানো
যদি আপনার অ্যাপ্লিকেশন ব্যবহারকারী-টাইপ করা ঠিকানাগুলি পরিচালনা করে, তবে ঠিকানাগুলি কখনও কখনও অস্পষ্ট (অসম্পূর্ণ, ভুল বানান, বা খারাপভাবে ফর্ম্যাট করা) হয়। স্বয়ংসম্পূর্ণ ব্যবহার করে ঠিকানাগুলি দ্ব্যর্থিত করুন, তারপর স্থানের অবস্থানগুলি পেতে স্থান আইডিগুলি ব্যবহার করুন৷
আপনার যদি একটি সঠিক ঠিকানা থাকে (বা এটির কাছাকাছি), তবে, আপনি স্বয়ংসম্পূর্ণের পরিবর্তে জিওকোডিং ব্যবহার করে খরচ কমাতে পারেন। আরও বিশদ বিবরণের জন্য, জিওকোডিং ঠিকানা সেরা অনুশীলন দেখুন।
কিভাবে Google Maps প্ল্যাটফর্ম কোটা কাজ করে
আমাদের সমস্ত API-এর প্রতিটি গ্রাহক কতগুলি কল করতে পারে তার সীমাবদ্ধতা রয়েছে৷ এই কোটা প্রতি মিনিটের ভিত্তিতে কনফিগার করা হয়। একবার আপনি একটি প্রদত্ত API-এ এক মিনিটের মধ্যে কলের কোটায় পৌঁছে গেলে, ভবিষ্যতের কলগুলি পরবর্তী মিনিট পর্যন্ত গ্রহণ করা হবে না।
শুধুমাত্র সফল অনুরোধ এবং অনুরোধ যে সার্ভার ত্রুটির কারণ কোটার জন্য গণনা করা হয়. প্রমাণীকরণ ব্যর্থ হওয়া অনুরোধগুলি কোটার সাথে গণনা করা হয় না।
আপনার মোট অনুরোধের পরিমাণের উপর ভিত্তি করে যেকোনো GMP API পণ্যের জন্য আপনার খরচ অনুমান করুন ।