CI পরিবেশে App Distribution সেট আপ করার জন্য সার্ভিস অ্যাকাউন্টগুলো বেশ উপযোগী। একটি সার্ভিস অ্যাকাউন্টের মাধ্যমে অথেন্টিকেট করলে আপনি আপনার বিল্ডগুলো ডিস্ট্রিবিউট করার জন্য ক্লায়েন্ট লাইব্রেরি (যেমন, Firebase CLI, Gradle, এবং fastlane) ব্যবহার করতে পারেন। যখন আপনি অথেন্টিকেট করার জন্য একটি সার্ভিস অ্যাকাউন্ট ব্যবহার করেন, তখন Firebase আপনার অ্যাপের ক্রেডেনশিয়াল খুঁজে বের করার জন্য অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস (ADC) ব্যবহার করে। এই ক্রেডেনশিয়াল আপনি GOOGLE_APPLICATION_CREDENTIALS এনভায়রনমেন্ট ভেরিয়েবল সেট করে অথবা আপনার অ্যাপের কোডে সার্ভিস অ্যাকাউন্ট কী-এর পাথ উল্লেখ করে প্রদান করতে পারেন।
- Google Cloud কনসোল খুলুন এবং আপনার প্রজেক্টটি নির্বাচন করুন।
- Create Service Account-এ ক্লিক করুন এবং সার্ভিস অ্যাকাউন্টের বিবরণ লিখুন।
- তৈরি করুন এবং চালিয়ে যান- এ ক্লিক করুন।
- Firebase App Distribution Admin রোলটি যোগ করুন এবং Done-এ ক্লিক করুন।
- একটি প্রাইভেট JSON কী তৈরি করুন এবং কী-টি আপনার বিল্ড এনভায়রনমেন্টের নাগালের মধ্যে থাকা কোনো স্থানে সরিয়ে নিন। এই ফাইলটি অবশ্যই নিরাপদ কোনো জায়গায় রাখবেন , কারণ এটি আপনার Firebase প্রোজেক্টের App Distribution অ্যাডমিনিস্ট্রেটর অ্যাক্সেস প্রদান করে।
আপনি যদি ২০ সেপ্টেম্বর, ২০১৯-এর পরে আপনার অ্যাপ তৈরি করে থাকেন, তাহলে এই ধাপটি এড়িয়ে যান : Google APIs কনসোলে, Firebase App Distribution API সক্রিয় করুন। অনুরোধ করা হলে, আপনার Firebase প্রজেক্টের নামের সাথে একই নামের প্রজেক্টটি নির্বাচন করুন।
আপনার পরিষেবা অ্যাকাউন্টের পরিচয়পত্র প্রদান করুন:
শুধুমাত্র Gradle-এর জন্য : আপনার
build.gradleফাইলে,serviceCredentialsFileপ্রপার্টিটি আপনার প্রাইভেট কী JSON ফাইলে সেট করুন:android { // ... buildTypes { release { firebaseAppDistribution { serviceCredentialsFile="/absolute/path/to/credentials/file.json" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }ঐচ্ছিকভাবে, আপনি নিচের ধাপটি অনুসরণ করে আপনার অ্যাপের কোডে ক্রেডেনশিয়াল প্রদান করতে পারেন।
Firebase CLI, fastlane, বা Gradle-এর জন্য :
GOOGLE_APPLICATION_CREDENTIALSএনভায়রনমেন্ট ভেরিয়েবলটি আপনার প্রাইভেট কী JSON ফাইলের পাথে সেট করুন:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json