কম্পিউটার টিউটোরিয়াল

আপনার API Keys রক্ষা করুন: Android Apps-এর জন্য সেরা অনুশীলন

মান লিন যে আপনি একটি ভার্সন কন্ট্রোল সিস্টেম ব্যবহার করছেন এবং আপনার প্রজেক্ট ऐसी সার্ভিসেস ব্যবহার করে যেগুলো API keys দরকার। সবকিছু ঠিকঠাক চলছে যখন সেগুলো আপনার লোকাল মেশিনে, কিন্তু আপনি এই API keys verdens সাথে শেয়ার করতে চান না।

তাহলে আপনি কীভাবে আপনার API keys আপনার অ্যাপ্লিকেশনের ভিতরে সংরক্ষণ করবেন, কিন্তু আপনার কোড রিপোজিটরিতে আপলোড করার সময় সেগুলো লুকাবেন?

আপনি সম্ভবত চান আপনার API keys একটি সাধারণ ফ্যাশনে আপনার অ্যাপ্লিকেশনের ভিতরে ব্যবহার করতে পারেন, কিন্তু এগুলোর এক্সপোজও না করবেন।

Secrets কী?

সেইখানেই secrets আসে। আপনি যেসব সিক্রেট শুধু নিজে জানেন, কিন্তু একটি ডেভেলপার টাইপের ভাবে।

Secrets এisasi ক エンফরমেশন প্রতিনিধিত্ব করতে পারে যা আপনার অ্যাপ্লিকেশনের অপারেট করার জন্য প্রয়োজনীয়, কিন্তু প্রজেক্টের বাইরে কাজ করার কাউকে দৃশ্যমান হওয়া উচিত নয়।

এগুলো হতে পারে API keys বা অথরাইজেশন টোকেন, কিন্তু মূলত একটি সিক্রেট হলো যেকোনো অথরাইজেশন ইনফরমেশন যা শুধু আপনার দ্বারা এবং আপনার একলেই ব্যবহার করা উচিত। এটা সেম“那ように যে আপনি আপনার ওয়েবসাইটের পাসওয়ার্ড কাউকে দিতে চান না।

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

আপনার Secrets সুরক্ষিত রাখার উপায়

আপনার প্রজেক্টে, আপনার প্রজেক্টের রুট ডিরেক্টরির নিচে একটি local.properties ফাইল থাকা উচিত

এটি আপনার ভার্সন কন্ট্রোল সিস্টেম দ্বারা উপেক্ষা করা হচ্ছে কিনা নিশ্চিত করতে, .gitignore ফাইলটি খুলুন এবং দেখুন সেটি সেখানে আছে কিনা:

আপনার API Keys রক্ষা করুন: Android Apps-এর জন্য সেরা অনুশীলন

আপনাকে আপনার প্রজেক্টে Secrets Gradle plugin ইম্পোর্ট করতে হবে।

এটি করতে, আপনার প্রজেক্টের রুট build.gradle ফাইলে যান এবং নিচের লাইনটি পেস্ট করুন:

buildscript { dependencies { id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false } } 

এরপর, আপনার অ্যাপের build.gradle ফাইলে যান এবং নিচের লাইনটি পেস্ট করুন:

plugins { ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' } 

আপনার API key local.properties ফাইলের ভিতরে যোগ করুন:

আপনার API Keys রক্ষা করুন: Android Apps-এর জন্য সেরা অনুশীলন

আপনি আপনার সিক্রেট ব্যবহার করতে পারেন আপনার AndroidManifest.xml ফাইলে একটি meta-data ট্যাগ যোগ করে আপনার application ট্যাগের ভিতরে:

<application android:allowBackup="true" ..... > <activity> .... </activity> <meta-data android:name="YOUR_API_KEY_NAME" /// যেকোনো ভ্যালু বেছে নিন এখানে android:value="${API_KEY_NAME}"/> /// আপনি আপনার local.properties ফাইলে যে নাম দিয়েছেন সেটি লিখুন </application> 

আপনার API key এক্সেস করতে, আপনি PackageManager ব্যবহার করতে পারেন মেটা ডেটা পেতে:

val applicationInfo: ApplicationInfo = application.packageManager .getApplicationInfo(application.packageName, PackageManager.GET_META_DATA) val apiKey = applicationInfo.metaData["YOUR_API_KEY_NAME"] 

বিকল্পভাবে, আপনি BuildConfig অবজেক্টও ব্যবহার করতে পারেন এটি পেতে:

BuildConfig.YOUR_API_KEY_NAME 

এটুশ। এখন আপনি শান্ত থাকতে পারেন যে আপনার সিক্রেটস আপনার ভার্সন কন্ট্রোল সিস্টেম দ্বারা এক্সপোজ হবে না।

আপনার সিক্রেটস রক্ষা করার আনন্দ লুন। ㊙️

আমি এটিকে আমার একটি সাম্প্রতিক প্রজেক্টে ব্যবহার করেছি, এবং আপনি সোর্স কোড দেখতে পারেন (সিক্রেটস বাদে) এখানে।

এবং আপনি যদি আমার লেখা অন্যান্য আর্টিকেল চেক আউট করতে চান, আপনি এখানে যেতে পারেন।

Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started


  1. উইন্ডোজ ১১/১০-এ কাঙ্কারেন্ট সেশন ইনেবল করা যায় কিনা

  2. উইন্ডোজ 10-এ এক্সপ্লোরার কাস্টমাইজ করুন

  3. Ubuntu vs Linux Mint: আপনার জন্য কোনটি সেরা?

  4. উইন্ডোজ ১১/১০-এ স্ক্রিনসেভারকে ওয়ালপেপার হিসেবে চালানোর পদ্ধতি