আপনি App Distribution গ্রেডল প্লাগইন ব্যবহার করে আপনার অ্যান্ড্রয়েড বিল্ড প্রক্রিয়ায় App Distribution একীভূত করতে পারেন। প্লাগইনটি আপনাকে আপনার অ্যাপের গ্রেডল ফাইলে আপনার পরীক্ষকদের নির্দিষ্ট করতে এবং নোট প্রকাশ করতে দেয়, আপনাকে আপনার অ্যাপের বিভিন্ন বিল্ড প্রকার এবং ভেরিয়েন্টের জন্য ডিস্ট্রিবিউশন কনফিগার করতে দেয়।
App Distribution গ্রেডল প্লাগইন ব্যবহার করে পরীক্ষকদের কাছে কীভাবে অ্যান্ড্রয়েড অ্যাপ বান্ডেল (এএবি) বিতরণ করবেন এই নির্দেশিকাটি বর্ণনা করে।
App Distribution Google Play এর অভ্যন্তরীণ অ্যাপ শেয়ারিং পরিষেবার সাথে একীভূত হয় যাতে আপনি AAB গুলি আপলোড করেন এবং আপনার পরীক্ষকদের ডিভাইস কনফিগারেশনের জন্য অপ্টিমাইজ করা APK পরিবেশন করেন। AAB বিতরণ করা আপনাকে নিম্নলিখিতগুলি করতে দেয়:
আপনার পরীক্ষকদের ডিভাইসে অপ্টিমাইজ করা অপ্টিমাইজ করা APK (Google Play দ্বারা পরিবেশিত) চালান।
ডিভাইস-নির্দিষ্ট সমস্যাগুলি উন্মোচন এবং ডিবাগ করুন।
প্লে ফিচার ডেলিভারি এবং প্লে অ্যাসেট ডেলিভারির মতো অ্যাপ বান্ডেল বৈশিষ্ট্যগুলি পরীক্ষা করুন৷
আপনার পরীক্ষকদের জন্য ডাউনলোডের আকার কমিয়ে দিন।
প্রয়োজনীয় অনুমতি
App Distribution AABs আপলোড করতে, আপনাকে অবশ্যই আপনার Firebase অ্যাপটিকে Google Play এর একটি অ্যাপের সাথে লিঙ্ক করতে হবে। এই ক্রিয়াগুলি সম্পাদন করার জন্য আপনার অবশ্যই প্রয়োজনীয় স্তরের অ্যাক্সেস থাকতে হবে।
আপনার কাছে প্রয়োজনীয় Firebase অ্যাক্সেস না থাকলে, আপনি Firebase প্রকল্পের মালিককে Firebase কনসোল IAM সেটিংসের মাধ্যমে প্রযোজ্য ভূমিকা অর্পণ করতে বলতে পারেন। আপনার যদি আপনার ফায়ারবেস প্রকল্প অ্যাক্সেস করার বিষয়ে প্রশ্ন থাকে, যার মধ্যে একজন মালিককে খুঁজে বের করা বা বরাদ্দ করা সহ, "অনুমতি এবং Firebase প্রকল্পগুলিতে অ্যাক্সেস" FAQs পর্যালোচনা করুন।
নিম্নলিখিত সারণীটি Google Play এর একটি অ্যাপের সাথে একটি Firebase অ্যাপ লিঙ্ক করার পাশাপাশি AABs আপলোড করার ক্ষেত্রে প্রযোজ্য।
Firebase কনসোলে অ্যাকশন | প্রয়োজন IAM অনুমতি | IAM ভূমিকা(গুলি) যাতে ডিফল্টরূপে প্রয়োজনীয় অনুমতি অন্তর্ভুক্ত থাকে | অতিরিক্ত প্রয়োজনীয় ভূমিকা(গুলি) |
---|---|---|---|
Google Play এর একটি অ্যাপের সাথে একটি Firebase অ্যাপ লিঙ্ক করুন | firebase.playLinks.update | নিম্নলিখিত ভূমিকাগুলির মধ্যে একটি: | অ্যাডমিন হিসাবে একটি Google Play বিকাশকারী অ্যাকাউন্টে অ্যাক্সেস করুন৷ |
App Distribution AABs আপলোড করুন | firebaseappdistro.releases.update | নিম্নলিখিত ভূমিকাগুলির মধ্যে একটি: | -- |
আপনি শুরু করার আগে
যদি আপনি ইতিমধ্যেই না করে থাকেন তাহলে আপনার Android প্রকল্পে Firebase যোগ করুন । এই কর্মপ্রবাহের শেষে, আপনার Firebase প্রকল্পে একটি Firebase Android অ্যাপ থাকবে।
আপনি যদি অন্য কোনো ফায়ারবেস পণ্য ব্যবহার না করেন, তাহলে আপনাকে শুধুমাত্র একটি প্রকল্প তৈরি করতে হবে এবং আপনার অ্যাপ নিবন্ধন করতে হবে। আপনি অতিরিক্ত পণ্য ব্যবহার করার সিদ্ধান্ত নিলে, আপনার Android প্রকল্পে Firebase যোগ করার সমস্ত ধাপ সম্পূর্ণ করতে ভুলবেন না।
Google Play-তে একটি Firebase লিঙ্ক তৈরি করতে এবং AABs আপলোড করতে, নিশ্চিত করুন যে আপনার অ্যাপ নিম্নলিখিত প্রয়োজনীয়তাগুলি পূরণ করে:
Google Play-এর অ্যাপ এবং Firebase অ্যান্ড্রয়েড অ্যাপ উভয়ই একই প্যাকেজের নাম ব্যবহার করে নিবন্ধিত।
Google Play-তে অ্যাপটি অ্যাপ ড্যাশবোর্ডে সেট আপ করা হয়েছে এবং Google Play ট্র্যাকের একটিতে বিতরণ করা হয়েছে (অভ্যন্তরীণ পরীক্ষা, বন্ধ পরীক্ষা, ওপেন টেস্টিং বা উৎপাদন)।
Google Play-এ অ্যাপটির পর্যালোচনা সম্পূর্ণ হয়েছে এবং অ্যাপটি প্রকাশিত হয়েছে। আপনার অ্যাপ প্রকাশিত হয় যদি অ্যাপ স্ট্যাটাস কলামে নিম্নলিখিত স্ট্যাটাসগুলির মধ্যে একটি দেখায়: অভ্যন্তরীণ পরীক্ষা (খসড়া অভ্যন্তরীণ পরীক্ষা নয়), ক্লোজড টেস্টিং, ওপেন টেস্টিং বা প্রোডাকশন।
আপনার ফায়ারবেস অ্যান্ড্রয়েড অ্যাপটিকে আপনার Google Play বিকাশকারী অ্যাকাউন্টের সাথে লিঙ্ক করুন:
Firebase কনসোলে, আপনার
গুগল প্লে কার্ডে, লিঙ্কে ক্লিক করুন।
আপনার যদি ইতিমধ্যেই Google Play-এর লিঙ্ক থাকে, তাহলে এর পরিবর্তে ম্যানেজ এ ক্লিক করুন।App Distribution ইন্টিগ্রেশন সক্ষম করতে অন-স্ক্রীন নির্দেশাবলী অনুসরণ করুন এবং কোন Firebase Android অ্যাপগুলিকে Google Play-তে লিঙ্ক করতে হবে তা নির্বাচন করুন।
Google Play-এ লিঙ্ক করার বিষয়ে আরও জানুন।
ধাপ 1. আপনার Android প্রকল্প সেট আপ করুন
আপনার রুট-লেভেল (প্রকল্প-স্তরের) গ্রেডল ফাইলে ( <project>/build.gradle.kts
বা<project>/build.gradle
), নির্ভরতা হিসেবে App Distribution গ্রেডল প্লাগইন যোগ করুন:plugins { // ... id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.2" apply false // Add the dependency for the App Distribution Gradle plugin id("com.google.firebase.appdistribution") version "5.1.1" apply false }
plugins { // ... id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.4.2' apply false // Add the dependency for the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' version '5.1.1' apply false }
আপনার মডিউলে (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত <project>/<app-module>/build.gradle.kts
বা<project>/<app-module>/build.gradle
), App Distribution গ্রেডল প্লাগইন যোগ করুন:plugins { id("com.android.application") // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the App Distribution Gradle plugin id("com.google.firebase.appdistribution") }
plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' }
আপনি যদি একটি কর্পোরেট প্রক্সি বা ফায়ারওয়ালের পিছনে থাকেন, তাহলে নিম্নলিখিত জাভা সিস্টেম প্রপার্টি যোগ করুন যা App Distribution ফায়ারবেসে আপনার ডিস্ট্রিবিউশন আপলোড করতে সক্ষম করে: -Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
ধাপ 2. ফায়ারবেস দিয়ে প্রমাণীকরণ করুন
ফায়ারবেস পরিষেবা অ্যাকাউন্টের শংসাপত্র ব্যবহার করুন
আপনার সার্ভিস অ্যাকাউন্ট কী ফাইল build.gradle
এ পাস করুন। আপনার বিল্ড এনভায়রনমেন্টে ইতিমধ্যে আপনার পরিষেবা অ্যাকাউন্ট কী ফাইল থাকলে আপনি এই পদ্ধতিটিকে সুবিধাজনক মনে করতে পারেন।আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করতে পরিবেশ পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS
সেট করুন৷ অন্য Google পরিষেবার (যেমন, Google Cloud ) জন্য আপনার যদি ইতিমধ্যেই অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (ADC) কনফিগার করা থাকে তবে আপনি এই পদ্ধতিটি পছন্দ করতে পারেন।
Google Cloud কনসোলে, আপনার প্রকল্প নির্বাচন করুন এবং একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করুন৷ Firebase App Distribution অ্যাডমিন ভূমিকা যোগ করুন। একটি ব্যক্তিগত json কী তৈরি করুন এবং আপনার বিল্ড এনভায়রনমেন্টে অ্যাক্সেসযোগ্য অবস্থানে কীটি সরান। এই ফাইলটিকে কোথাও নিরাপদ রাখতে ভুলবেন না , কারণ এটি আপনার ফায়ারবেস প্রোজেক্টে App Distribution অ্যাডমিনিস্ট্রেটরকে অ্যাক্সেস দেয়। আপনি যদি 20 সেপ্টেম্বর, 2019 এর পরে আপনার অ্যাপ তৈরি করেন তবে এই ধাপটি এড়িয়ে যান: Google APIs কনসোলে, Firebase App Distribution API সক্ষম করুন। অনুরোধ করা হলে, আপনার ফায়ারবেস প্রকল্পের মতো একই নামের প্রকল্পটি নির্বাচন করুন। আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি সরবরাহ করুন বা সনাক্ত করুন: Gradle আপনার পরিষেবা অ্যাকাউন্ট কী পাস করতে, আপনার build.gradle
ফাইলে, ব্যক্তিগত কী JSON ফাইলে সম্পত্তিserviceCredentialsFile
সেট করুন।ADC-এর সাথে আপনার শংসাপত্রগুলি সনাক্ত করতে, ব্যক্তিগত কী JSON ফাইলের জন্য পরিবেশ পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS
পাথে সেট করুন৷ যেমন:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
ADC এর সাথে প্রমাণীকরণের বিষয়ে আরও তথ্যের জন্য, আপনার আবেদনে প্রমাণপত্র সরবরাহ করা পড়ুন।
Firebase CLI ব্যবহার করে সাইন ইন করুন
ধাপ 3. আপনার বিতরণ বৈশিষ্ট্য কনফিগার করুন
<project>/<app-module>/build.gradle.kts
বা <project>/<app-module>/build.gradle
), অন্তত একটি firebaseAppDistribution
বিভাগ যোগ করে App Distribution কনফিগার করুন।
release
বিল্ড বিতরণ করতে, এই নির্দেশাবলী অনুসরণ করুন::
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("release") { firebaseAppDistribution { artifactType = "AAB" releaseNotesFile = "/path/to/releasenotes.txt" testers = "ali@example.com, bri@example.com, cal@example.com" } } } // ... }
android { // ... buildTypes { release { firebaseAppDistribution { artifactType="AAB" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
debug
এবং release
বিল্ডগুলি বিতরণ করতে, এই নির্দেশাবলী অনুসরণ করুন:
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("debug") {...} getByName("release") {...} } flavorDimensions += "version" productFlavors { create("demo") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for demo version" testers = "demo@testers.com" } } create("full") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for full version" testers = "full@testers.com" } } } // ... }
android { // ... buildTypes { debug {...} release {...} } flavorDimensions "version" productFlavors { demo { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for demo version" testers="demo@testers.com" } } full { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for full version" testers="full@testers.com" } } } // ... }
App Distribution বিল্ড প্যারামিটার | |
---|---|
appId | আপনার অ্যাপের Firebase অ্যাপ আইডি। আপনার যদি Google পরিষেবা গ্রেডল প্লাগইন ইনস্টল না থাকে তবেই এটি প্রয়োজনীয়৷ আপনি appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile | আপনার পরিষেবা অ্যাকাউন্ট ব্যক্তিগত কী JSON ফাইলের পথ। যদি আপনি পরিষেবা অ্যাকাউন্ট প্রমাণীকরণ ব্যবহার করেন তবেই প্রয়োজন৷ |
artifactType | আপনার অ্যাপের ফাইলের ধরন নির্দিষ্ট করে। |
artifactPath | আপনি যে APK বা AAB ফাইলটি আপলোড করতে চান তার সম্পূর্ণ পথ। |
releaseNotes বা releaseNotesFile | এই নির্মাণের জন্য নোট রিলিজ. আপনি হয় সরাসরি রিলিজ নোট বা একটি প্লেইন টেক্সট ফাইলের পথ নির্দিষ্ট করতে পারেন। |
testers বা testersFile | আপনি বিল্ড বিতরণ করতে চান এমন পরীক্ষকদের ইমেল ঠিকানা। আপনি ইমেল ঠিকানাগুলির একটি কমা দ্বারা পৃথক তালিকা হিসাবে পরীক্ষকদের নির্দিষ্ট করতে পারেন: testers="ali@example.com, bri@example.com, cal@example.com" অথবা, আপনি ইমেল ঠিকানাগুলির একটি কমা দ্বারা পৃথক তালিকা ধারণকারী একটি ফাইলের পথ নির্দিষ্ট করতে পারেন: testersFile="/path/to/testers.txt" |
groups বা groupsFile | আপনি যে পরীক্ষক গোষ্ঠীগুলিতে বিল্ডগুলি বিতরণ করতে চান ( পরীক্ষকদের পরিচালনা করুন দেখুন)। গ্রুপ ব্যবহার করে নির্দিষ্ট করা হয় আপনি গোষ্ঠীগুলিকে গ্রুপ উপনামের একটি কমা দ্বারা পৃথক করা তালিকা হিসাবে নির্দিষ্ট করতে পারেন: groups="qa-team, android-testers" অথবা, আপনি গ্রুপ উপনামের একটি কমা-বিভক্ত তালিকা ধারণকারী ফাইলের পথ নির্দিষ্ট করতে পারেন: groupsFile="/path/to/tester-groups.txt" |
testDevices বা testDevicesFile | নিম্নলিখিত বিতরণ প্রকারগুলি স্বয়ংক্রিয় পরীক্ষক বিটা বৈশিষ্ট্যের অংশ৷ আপনি যে পরীক্ষা ডিভাইসগুলিতে বিল্ড বিতরণ করতে চান সেগুলি ( স্বয়ংক্রিয় পরীক্ষাগুলি দেখুন)। আপনি ডিভাইস স্পেসিফিকেশনের একটি সেমিকোলন-বিচ্ছিন্ন তালিকা হিসাবে পরীক্ষা ডিভাইসগুলি নির্দিষ্ট করতে পারেন: testDevices="model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait" অথবা, আপনি ডিভাইসের নির্দিষ্টকরণের একটি সেমিকোলন-বিচ্ছিন্ন তালিকা ধারণকারী ফাইলের পথ নির্দিষ্ট করতে পারেন: testDevicesFile="/path/to/testDevices.txt" |
testUsername | স্বয়ংক্রিয় পরীক্ষার সময় ব্যবহার করা স্বয়ংক্রিয় লগইনের জন্য ব্যবহারকারীর নাম। |
testPassword বা testPasswordFile | স্বয়ংক্রিয় পরীক্ষার সময় স্বয়ংক্রিয় লগইনের পাসওয়ার্ড ব্যবহার করা হবে। অথবা, আপনি একটি পাসওয়ার্ড ধারণকারী একটি প্লেইন টেক্সট ফাইলের পথ নির্দিষ্ট করতে পারেন: testPasswordFile="/path/to/testPassword.txt" |
testUsernameResource | স্বয়ংক্রিয় পরীক্ষার সময় ব্যবহার করার জন্য স্বয়ংক্রিয় লগইনের জন্য ব্যবহারকারীর নাম ক্ষেত্রের জন্য সংস্থান নাম। |
testPasswordResource | স্বয়ংক্রিয় পরীক্ষার সময় স্বয়ংক্রিয় লগইন ব্যবহার করার জন্য পাসওয়ার্ড ক্ষেত্রের জন্য সম্পদের নাম। |
testNonBlocking | অ্যাসিঙ্ক্রোনাসভাবে স্বয়ংক্রিয় পরীক্ষা চালান। স্বয়ংক্রিয় পরীক্ষার ফলাফলের জন্য Firebase কনসোলে যান। |
stacktrace | ব্যবহারকারীর ব্যতিক্রমের জন্য স্ট্যাকট্রেস প্রিন্ট করে। সমস্যা ডিবাগ করার সময় এটি সহায়ক। |
ধাপ 4. পরীক্ষকদের কাছে আপনার অ্যাপ বিতরণ করুন
অবশেষে, আপনার পরীক্ষার অ্যাপ প্যাকেজ করতে এবং পরীক্ষকদের আমন্ত্রণ জানাতে, লক্ষ্যগুলি তৈরি করুন BUILD-VARIANT
এবংappDistributionUpload BUILD-VARIANT
আপনার প্রোজেক্টের গ্রেডল র্যাপার দিয়ে, যেখানে BUILD-VARIANT হল ঐচ্ছিক পণ্যের স্বাদ এবং বিল্ড টাইপ যা আপনি আগের ধাপে কনফিগার করেছেন। পণ্যের স্বাদ সম্পর্কে আরও তথ্যের জন্য, বিল্ড ভেরিয়েন্ট কনফিগার করুন দেখুন।উদাহরণস্বরূপ, release
বিল্ড বৈকল্পিক ব্যবহার করে আপনার অ্যাপ বিতরণ করতে, নিম্নলিখিত কমান্ডটি চালান:./gradlew bundleRelease appDistributionUploadRelease
অথবা, আপনি যদি আপনার Google অ্যাকাউন্টের মাধ্যমে প্রমাণীকরণ করেন এবং আপনার Gradle বিল্ড ফাইলে শংসাপত্র প্রদান না করেন, তাহলে
FIREBASE_TOKEN
ভেরিয়েবল অন্তর্ভুক্ত করুন:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew bundleRelease appDistributionUploadRelease
আপনি --<property-name>=<property-value>
আকারে কমান্ড লাইন আর্গুমেন্ট পাস করে আপনারbuild.gradle
ফাইলে সেট করা মানগুলিকে ওভাররাইড করতে পারেন। যেমন:App Distribution একটি ডিবাগ বিল্ড আপলোড করতে: ./gradlew bundleDebug appDistributionUploadDebug --artifactType="AAB"
অতিরিক্ত পরীক্ষকদের আমন্ত্রণ জানাতে বা আপনার Firebase প্রকল্প থেকে বিদ্যমান পরীক্ষকদের সরাতে: ./gradlew appDistributionAddTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
./gradlew appDistributionRemoveTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
একবার আপনার ফায়ারবেস প্রোজেক্টে একজন পরীক্ষক যোগ করা হলে, আপনি সেগুলিকে পৃথক রিলিজে যোগ করতে পারেন। যে পরীক্ষকদের সরিয়ে দেওয়া হয়েছে তারা আর আপনার প্রোজেক্টের রিলিজগুলিতে অ্যাক্সেস পাবে না, কিন্তু তারপরও কিছু সময়ের জন্য আপনার রিলিজগুলিতে অ্যাক্সেস বজায় রাখতে পারে।
আপনি --emails
এর পরিবর্তে--file="/path/to/testers.txt"
ব্যবহার করে পরীক্ষকদেরও নির্দিষ্ট করতে পারেন।appDistributionAddTesters
এবংappDistributionRemoveTesters
কার্যগুলিও নিম্নলিখিত আর্গুমেন্টগুলি গ্রহণ করে:projectNumber
: আপনার ফায়ারবেস প্রকল্প নম্বর।serviceCredentialsFile
: আপনার Google পরিষেবা শংসাপত্র ফাইলের পথ। এটি আপলোড ক্রিয়া দ্বারা ব্যবহৃত একই যুক্তি।
firebase_console_uri
- Firebase কনসোলের একটি লিঙ্ক যা একটি একক রিলিজ প্রদর্শন করে। আপনি আপনার প্রতিষ্ঠানের অন্যান্য বিকাশকারীদের সাথে এই লিঙ্কটি ভাগ করতে পারেন৷testing_uri
- পরীক্ষক অভিজ্ঞতা (Android নেটিভ অ্যাপ) এ রিলিজের একটি লিঙ্ক যা পরীক্ষকদের রিলিজ নোট দেখতে এবং তাদের ডিভাইসে অ্যাপটি ইনস্টল করতে দেয়। লিঙ্কটি ব্যবহার করার জন্য পরীক্ষকের রিলিজে অ্যাক্সেস প্রয়োজন।binary_download_uri
- একটি স্বাক্ষরিত লিঙ্ক যা সরাসরি অ্যাপ বাইনারি ডাউনলোড এবং ইনস্টল করে (APK বা AAB ফাইল)। লিঙ্কটি এক ঘন্টা পরে শেষ হয়।
পরবর্তী পদক্ষেপ
পরীক্ষকদের জন্য আপনার অ্যাপ সম্পর্কে প্রতিক্রিয়া পাঠানো সহজ করতে অ্যাপ-মধ্যস্থ প্রতিক্রিয়া প্রয়োগ করুন (স্ক্রিনশট সহ)। আপনার অ্যাপের নতুন বিল্ড ইনস্টল করার জন্য উপলব্ধ হলে আপনার পরীক্ষকদের কাছে কীভাবে অ্যাপ-মধ্যস্থ সতর্কতা প্রদর্শন করবেন তা শিখুন। ধাপে ধাপে কীভাবে অ্যাপ বান্ডেল রিলিজ বিতরণ করতে হয় তা জানতে Android অ্যাপ বান্ডেল কোডল্যাবে যান। CI/CD ব্যবহার করে QA পরীক্ষকদের কাছে অ্যান্ড্রয়েড অ্যাপ বিতরণের সর্বোত্তম অনুশীলন শিখুন।
আপনি App Distribution গ্রেডল প্লাগইন ব্যবহার করে আপনার অ্যান্ড্রয়েড বিল্ড প্রক্রিয়ায় App Distribution একীভূত করতে পারেন। প্লাগইনটি আপনাকে আপনার অ্যাপের গ্রেডল ফাইলে আপনার পরীক্ষকদের নির্দিষ্ট করতে এবং নোট প্রকাশ করতে দেয়, আপনাকে আপনার অ্যাপের বিভিন্ন বিল্ড প্রকার এবং ভেরিয়েন্টের জন্য ডিস্ট্রিবিউশন কনফিগার করতে দেয়।
App Distribution গ্রেডল প্লাগইন ব্যবহার করে পরীক্ষকদের কাছে কীভাবে অ্যান্ড্রয়েড অ্যাপ বান্ডেল (এএবি) বিতরণ করবেন এই নির্দেশিকাটি বর্ণনা করে।
App Distribution Google Play এর অভ্যন্তরীণ অ্যাপ শেয়ারিং পরিষেবার সাথে একীভূত হয় যাতে আপনি AAB গুলি আপলোড করেন এবং আপনার পরীক্ষকদের ডিভাইস কনফিগারেশনের জন্য অপ্টিমাইজ করা APK পরিবেশন করেন। AAB বিতরণ করা আপনাকে নিম্নলিখিতগুলি করতে দেয়:
আপনার পরীক্ষকদের ডিভাইসে অপ্টিমাইজ করা অপ্টিমাইজ করা APK (Google Play দ্বারা পরিবেশিত) চালান।
ডিভাইস-নির্দিষ্ট সমস্যাগুলি উন্মোচন এবং ডিবাগ করুন।
প্লে ফিচার ডেলিভারি এবং প্লে অ্যাসেট ডেলিভারির মতো অ্যাপ বান্ডেল বৈশিষ্ট্যগুলি পরীক্ষা করুন৷
আপনার পরীক্ষকদের জন্য ডাউনলোডের আকার কমিয়ে দিন।
প্রয়োজনীয় অনুমতি
App Distribution AABs আপলোড করতে, আপনাকে অবশ্যই আপনার Firebase অ্যাপটিকে Google Play এর একটি অ্যাপের সাথে লিঙ্ক করতে হবে। এই ক্রিয়াগুলি সম্পাদন করার জন্য আপনার অবশ্যই প্রয়োজনীয় স্তরের অ্যাক্সেস থাকতে হবে।
আপনার কাছে প্রয়োজনীয় Firebase অ্যাক্সেস না থাকলে, আপনি Firebase প্রকল্পের মালিককে Firebase কনসোল IAM সেটিংসের মাধ্যমে প্রযোজ্য ভূমিকা অর্পণ করতে বলতে পারেন। আপনার যদি আপনার ফায়ারবেস প্রকল্প অ্যাক্সেস করার বিষয়ে প্রশ্ন থাকে, যার মধ্যে একজন মালিককে খুঁজে বের করা বা বরাদ্দ করা সহ, "অনুমতি এবং Firebase প্রকল্পগুলিতে অ্যাক্সেস" FAQs পর্যালোচনা করুন।
নিম্নলিখিত সারণীটি Google Play এর একটি অ্যাপের সাথে একটি Firebase অ্যাপ লিঙ্ক করার পাশাপাশি AABs আপলোড করার ক্ষেত্রে প্রযোজ্য।
Firebase কনসোলে অ্যাকশন | প্রয়োজন IAM অনুমতি | IAM ভূমিকা(গুলি) যাতে ডিফল্টরূপে প্রয়োজনীয় অনুমতি অন্তর্ভুক্ত থাকে | অতিরিক্ত প্রয়োজনীয় ভূমিকা(গুলি) |
---|---|---|---|
Google Play এর একটি অ্যাপের সাথে একটি Firebase অ্যাপ লিঙ্ক করুন | firebase.playLinks.update | নিম্নলিখিত ভূমিকাগুলির মধ্যে একটি: | অ্যাডমিন হিসাবে একটি Google Play বিকাশকারী অ্যাকাউন্টে অ্যাক্সেস করুন৷ |
App Distribution AABs আপলোড করুন | firebaseappdistro.releases.update | নিম্নলিখিত ভূমিকাগুলির মধ্যে একটি: | -- |
আপনি শুরু করার আগে
যদি আপনি ইতিমধ্যেই না করে থাকেন তাহলে আপনার Android প্রকল্পে Firebase যোগ করুন । এই কর্মপ্রবাহের শেষে, আপনার Firebase প্রকল্পে একটি Firebase Android অ্যাপ থাকবে।
আপনি যদি অন্য কোনো ফায়ারবেস পণ্য ব্যবহার না করেন, তাহলে আপনাকে শুধুমাত্র একটি প্রকল্প তৈরি করতে হবে এবং আপনার অ্যাপ নিবন্ধন করতে হবে। আপনি অতিরিক্ত পণ্য ব্যবহার করার সিদ্ধান্ত নিলে, আপনার Android প্রকল্পে Firebase যোগ করার সমস্ত ধাপ সম্পূর্ণ করতে ভুলবেন না।
Google Play-তে একটি Firebase লিঙ্ক তৈরি করতে এবং AABs আপলোড করতে, নিশ্চিত করুন যে আপনার অ্যাপ নিম্নলিখিত প্রয়োজনীয়তাগুলি পূরণ করে:
Google Play-এর অ্যাপ এবং Firebase অ্যান্ড্রয়েড অ্যাপ উভয়ই একই প্যাকেজের নাম ব্যবহার করে নিবন্ধিত।
Google Play-তে অ্যাপটি অ্যাপ ড্যাশবোর্ডে সেট আপ করা হয়েছে এবং Google Play ট্র্যাকের একটিতে বিতরণ করা হয়েছে (অভ্যন্তরীণ পরীক্ষা, বন্ধ পরীক্ষা, ওপেন টেস্টিং বা উৎপাদন)।
Google Play-এ অ্যাপটির পর্যালোচনা সম্পূর্ণ হয়েছে এবং অ্যাপটি প্রকাশিত হয়েছে। আপনার অ্যাপ প্রকাশিত হয় যদি অ্যাপ স্ট্যাটাস কলামে নিম্নলিখিত স্ট্যাটাসগুলির মধ্যে একটি দেখায়: অভ্যন্তরীণ পরীক্ষা (খসড়া অভ্যন্তরীণ পরীক্ষা নয়), ক্লোজড টেস্টিং, ওপেন টেস্টিং বা প্রোডাকশন।
আপনার ফায়ারবেস অ্যান্ড্রয়েড অ্যাপটিকে আপনার Google Play বিকাশকারী অ্যাকাউন্টের সাথে লিঙ্ক করুন:
Firebase কনসোলে, আপনার গুগল প্লে কার্ডে, লিঙ্কে ক্লিক করুন।
আপনার যদি ইতিমধ্যেই Google Play-এর লিঙ্ক থাকে, তাহলে এর পরিবর্তে ম্যানেজ এ ক্লিক করুন।App Distribution ইন্টিগ্রেশন সক্ষম করতে অন-স্ক্রীন নির্দেশাবলী অনুসরণ করুন এবং কোন Firebase Android অ্যাপগুলিকে Google Play-তে লিঙ্ক করতে হবে তা নির্বাচন করুন।
Google Play-এ লিঙ্ক করার বিষয়ে আরও জানুন।
ধাপ 1. আপনার Android প্রকল্প সেট আপ করুন
আপনার রুট-লেভেল (প্রকল্প-স্তরের) গ্রেডল ফাইলে ( <project>/build.gradle.kts
বা<project>/build.gradle
), নির্ভরতা হিসেবে App Distribution গ্রেডল প্লাগইন যোগ করুন:plugins { // ... id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.2" apply false // Add the dependency for the App Distribution Gradle plugin id("com.google.firebase.appdistribution") version "5.1.1" apply false }
plugins { // ... id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.4.2' apply false // Add the dependency for the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' version '5.1.1' apply false }
আপনার মডিউলে (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত <project>/<app-module>/build.gradle.kts
বা<project>/<app-module>/build.gradle
), App Distribution গ্রেডল প্লাগইন যোগ করুন:plugins { id("com.android.application") // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the App Distribution Gradle plugin id("com.google.firebase.appdistribution") }
plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' }
আপনি যদি একটি কর্পোরেট প্রক্সি বা ফায়ারওয়ালের পিছনে থাকেন, তাহলে নিম্নলিখিত জাভা সিস্টেম প্রপার্টি যোগ করুন যা App Distribution ফায়ারবেসে আপনার ডিস্ট্রিবিউশন আপলোড করতে সক্ষম করে: -Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
ধাপ 2. ফায়ারবেস দিয়ে প্রমাণীকরণ করুন
ফায়ারবেস পরিষেবা অ্যাকাউন্টের শংসাপত্র ব্যবহার করুন
আপনার সার্ভিস অ্যাকাউন্ট কী ফাইল build.gradle
এ পাস করুন। আপনার বিল্ড এনভায়রনমেন্টে ইতিমধ্যে আপনার পরিষেবা অ্যাকাউন্ট কী ফাইল থাকলে আপনি এই পদ্ধতিটিকে সুবিধাজনক মনে করতে পারেন।আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করতে পরিবেশ পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS
সেট করুন৷ অন্য Google পরিষেবার (যেমন, Google Cloud ) জন্য আপনার যদি ইতিমধ্যেই অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (ADC) কনফিগার করা থাকে তবে আপনি এই পদ্ধতিটি পছন্দ করতে পারেন।
Google Cloud কনসোলে, আপনার প্রকল্প নির্বাচন করুন এবং একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করুন৷ Firebase App Distribution অ্যাডমিন ভূমিকা যোগ করুন। একটি ব্যক্তিগত json কী তৈরি করুন এবং আপনার বিল্ড এনভায়রনমেন্টে অ্যাক্সেসযোগ্য অবস্থানে কীটি সরান। এই ফাইলটিকে কোথাও নিরাপদ রাখতে ভুলবেন না , কারণ এটি আপনার ফায়ারবেস প্রোজেক্টে App Distribution অ্যাডমিনিস্ট্রেটরকে অ্যাক্সেস দেয়। আপনি যদি 20 সেপ্টেম্বর, 2019 এর পরে আপনার অ্যাপ তৈরি করেন তবে এই ধাপটি এড়িয়ে যান: Google APIs কনসোলে, Firebase App Distribution API সক্ষম করুন। অনুরোধ করা হলে, আপনার ফায়ারবেস প্রকল্পের মতো একই নামের প্রকল্পটি নির্বাচন করুন। আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি সরবরাহ করুন বা সনাক্ত করুন: Gradle আপনার পরিষেবা অ্যাকাউন্ট কী পাস করতে, আপনার build.gradle
ফাইলে, ব্যক্তিগত কী JSON ফাইলে সম্পত্তিserviceCredentialsFile
সেট করুন।ADC-এর সাথে আপনার শংসাপত্রগুলি সনাক্ত করতে, ব্যক্তিগত কী JSON ফাইলের জন্য পরিবেশ পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS
পাথে সেট করুন৷ যেমন:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
ADC এর সাথে প্রমাণীকরণের বিষয়ে আরও তথ্যের জন্য, আপনার আবেদনে প্রমাণপত্র সরবরাহ করা পড়ুন।
Firebase CLI ব্যবহার করে সাইন ইন করুন
ধাপ 3. আপনার বিতরণ বৈশিষ্ট্য কনফিগার করুন
<project>/<app-module>/build.gradle.kts
বা <project>/<app-module>/build.gradle
), অন্তত একটি firebaseAppDistribution
বিভাগ যোগ করে App Distribution কনফিগার করুন।
release
বিল্ড বিতরণ করতে, এই নির্দেশাবলী অনুসরণ করুন::
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("release") { firebaseAppDistribution { artifactType = "AAB" releaseNotesFile = "/path/to/releasenotes.txt" testers = "ali@example.com, bri@example.com, cal@example.com" } } } // ... }
android { // ... buildTypes { release { firebaseAppDistribution { artifactType="AAB" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
debug
এবং release
বিল্ডগুলি বিতরণ করতে, এই নির্দেশাবলী অনুসরণ করুন:
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("debug") {...} getByName("release") {...} } flavorDimensions += "version" productFlavors { create("demo") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for demo version" testers = "demo@testers.com" } } create("full") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for full version" testers = "full@testers.com" } } } // ... }
android { // ... buildTypes { debug {...} release {...} } flavorDimensions "version" productFlavors { demo { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for demo version" testers="demo@testers.com" } } full { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for full version" testers="full@testers.com" } } } // ... }
App Distribution বিল্ড প্যারামিটার | |
---|---|
appId | আপনার অ্যাপের Firebase অ্যাপ আইডি। আপনার যদি Google পরিষেবা গ্রেডল প্লাগইন ইনস্টল না থাকে তবেই এটি প্রয়োজনীয়৷ আপনি appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile | আপনার পরিষেবা অ্যাকাউন্ট ব্যক্তিগত কী JSON ফাইলের পথ। যদি আপনি পরিষেবা অ্যাকাউন্ট প্রমাণীকরণ ব্যবহার করেন তবেই প্রয়োজন৷ |
artifactType | আপনার অ্যাপের ফাইলের ধরন নির্দিষ্ট করে। |
artifactPath | আপনি যে APK বা AAB ফাইলটি আপলোড করতে চান তার সম্পূর্ণ পথ। |
releaseNotes বা releaseNotesFile | এই নির্মাণের জন্য নোট রিলিজ. আপনি হয় সরাসরি রিলিজ নোট বা একটি প্লেইন টেক্সট ফাইলের পথ নির্দিষ্ট করতে পারেন। |
testers বা testersFile | আপনি বিল্ড বিতরণ করতে চান এমন পরীক্ষকদের ইমেল ঠিকানা। আপনি ইমেল ঠিকানাগুলির একটি কমা দ্বারা পৃথক তালিকা হিসাবে পরীক্ষকদের নির্দিষ্ট করতে পারেন: testers="ali@example.com, bri@example.com, cal@example.com" অথবা, আপনি ইমেল ঠিকানাগুলির একটি কমা দ্বারা পৃথক তালিকা ধারণকারী একটি ফাইলের পথ নির্দিষ্ট করতে পারেন: testersFile="/path/to/testers.txt" |
groups বা groupsFile | আপনি যে পরীক্ষক গোষ্ঠীগুলিতে বিল্ডগুলি বিতরণ করতে চান ( পরীক্ষকদের পরিচালনা করুন দেখুন)। গ্রুপ ব্যবহার করে নির্দিষ্ট করা হয় আপনি গোষ্ঠীগুলিকে গ্রুপ উপনামের একটি কমা দ্বারা পৃথক করা তালিকা হিসাবে নির্দিষ্ট করতে পারেন: groups="qa-team, android-testers" অথবা, আপনি গ্রুপ উপনামের একটি কমা-বিভক্ত তালিকা ধারণকারী ফাইলের পথ নির্দিষ্ট করতে পারেন: groupsFile="/path/to/tester-groups.txt" |
testDevices বা testDevicesFile | নিম্নলিখিত বিতরণ প্রকারগুলি স্বয়ংক্রিয় পরীক্ষক বিটা বৈশিষ্ট্যের অংশ৷ আপনি যে পরীক্ষা ডিভাইসগুলিতে বিল্ড বিতরণ করতে চান সেগুলি ( স্বয়ংক্রিয় পরীক্ষাগুলি দেখুন)। আপনি ডিভাইস স্পেসিফিকেশনের একটি সেমিকোলন-বিচ্ছিন্ন তালিকা হিসাবে পরীক্ষা ডিভাইসগুলি নির্দিষ্ট করতে পারেন: testDevices="model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait" অথবা, আপনি ডিভাইসের নির্দিষ্টকরণের একটি সেমিকোলন-বিচ্ছিন্ন তালিকা ধারণকারী ফাইলের পথ নির্দিষ্ট করতে পারেন: testDevicesFile="/path/to/testDevices.txt" |
testUsername | স্বয়ংক্রিয় পরীক্ষার সময় ব্যবহার করা স্বয়ংক্রিয় লগইনের জন্য ব্যবহারকারীর নাম। |
testPassword বা testPasswordFile | স্বয়ংক্রিয় পরীক্ষার সময় স্বয়ংক্রিয় লগইনের পাসওয়ার্ড ব্যবহার করা হবে। অথবা, আপনি একটি পাসওয়ার্ড ধারণকারী একটি প্লেইন টেক্সট ফাইলের পথ নির্দিষ্ট করতে পারেন: testPasswordFile="/path/to/testPassword.txt" |
testUsernameResource | স্বয়ংক্রিয় পরীক্ষার সময় ব্যবহার করার জন্য স্বয়ংক্রিয় লগইনের জন্য ব্যবহারকারীর নাম ক্ষেত্রের জন্য সংস্থান নাম। |
testPasswordResource | স্বয়ংক্রিয় পরীক্ষার সময় স্বয়ংক্রিয় লগইন ব্যবহার করার জন্য পাসওয়ার্ড ক্ষেত্রের জন্য সম্পদের নাম। |
testNonBlocking | অ্যাসিঙ্ক্রোনাসভাবে স্বয়ংক্রিয় পরীক্ষা চালান। স্বয়ংক্রিয় পরীক্ষার ফলাফলের জন্য Firebase কনসোলে যান। |
stacktrace | ব্যবহারকারীর ব্যতিক্রমের জন্য স্ট্যাকট্রেস প্রিন্ট করে। সমস্যা ডিবাগ করার সময় এটি সহায়ক। |
পদক্ষেপ 4। আপনার অ্যাপ্লিকেশন পরীক্ষার্থীদের কাছে বিতরণ করুন
অবশেষে, আপনার পরীক্ষার অ্যাপ্লিকেশনটি প্যাকেজ করতে এবং পরীক্ষকদের আমন্ত্রণ জানাতে, লক্ষ্যগুলি তৈরি করুন BUILD-VARIANT
আপনার প্রকল্পের গ্রেডল র্যাপারের সাথেBUILD-VARIANT
এবংappDistributionUpload BUILD-VARIANT
, যেখানে BUILD-VARIANT হ'ল পূর্ববর্তী পদক্ষেপে আপনি কনফিগার করা option চ্ছিক পণ্য স্বাদ এবং বিল্ড টাইপ। পণ্যের স্বাদ সম্পর্কে আরও তথ্যের জন্য, বিল্ড ভেরিয়েন্টগুলি কনফিগার করুন ।উদাহরণস্বরূপ, release
বিল্ড ভেরিয়েন্ট ব্যবহার করে আপনার অ্যাপ্লিকেশন বিতরণ করতে, নিম্নলিখিত কমান্ডটি চালান:./gradlew bundleRelease appDistributionUploadRelease
অথবা, আপনি যদি আপনার গুগল অ্যাকাউন্টের সাথে প্রমাণীকরণ করেন এবং আপনার গ্রেডল বিল্ড ফাইলে শংসাপত্র সরবরাহ না করেন তবে
FIREBASE_TOKEN
ভেরিয়েবলটি অন্তর্ভুক্ত করুন:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew bundleRelease appDistributionUploadRelease
আপনি- --<property-name>=<property-value>
আকারে কমান্ড লাইন যুক্তিগুলি পাস করে আপনারbuild.gradle
সেট করা মানগুলিও ওভাররাইড করতে পারেন। যেমন:App Distribution একটি ডিবাগ বিল্ড আপলোড করতে: ./gradlew bundleDebug appDistributionUploadDebug --artifactType="AAB"
অতিরিক্ত পরীক্ষকদের আমন্ত্রণ জানাতে বা আপনার ফায়ারবেস প্রকল্প থেকে বিদ্যমান পরীক্ষকদের অপসারণ করতে: ./gradlew appDistributionAddTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
./gradlew appDistributionRemoveTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
একবার আপনার ফায়ারবেস প্রকল্পে কোনও পরীক্ষক যুক্ত হয়ে গেলে আপনি সেগুলি পৃথক রিলিজগুলিতে যুক্ত করতে পারেন। যেসব পরীক্ষকরা সরানো হয়েছে তাদের আর আপনার প্রকল্পে রিলিজের অ্যাক্সেস থাকবে না, তবে এখনও সময়ের উইন্ডোর জন্য আপনার রিলিজগুলিতে অ্যাক্সেস ধরে রাখতে পারে।
আপনি --file="/path/to/testers.txt"
ব্যবহার করে পরীক্ষকগণকে--emails
পরিবর্তে নির্দিষ্ট করতে পারেন।appDistributionAddTesters
এবংappDistributionRemoveTesters
কাজগুলিও নিম্নলিখিত যুক্তিগুলি গ্রহণ করে:projectNumber
: আপনার ফায়ারবেস প্রকল্প নম্বর।serviceCredentialsFile
: আপনার গুগল পরিষেবা শংসাপত্র ফাইলের পথ। এটি আপলোড ক্রিয়া দ্বারা ব্যবহৃত একই যুক্তি।
firebase_console_uri
- Firebase কনসোলের একটি লিঙ্ক যা একক প্রকাশ প্রদর্শন করে। আপনি আপনার org এর অন্যান্য বিকাশকারীদের সাথে এই লিঙ্কটি ভাগ করতে পারেন।testing_uri
- পরীক্ষক অভিজ্ঞতার (অ্যান্ড্রয়েড নেটিভ অ্যাপ) রিলিজের একটি লিঙ্ক যা পরীক্ষকদের তাদের ডিভাইসে রিলিজ নোটগুলি দেখতে এবং অ্যাপটি ইনস্টল করতে দেয়। লিঙ্কটি ব্যবহার করার জন্য পরীক্ষকটির রিলিজে অ্যাক্সেসের প্রয়োজন।binary_download_uri
- একটি স্বাক্ষরিত লিঙ্ক যা সরাসরি অ্যাপ্লিকেশন বাইনারি (এপিকে বা এএবি ফাইল) ডাউনলোড করে এবং ইনস্টল করে। লিঙ্কটি এক ঘন্টা পরে শেষ হয়।
পরবর্তী পদক্ষেপ
পরীক্ষকদের আপনার অ্যাপ্লিকেশন সম্পর্কে প্রতিক্রিয়া প্রেরণ করা সহজ করার জন্য অ্যাপ্লিকেশন প্রতিক্রিয়া প্রয়োগ করুন (স্ক্রিনশট সহ)। যখন আপনার অ্যাপ্লিকেশনটির নতুন বিল্ডগুলি ইনস্টল করার জন্য উপলব্ধ থাকে তখন কীভাবে আপনার পরীক্ষকদের কাছে অ্যাপ্লিকেশন সতর্কতাগুলি প্রদর্শন করবেন তা শিখুন। কীভাবে অ্যাপ্লিকেশন বান্ডিল রিলিজগুলি ধাপে ধাপে বিতরণ করতে হয় তা শিখতে অ্যান্ড্রয়েড অ্যাপ্লিকেশন বান্ডিল কোডল্যাব দেখুন। সিআই/সিডি ব্যবহার করে কিউএ পরীক্ষকদের কাছে অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলি বিতরণের জন্য সেরা অনুশীলনগুলি শিখুন।
আপনি App Distribution গ্রেডল প্লাগইন ব্যবহার করে আপনার অ্যান্ড্রয়েড বিল্ড প্রক্রিয়াতে App Distribution সংহত করতে পারেন। প্লাগইন আপনাকে আপনার পরীক্ষার্থীদের নির্দিষ্ট করতে এবং আপনার অ্যাপের গ্রেডল ফাইলে নোটগুলি প্রকাশ করতে দেয়, আপনাকে আপনার অ্যাপ্লিকেশনটির বিভিন্ন বিল্ড প্রকার এবং বৈকল্পিকগুলির জন্য বিতরণগুলি কনফিগার করতে দেয়।
এই গাইডটি App Distribution গ্রেডল প্লাগইন ব্যবহার করে পরীক্ষকদের কীভাবে অ্যান্ড্রয়েড অ্যাপ্লিকেশন বান্ডিলগুলি (এএবিএস) বিতরণ করবেন তা বর্ণনা করে।
App Distribution আপনি আপলোড এবং আপনার পরীক্ষকদের ডিভাইস কনফিগারেশনের জন্য অনুকূলিত APKS পরিবেশন করতে এবং পরিবেশন করতে Google Play অভ্যন্তরীণ অ্যাপ্লিকেশন ভাগ করে নেওয়ার পরিষেবাগুলির সাথে সংহত করে। এএবিএস বিতরণ করা আপনাকে নিম্নলিখিতগুলি করতে দেয়:
আপনার পরীক্ষকদের ডিভাইসগুলিতে অনুকূলিত অপ্টিমাইজড এপিকে (গুগল প্লে দ্বারা পরিবেশন করা) চালান।
ডিভাইস-নির্দিষ্ট সমস্যাগুলি উন্মোচন এবং ডিবাগ করুন।
টেস্ট অ্যাপ্লিকেশন বান্ডিল বৈশিষ্ট্য যেমন প্লে বৈশিষ্ট্য বিতরণ এবং প্লে সম্পদ বিতরণ ।
আপনার পরীক্ষকদের জন্য ডাউনলোডের আকার হ্রাস করুন।
প্রয়োজনীয় অনুমতি
App Distribution এএবিএস আপলোড করতে, আপনাকে অবশ্যই আপনার ফায়ারবেস অ্যাপটিকে Google Play -তে কোনও অ্যাপের সাথে লিঙ্ক করতে হবে। এই ক্রিয়াগুলি সম্পাদন করতে আপনার অবশ্যই প্রয়োজনীয় স্তরের অ্যাক্সেস থাকতে হবে।
আপনার কাছে প্রয়োজনীয় Firebase অ্যাক্সেস না থাকলে, আপনি Firebase প্রকল্পের মালিককে Firebase কনসোল IAM সেটিংসের মাধ্যমে প্রযোজ্য ভূমিকা অর্পণ করতে বলতে পারেন। আপনার যদি আপনার ফায়ারবেস প্রকল্প অ্যাক্সেস করার বিষয়ে প্রশ্ন থাকে, যার মধ্যে একজন মালিককে খুঁজে বের করা বা বরাদ্দ করা সহ, "অনুমতি এবং Firebase প্রকল্পগুলিতে অ্যাক্সেস" FAQs পর্যালোচনা করুন।
নিম্নলিখিত টেবিলটি Google Play -তে একটি অ্যাপ্লিকেশনটিতে ফায়ারবেস অ্যাপকে সংযুক্ত করার পাশাপাশি এএবিএস আপলোড করার ক্ষেত্রে প্রযোজ্য।
Firebase কনসোলে অ্যাকশন | প্রয়োজন IAM অনুমতি | আইএএম রোল (গুলি) যার মধ্যে ডিফল্টরূপে প্রয়োজনীয় অনুমতিগুলি অন্তর্ভুক্ত রয়েছে | অতিরিক্ত প্রয়োজনীয় ভূমিকা (গুলি) |
---|---|---|---|
Google Play একটি অ্যাপ্লিকেশনটিতে একটি ফায়ারবেস অ্যাপ লিঙ্ক করুন | firebase.playLinks.update | নিম্নলিখিত ভূমিকাগুলির মধ্যে একটি: | অ্যাডমিন হিসাবে একটি Google Play বিকাশকারী অ্যাকাউন্টে অ্যাক্সেস |
App Distribution AABS আপলোড করুন | firebaseappdistro.releases.update | নিম্নলিখিত ভূমিকাগুলির মধ্যে একটি: | -- |
আপনি শুরু করার আগে
আপনি যদি ইতিমধ্যে না থাকেন তবে আপনার অ্যান্ড্রয়েড প্রকল্পে ফায়ারবেস যুক্ত করুন । এই কর্মপ্রবাহের শেষে, আপনার ফায়ারবেস প্রকল্পে আপনার একটি ফায়ারবেস অ্যান্ড্রয়েড অ্যাপ্লিকেশন থাকবে।
আপনি যদি অন্য কোনও ফায়ারবেস পণ্য ব্যবহার না করে থাকেন তবে আপনাকে কেবল একটি প্রকল্প তৈরি করতে হবে এবং আপনার অ্যাপ্লিকেশনটি নিবন্ধন করতে হবে। আপনি যদি অতিরিক্ত পণ্য ব্যবহার করার সিদ্ধান্ত নেন তবে আপনার অ্যান্ড্রয়েড প্রকল্পে ফায়ারবেস যুক্ত করার সমস্ত পদক্ষেপগুলি সম্পূর্ণ করতে ভুলবেন না।
গুগল প্লেতে ফায়ারবেস লিঙ্ক তৈরি করতে এবং এএবিএস আপলোড করতে, আপনার অ্যাপ্লিকেশনটি নিম্নলিখিত প্রয়োজনীয়তাগুলি পূরণ করেছে তা নিশ্চিত করুন:
গুগল প্লে অ্যাপ্লিকেশন এবং ফায়ারবেস অ্যান্ড্রয়েড অ্যাপ্লিকেশন উভয়ই একই প্যাকেজের নাম ব্যবহার করে নিবন্ধিত।
গুগল প্লেতে অ্যাপটি অ্যাপ ড্যাশবোর্ডে সেট আপ করা হয়েছে এবং গুগল প্লে ট্র্যাকগুলির মধ্যে একটিতে বিতরণ করা হয়েছে (অভ্যন্তরীণ পরীক্ষা, বন্ধ পরীক্ষা, খোলা পরীক্ষা বা উত্পাদন)।
গুগল প্লেতে অ্যাপ্লিকেশনটির পর্যালোচনা সম্পূর্ণ এবং অ্যাপটি প্রকাশিত হয়েছে। আপনার অ্যাপ্লিকেশনটি প্রকাশিত হয় যদি অ্যাপের স্থিতি কলামটি নিম্নলিখিত স্ট্যাটাসগুলির মধ্যে একটি প্রদর্শন করে: অভ্যন্তরীণ পরীক্ষা (অভ্যন্তরীণ পরীক্ষার খসড়া নয়), বন্ধ পরীক্ষা, খোলা পরীক্ষা বা উত্পাদন।
আপনার গুগল প্লে বিকাশকারী অ্যাকাউন্টে আপনার ফায়ারবেস অ্যান্ড্রয়েড অ্যাপটি লিঙ্ক করুন:
Firebase কনসোলে, আপনার কাছে যান গুগল প্লে কার্ডে, লিঙ্কটি ক্লিক করুন।
আপনার যদি ইতিমধ্যেই Google Play-এর লিঙ্ক থাকে, তাহলে এর পরিবর্তে ম্যানেজ এ ক্লিক করুন।App Distribution সংহতকরণ সক্ষম করতে অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন এবং গুগল প্লেতে লিঙ্ক করতে কোন ফায়ারবেস অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলি নির্বাচন করুন।
গুগল প্লেতে লিঙ্কিং সম্পর্কে আরও জানুন।
পদক্ষেপ 1। আপনার অ্যান্ড্রয়েড প্রকল্প সেট আপ করুন
আপনার রুট-স্তরের (প্রকল্প-স্তর) গ্রেডল ফাইলে ( <project>/build.gradle.kts
বা<project>/build.gradle
), App Distribution গ্রেডল প্লাগইনকে নির্ভরতা হিসাবে যুক্ত করুন:plugins { // ... id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.2" apply false // Add the dependency for the App Distribution Gradle plugin id("com.google.firebase.appdistribution") version "5.1.1" apply false }
plugins { // ... id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.4.2' apply false // Add the dependency for the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' version '5.1.1' apply false }
আপনার মডিউলটিতে (অ্যাপ্লিকেশন-স্তর) গ্রেড ফাইল (সাধারণত <project>/<app-module>/build.gradle.kts
বা<project>/<app-module>/build.gradle
), App Distribution গ্রেডল প্লাগইন যুক্ত করুন:plugins { id("com.android.application") // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the App Distribution Gradle plugin id("com.google.firebase.appdistribution") }
plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' }
আপনি যদি কোনও কর্পোরেট প্রক্সি বা ফায়ারওয়ালের পিছনে থাকেন তবে নিম্নলিখিত জাভা সিস্টেমের সম্পত্তি যুক্ত করুন যা App Distribution ফায়ারবেসে আপনার বিতরণগুলি আপলোড করতে সক্ষম করে: -Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
পদক্ষেপ 2। ফায়ারবেস দিয়ে প্রমাণীকরণ করুন
ফায়ারবেস পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি ব্যবহার করুন
আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলটি build.gradle
grad আপনার বিল্ড পরিবেশে ইতিমধ্যে আপনার পরিষেবা অ্যাকাউন্ট কী ফাইল থাকলে আপনি এই পদ্ধতিটি সুবিধাজনক দেখতে পাবেন।আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলটি নির্দেশ করতে পরিবেশের পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS
সেট করুন। আপনি যদি ইতিমধ্যে অন্য গুগল পরিষেবার (যেমন, Google Cloud ) কনফিগার করা অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (এডিসি) থাকে তবে আপনি এই পদ্ধতিটি পছন্দ করতে পারেন।
Google Cloud কনসোলে, আপনার প্রকল্পটি নির্বাচন করুন এবং একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করুন। Firebase App Distribution প্রশাসনের ভূমিকা যুক্ত করুন। একটি ব্যক্তিগত জেএসএন কী তৈরি করুন এবং আপনার বিল্ড পরিবেশে অ্যাক্সেসযোগ্য কোনও স্থানে কীটি সরান। এই ফাইলটি কোথাও সুরক্ষিত রাখতে ভুলবেন না , কারণ এটি আপনার ফায়ারবেস প্রকল্পে App Distribution প্রশাসককে অ্যাক্সেস মঞ্জুর করে। আপনি যদি 20 সেপ্টেম্বর, 2019 এর পরে আপনার অ্যাপটি তৈরি করেন তবে এই পদক্ষেপটি এড়িয়ে যান: গুগল এপিআইএস কনসোলে, Firebase App Distribution এপিআই সক্ষম করুন। যখন অনুরোধ করা হয়, আপনার ফায়ারবেস প্রকল্পের মতো একই নাম সহ প্রকল্পটি নির্বাচন করুন। আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি সরবরাহ বা সনাক্ত করুন: আপনার build.gradle
ফাইলে আপনার পরিষেবা অ্যাকাউন্ট কী গ্রেড করতে পাস করার জন্য, প্রাইভেট কী জসন ফাইলে সম্পত্তিserviceCredentialsFile
সেট করুন।এডিসির সাথে আপনার শংসাপত্রগুলি সনাক্ত করতে, পরিবেশের পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS
প্রাইভেট কী জেএসএন ফাইলের পথে সেট করুন। যেমন:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
এডিসির সাথে প্রমাণীকরণ সম্পর্কিত আরও তথ্যের জন্য, আপনার অ্যাপ্লিকেশনটিতে শংসাপত্র সরবরাহ করে পড়ুন।
Firebase সিএলআই ব্যবহার করে সাইন ইন করুন
পদক্ষেপ 3। আপনার বিতরণ বৈশিষ্ট্যগুলি কনফিগার করুন
<project>/<app-module>/build.gradle.kts
বা <project>/<app-module>/build.gradle
), কমপক্ষে একটি firebaseAppDistribution
বিভাগ যুক্ত করে App Distribution কনফিগার করুন।
release
বিল্ড বিতরণ করতে, এই নির্দেশাবলী অনুসরণ করুন ::
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("release") { firebaseAppDistribution { artifactType = "AAB" releaseNotesFile = "/path/to/releasenotes.txt" testers = "ali@example.com, bri@example.com, cal@example.com" } } } // ... }
android { // ... buildTypes { release { firebaseAppDistribution { artifactType="AAB" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
debug
এবং release
বিল্ডগুলি বিতরণ করতে, এই নির্দেশাবলী অনুসরণ করুন:
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("debug") {...} getByName("release") {...} } flavorDimensions += "version" productFlavors { create("demo") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for demo version" testers = "demo@testers.com" } } create("full") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for full version" testers = "full@testers.com" } } } // ... }
android { // ... buildTypes { debug {...} release {...} } flavorDimensions "version" productFlavors { demo { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for demo version" testers="demo@testers.com" } } full { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for full version" testers="full@testers.com" } } } // ... }
App Distribution বিল্ড প্যারামিটার | |
---|---|
appId | আপনার অ্যাপের ফায়ারবেস অ্যাপ আইডি। আপনার কাছে কেবল গুগল পরিষেবাদি গ্রেডল প্লাগইন ইনস্টল না থাকলে প্রয়োজনীয়। আপনি appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile | আপনার পরিষেবা অ্যাকাউন্টের ব্যক্তিগত কী জসন ফাইলের পথ। আপনি যদি পরিষেবা অ্যাকাউন্ট প্রমাণীকরণ ব্যবহার করেন তবেই প্রয়োজনীয়। |
artifactType | আপনার অ্যাপের ফাইলের ধরণ নির্দিষ্ট করে। |
artifactPath | আপনি আপলোড করতে চান এপিকে বা এএবি ফাইলের নিখুঁত পথ। |
releaseNotes বা releaseNotesFile | এই বিল্ডের জন্য নোট প্রকাশ করুন। আপনি হয় রিলিজ নোটগুলি সরাসরি বা একটি সরল পাঠ্য ফাইলের পথ নির্দিষ্ট করতে পারেন। |
testers বা testersFile | আপনি যে পরীক্ষকগুলিকে বিল্ডগুলি বিতরণ করতে চান তার ইমেল ঠিকানাগুলি। আপনি পরীক্ষার্থীদের ইমেল ঠিকানাগুলির কমা-বিচ্ছিন্ন তালিকা হিসাবে নির্দিষ্ট করতে পারেন: testers="ali@example.com, bri@example.com, cal@example.com" অথবা, আপনি ইমেল ঠিকানাগুলির কমা-বিচ্ছিন্ন তালিকাযুক্ত কোনও ফাইলের পথ নির্দিষ্ট করতে পারেন: testersFile="/path/to/testers.txt" |
groups বা groupsFile | আপনি পরীক্ষক গোষ্ঠীগুলি বিল্ডগুলি বিতরণ করতে চান ( পরীক্ষক পরিচালনা করুন ) দেখুন। গোষ্ঠীগুলি ব্যবহার করে নির্দিষ্ট করা হয় আপনি গোষ্ঠীগুলিকে গ্রুপ এলিয়াসগুলির কমা-বিচ্ছিন্ন তালিকা হিসাবে নির্দিষ্ট করতে পারেন: groups="qa-team, android-testers" অথবা, আপনি গ্রুপ এলিয়াসগুলির কমা-বিচ্ছিন্ন তালিকাযুক্ত কোনও ফাইলের পথ নির্দিষ্ট করতে পারেন: groupsFile="/path/to/tester-groups.txt" |
testDevices বা testDevicesFile | নিম্নলিখিত বিতরণ প্রকারগুলি স্বয়ংক্রিয় পরীক্ষক বিটা বৈশিষ্ট্যের অংশ। আপনি যে পরীক্ষার ডিভাইসগুলি বিতরণ করতে চান সেগুলি বিল্ডগুলিতে ( স্বয়ংক্রিয় পরীক্ষাগুলি দেখুন)। আপনি পরীক্ষার ডিভাইসগুলিকে সেমিকোলন-বিচ্ছিন্ন তালিকা হিসাবে ডিভাইসের নির্দিষ্টকরণের তালিকা হিসাবে নির্দিষ্ট করতে পারেন: testDevices="model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait" অথবা, আপনি ডিভাইস স্পেসিফিকেশনগুলির একটি সেমিকোলন-বিচ্ছিন্ন তালিকাযুক্ত একটি ফাইলের পথ নির্দিষ্ট করতে পারেন: testDevicesFile="/path/to/testDevices.txt" |
testUsername | স্বয়ংক্রিয় টেস্টের সময় স্বয়ংক্রিয় লগইন ব্যবহার করার জন্য ব্যবহারকারীর নাম। |
testPassword বা testPasswordFile | স্বয়ংক্রিয় লগইনটির জন্য পাসওয়ার্ডটি স্বয়ংক্রিয় পরীক্ষার সময় ব্যবহার করা হবে। অথবা, আপনি একটি পাসওয়ার্ডযুক্ত একটি সরল পাঠ্য ফাইলের পথ নির্দিষ্ট করতে পারেন: testPasswordFile="/path/to/testPassword.txt" |
testUsernameResource | স্বয়ংক্রিয় পরীক্ষার সময় স্বয়ংক্রিয় লগইন ব্যবহার করার জন্য ব্যবহারকারীর নাম ক্ষেত্রের জন্য রিসোর্সের নাম। |
testPasswordResource | স্বয়ংক্রিয় টেস্টের সময় স্বয়ংক্রিয় লগইন ব্যবহার করার জন্য পাসওয়ার্ড ক্ষেত্রের জন্য রিসোর্সের নাম। |
testNonBlocking | অটোমেটেড টেস্টগুলি asynchronsicallyভাবে চালান। স্বয়ংক্রিয় পরীক্ষার ফলাফলের জন্য ফায়ারবেস কনসোলটি দেখুন। |
stacktrace | ব্যবহারকারীর ব্যতিক্রমগুলির জন্য স্ট্যাকট্রেস প্রিন্ট করে। ডিবাগিং সমস্যাগুলি যখন এটি সহায়ক। |
পদক্ষেপ 4। আপনার অ্যাপ্লিকেশন পরীক্ষার্থীদের কাছে বিতরণ করুন
অবশেষে, আপনার পরীক্ষার অ্যাপ্লিকেশনটি প্যাকেজ করতে এবং পরীক্ষকদের আমন্ত্রণ জানাতে, লক্ষ্যগুলি তৈরি করুন BUILD-VARIANT
আপনার প্রকল্পের গ্রেডল র্যাপারের সাথেBUILD-VARIANT
এবংappDistributionUpload BUILD-VARIANT
, যেখানে BUILD-VARIANT হ'ল পূর্ববর্তী পদক্ষেপে আপনি কনফিগার করা option চ্ছিক পণ্য স্বাদ এবং বিল্ড টাইপ। পণ্যের স্বাদ সম্পর্কে আরও তথ্যের জন্য, বিল্ড ভেরিয়েন্টগুলি কনফিগার করুন ।উদাহরণস্বরূপ, release
বিল্ড ভেরিয়েন্ট ব্যবহার করে আপনার অ্যাপ্লিকেশন বিতরণ করতে, নিম্নলিখিত কমান্ডটি চালান:./gradlew bundleRelease appDistributionUploadRelease
অথবা, আপনি যদি আপনার গুগল অ্যাকাউন্টের সাথে প্রমাণীকরণ করেন এবং আপনার গ্রেডল বিল্ড ফাইলে শংসাপত্র সরবরাহ না করেন তবে
FIREBASE_TOKEN
ভেরিয়েবলটি অন্তর্ভুক্ত করুন:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew bundleRelease appDistributionUploadRelease
আপনি- --<property-name>=<property-value>
আকারে কমান্ড লাইন যুক্তিগুলি পাস করে আপনারbuild.gradle
সেট করা মানগুলিও ওভাররাইড করতে পারেন। যেমন:App Distribution একটি ডিবাগ বিল্ড আপলোড করতে: ./gradlew bundleDebug appDistributionUploadDebug --artifactType="AAB"
অতিরিক্ত পরীক্ষকদের আমন্ত্রণ জানাতে বা আপনার ফায়ারবেস প্রকল্প থেকে বিদ্যমান পরীক্ষকদের অপসারণ করতে: ./gradlew appDistributionAddTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
./gradlew appDistributionRemoveTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
একবার আপনার ফায়ারবেস প্রকল্পে কোনও পরীক্ষক যুক্ত হয়ে গেলে আপনি সেগুলি পৃথক রিলিজগুলিতে যুক্ত করতে পারেন। যেসব পরীক্ষকরা সরানো হয়েছে তাদের আর আপনার প্রকল্পে রিলিজের অ্যাক্সেস থাকবে না, তবে এখনও সময়ের উইন্ডোর জন্য আপনার রিলিজগুলিতে অ্যাক্সেস ধরে রাখতে পারে।
আপনি --file="/path/to/testers.txt"
ব্যবহার করে পরীক্ষকগণকে--emails
পরিবর্তে নির্দিষ্ট করতে পারেন।appDistributionAddTesters
এবংappDistributionRemoveTesters
কাজগুলিও নিম্নলিখিত যুক্তিগুলি গ্রহণ করে:projectNumber
: আপনার ফায়ারবেস প্রকল্প নম্বর।serviceCredentialsFile
: আপনার গুগল পরিষেবা শংসাপত্র ফাইলের পথ। এটি আপলোড ক্রিয়া দ্বারা ব্যবহৃত একই যুক্তি।
firebase_console_uri
- Firebase কনসোলের একটি লিঙ্ক যা একক প্রকাশ প্রদর্শন করে। আপনি আপনার org এর অন্যান্য বিকাশকারীদের সাথে এই লিঙ্কটি ভাগ করতে পারেন।testing_uri
- পরীক্ষক অভিজ্ঞতার (অ্যান্ড্রয়েড নেটিভ অ্যাপ) রিলিজের একটি লিঙ্ক যা পরীক্ষকদের তাদের ডিভাইসে রিলিজ নোটগুলি দেখতে এবং অ্যাপটি ইনস্টল করতে দেয়। লিঙ্কটি ব্যবহার করার জন্য পরীক্ষকটির রিলিজে অ্যাক্সেসের প্রয়োজন।binary_download_uri
- একটি স্বাক্ষরিত লিঙ্ক যা সরাসরি অ্যাপ্লিকেশন বাইনারি (এপিকে বা এএবি ফাইল) ডাউনলোড করে এবং ইনস্টল করে। লিঙ্কটি এক ঘন্টা পরে শেষ হয়।
পরবর্তী পদক্ষেপ
পরীক্ষকদের আপনার অ্যাপ্লিকেশন সম্পর্কে প্রতিক্রিয়া প্রেরণ করা সহজ করার জন্য অ্যাপ্লিকেশন প্রতিক্রিয়া প্রয়োগ করুন (স্ক্রিনশট সহ)। যখন আপনার অ্যাপ্লিকেশনটির নতুন বিল্ডগুলি ইনস্টল করার জন্য উপলব্ধ থাকে তখন কীভাবে আপনার পরীক্ষকদের কাছে অ্যাপ্লিকেশন সতর্কতাগুলি প্রদর্শন করবেন তা শিখুন। কীভাবে অ্যাপ্লিকেশন বান্ডিল রিলিজগুলি ধাপে ধাপে বিতরণ করতে হয় তা শিখতে অ্যান্ড্রয়েড অ্যাপ্লিকেশন বান্ডিল কোডল্যাব দেখুন। সিআই/সিডি ব্যবহার করে কিউএ পরীক্ষকদের কাছে অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলি বিতরণের জন্য সেরা অনুশীলনগুলি শিখুন।
আপনি App Distribution গ্রেডল প্লাগইন ব্যবহার করে আপনার অ্যান্ড্রয়েড বিল্ড প্রক্রিয়াতে App Distribution সংহত করতে পারেন। প্লাগইন আপনাকে আপনার পরীক্ষার্থীদের নির্দিষ্ট করতে এবং আপনার অ্যাপের গ্রেডল ফাইলে নোটগুলি প্রকাশ করতে দেয়, আপনাকে আপনার অ্যাপ্লিকেশনটির বিভিন্ন বিল্ড প্রকার এবং বৈকল্পিকগুলির জন্য বিতরণগুলি কনফিগার করতে দেয়।
এই গাইডটি App Distribution গ্রেডল প্লাগইন ব্যবহার করে পরীক্ষকদের কীভাবে অ্যান্ড্রয়েড অ্যাপ্লিকেশন বান্ডিলগুলি (এএবিএস) বিতরণ করবেন তা বর্ণনা করে।
App Distribution আপনি আপলোড এবং আপনার পরীক্ষকদের ডিভাইস কনফিগারেশনের জন্য অনুকূলিত APKS পরিবেশন করতে এবং পরিবেশন করতে Google Play অভ্যন্তরীণ অ্যাপ্লিকেশন ভাগ করে নেওয়ার পরিষেবাগুলির সাথে সংহত করে। এএবিএস বিতরণ করা আপনাকে নিম্নলিখিতগুলি করতে দেয়:
আপনার পরীক্ষকদের ডিভাইসগুলিতে অনুকূলিত অপ্টিমাইজড এপিকে (গুগল প্লে দ্বারা পরিবেশন করা) চালান।
ডিভাইস-নির্দিষ্ট সমস্যাগুলি উন্মোচন এবং ডিবাগ করুন।
টেস্ট অ্যাপ্লিকেশন বান্ডিল বৈশিষ্ট্য যেমন প্লে বৈশিষ্ট্য বিতরণ এবং প্লে সম্পদ বিতরণ ।
আপনার পরীক্ষকদের জন্য ডাউনলোডের আকার হ্রাস করুন।
প্রয়োজনীয় অনুমতি
App Distribution এএবিএস আপলোড করতে, আপনাকে অবশ্যই আপনার ফায়ারবেস অ্যাপটিকে Google Play -তে কোনও অ্যাপের সাথে লিঙ্ক করতে হবে। এই ক্রিয়াগুলি সম্পাদন করতে আপনার অবশ্যই প্রয়োজনীয় স্তরের অ্যাক্সেস থাকতে হবে।
আপনার কাছে প্রয়োজনীয় Firebase অ্যাক্সেস না থাকলে, আপনি Firebase প্রকল্পের মালিককে Firebase কনসোল IAM সেটিংসের মাধ্যমে প্রযোজ্য ভূমিকা অর্পণ করতে বলতে পারেন। আপনার যদি আপনার ফায়ারবেস প্রকল্প অ্যাক্সেস করার বিষয়ে প্রশ্ন থাকে, যার মধ্যে একজন মালিককে খুঁজে বের করা বা বরাদ্দ করা সহ, "অনুমতি এবং Firebase প্রকল্পগুলিতে অ্যাক্সেস" FAQs পর্যালোচনা করুন।
নিম্নলিখিত টেবিলটি Google Play -তে একটি অ্যাপ্লিকেশনটিতে ফায়ারবেস অ্যাপকে সংযুক্ত করার পাশাপাশি এএবিএস আপলোড করার ক্ষেত্রে প্রযোজ্য।
Firebase কনসোলে অ্যাকশন | প্রয়োজন IAM অনুমতি | আইএএম রোল (গুলি) যার মধ্যে ডিফল্টরূপে প্রয়োজনীয় অনুমতিগুলি অন্তর্ভুক্ত রয়েছে | অতিরিক্ত প্রয়োজনীয় ভূমিকা (গুলি) |
---|---|---|---|
Google Play একটি অ্যাপ্লিকেশনটিতে একটি ফায়ারবেস অ্যাপ লিঙ্ক করুন | firebase.playLinks.update | নিম্নলিখিত ভূমিকাগুলির মধ্যে একটি: | অ্যাডমিন হিসাবে একটি Google Play বিকাশকারী অ্যাকাউন্টে অ্যাক্সেস |
App Distribution AABS আপলোড করুন | firebaseappdistro.releases.update | নিম্নলিখিত ভূমিকাগুলির মধ্যে একটি: | -- |
আপনি শুরু করার আগে
আপনি যদি ইতিমধ্যে না থাকেন তবে আপনার অ্যান্ড্রয়েড প্রকল্পে ফায়ারবেস যুক্ত করুন । এই কর্মপ্রবাহের শেষে, আপনার ফায়ারবেস প্রকল্পে আপনার একটি ফায়ারবেস অ্যান্ড্রয়েড অ্যাপ্লিকেশন থাকবে।
আপনি যদি অন্য কোনও ফায়ারবেস পণ্য ব্যবহার না করে থাকেন তবে আপনাকে কেবল একটি প্রকল্প তৈরি করতে হবে এবং আপনার অ্যাপ্লিকেশনটি নিবন্ধন করতে হবে। আপনি যদি অতিরিক্ত পণ্য ব্যবহার করার সিদ্ধান্ত নেন তবে আপনার অ্যান্ড্রয়েড প্রকল্পে ফায়ারবেস যুক্ত করার সমস্ত পদক্ষেপগুলি সম্পূর্ণ করতে ভুলবেন না।
গুগল প্লেতে ফায়ারবেস লিঙ্ক তৈরি করতে এবং এএবিএস আপলোড করতে, আপনার অ্যাপ্লিকেশনটি নিম্নলিখিত প্রয়োজনীয়তাগুলি পূরণ করেছে তা নিশ্চিত করুন:
গুগল প্লে অ্যাপ্লিকেশন এবং ফায়ারবেস অ্যান্ড্রয়েড অ্যাপ্লিকেশন উভয়ই একই প্যাকেজের নাম ব্যবহার করে নিবন্ধিত।
গুগল প্লেতে অ্যাপটি অ্যাপ ড্যাশবোর্ডে সেট আপ করা হয়েছে এবং গুগল প্লে ট্র্যাকগুলির মধ্যে একটিতে বিতরণ করা হয়েছে (অভ্যন্তরীণ পরীক্ষা, বন্ধ পরীক্ষা, খোলা পরীক্ষা বা উত্পাদন)।
গুগল প্লেতে অ্যাপ্লিকেশনটির পর্যালোচনা সম্পূর্ণ এবং অ্যাপটি প্রকাশিত হয়েছে। আপনার অ্যাপ্লিকেশনটি প্রকাশিত হয় যদি অ্যাপের স্থিতি কলামটি নিম্নলিখিত স্ট্যাটাসগুলির মধ্যে একটি প্রদর্শন করে: অভ্যন্তরীণ পরীক্ষা (অভ্যন্তরীণ পরীক্ষার খসড়া নয়), বন্ধ পরীক্ষা, খোলা পরীক্ষা বা উত্পাদন।
আপনার গুগল প্লে বিকাশকারী অ্যাকাউন্টে আপনার ফায়ারবেস অ্যান্ড্রয়েড অ্যাপটি লিঙ্ক করুন:
Firebase কনসোলে, আপনার কাছে যান গুগল প্লে কার্ডে, লিঙ্কটি ক্লিক করুন।
আপনার যদি ইতিমধ্যেই Google Play-এর লিঙ্ক থাকে, তাহলে এর পরিবর্তে ম্যানেজ এ ক্লিক করুন।App Distribution সংহতকরণ সক্ষম করতে অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন এবং গুগল প্লেতে লিঙ্ক করতে কোন ফায়ারবেস অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলি নির্বাচন করুন।
গুগল প্লেতে লিঙ্কিং সম্পর্কে আরও জানুন।
পদক্ষেপ 1। আপনার অ্যান্ড্রয়েড প্রকল্প সেট আপ করুন
আপনার রুট-স্তরের (প্রকল্প-স্তর) গ্রেডল ফাইলে ( <project>/build.gradle.kts
বা<project>/build.gradle
), App Distribution গ্রেডল প্লাগইনকে নির্ভরতা হিসাবে যুক্ত করুন:plugins { // ... id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.2" apply false // Add the dependency for the App Distribution Gradle plugin id("com.google.firebase.appdistribution") version "5.1.1" apply false }
plugins { // ... id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.4.2' apply false // Add the dependency for the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' version '5.1.1' apply false }
আপনার মডিউলটিতে (অ্যাপ্লিকেশন-স্তর) গ্রেড ফাইল (সাধারণত <project>/<app-module>/build.gradle.kts
বা<project>/<app-module>/build.gradle
), App Distribution গ্রেডল প্লাগইন যুক্ত করুন:plugins { id("com.android.application") // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the App Distribution Gradle plugin id("com.google.firebase.appdistribution") }
plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' }
আপনি যদি কোনও কর্পোরেট প্রক্সি বা ফায়ারওয়ালের পিছনে থাকেন তবে নিম্নলিখিত জাভা সিস্টেমের সম্পত্তি যুক্ত করুন যা App Distribution ফায়ারবেসে আপনার বিতরণগুলি আপলোড করতে সক্ষম করে: -Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
পদক্ষেপ 2। ফায়ারবেস দিয়ে প্রমাণীকরণ করুন
ফায়ারবেস পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি ব্যবহার করুন
আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলটি build.gradle
grad আপনার বিল্ড পরিবেশে ইতিমধ্যে আপনার পরিষেবা অ্যাকাউন্ট কী ফাইল থাকলে আপনি এই পদ্ধতিটি সুবিধাজনক দেখতে পাবেন।আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলটি নির্দেশ করতে পরিবেশের পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS
সেট করুন। আপনি যদি ইতিমধ্যে অন্য গুগল পরিষেবার (যেমন, Google Cloud ) কনফিগার করা অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (এডিসি) থাকে তবে আপনি এই পদ্ধতিটি পছন্দ করতে পারেন।
Google Cloud কনসোলে, আপনার প্রকল্পটি নির্বাচন করুন এবং একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করুন। Firebase App Distribution প্রশাসনের ভূমিকা যুক্ত করুন। একটি ব্যক্তিগত জেএসএন কী তৈরি করুন এবং আপনার বিল্ড পরিবেশে অ্যাক্সেসযোগ্য কোনও স্থানে কীটি সরান। এই ফাইলটি কোথাও সুরক্ষিত রাখতে ভুলবেন না , কারণ এটি আপনার ফায়ারবেস প্রকল্পে App Distribution প্রশাসককে অ্যাক্সেস মঞ্জুর করে। আপনি যদি 20 সেপ্টেম্বর, 2019 এর পরে আপনার অ্যাপটি তৈরি করেন তবে এই পদক্ষেপটি এড়িয়ে যান: গুগল এপিআইএস কনসোলে, Firebase App Distribution এপিআই সক্ষম করুন। যখন অনুরোধ করা হয়, আপনার ফায়ারবেস প্রকল্পের মতো একই নাম সহ প্রকল্পটি নির্বাচন করুন। আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি সরবরাহ বা সনাক্ত করুন: আপনার build.gradle
ফাইলে আপনার পরিষেবা অ্যাকাউন্ট কী গ্রেড করতে পাস করার জন্য, প্রাইভেট কী জসন ফাইলে সম্পত্তিserviceCredentialsFile
সেট করুন।এডিসির সাথে আপনার শংসাপত্রগুলি সনাক্ত করতে, পরিবেশের পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS
প্রাইভেট কী জেএসএন ফাইলের পথে সেট করুন। যেমন:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
For more information on authenticating with ADC, read Providing credentials to your application.
Sign in using the Firebase CLI
Step 3. Configure your distribution properties
<project>/<app-module>/build.gradle.kts
or <project>/<app-module>/build.gradle
), configure App Distribution by adding at least one firebaseAppDistribution
section.
release
build to testers, follow these instructions::
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("release") { firebaseAppDistribution { artifactType = "AAB" releaseNotesFile = "/path/to/releasenotes.txt" testers = "ali@example.com, bri@example.com, cal@example.com" } } } // ... }
android { // ... buildTypes { release { firebaseAppDistribution { artifactType="AAB" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
debug
and release
builds in "demo" and "full" product flavors, follow these instructions:
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("debug") {...} getByName("release") {...} } flavorDimensions += "version" productFlavors { create("demo") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for demo version" testers = "demo@testers.com" } } create("full") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for full version" testers = "full@testers.com" } } } // ... }
android { // ... buildTypes { debug {...} release {...} } flavorDimensions "version" productFlavors { demo { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for demo version" testers="demo@testers.com" } } full { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for full version" testers="full@testers.com" } } } // ... }
App Distribution Build Parameters | |
---|---|
appId | Your app's Firebase App ID. Required only if you don't have the Google Services Gradle plugin installed. You can find the App ID in the appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile | The path to your service account private key JSON file. Required only if you use service account authentication. |
artifactType | Specifies your app's file type. Can be set to |
artifactPath | Absolute path to the APK or AAB file you want to upload. |
releaseNotes or releaseNotesFile | Release notes for this build. You can either specify the release notes directly or the path to a plain text file. |
testers or testersFile | The email addresses of the testers you want to distribute builds to. You can specify the testers as a comma-separated list of email addresses: testers="ali@example.com, bri@example.com, cal@example.com" Or, you can specify the path to a file containing a comma-separated list of email addresses: testersFile="/path/to/testers.txt" |
groups or groupsFile | The tester groups you want to distribute builds to (see Manage testers ). Groups are specified using You can specify the groups as a comma-separated list of group aliases: groups="qa-team, android-testers" Or, you can specify the path to a file containing a comma-separated list of group aliases: groupsFile="/path/to/tester-groups.txt" |
testDevices or testDevicesFile | The following distribution types are part of the Automated tester beta feature . The test devices you want to distribute builds to (see Automated tests ). You can specify the test devices as a semicolon-separated list of device specifications: testDevices="model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait" Or, you can specify the path to a file containing a semicolon-separated list of device specifications: testDevicesFile="/path/to/testDevices.txt" |
testUsername | The username for automatic login to be used during automated tests . |
testPassword or testPasswordFile | The password for automatic login to be used during automated tests . Or, you can specify the path to a plain text file containing a password: testPasswordFile="/path/to/testPassword.txt" |
testUsernameResource | Resource name for the username field for automatic login to be used during automated tests . |
testPasswordResource | Resource name for the password field for automatic login to be used during automated tests . |
testNonBlocking | Run automated tests asynchronously. Visit the Firebase console for the automatic test results. |
stacktrace | Prints out the stacktrace for user exceptions. This is helpful when debugging issues. |
Step 4. Distribute your app to testers
Finally, to package your test app and invite testers, build the targets BUILD-VARIANT
andappDistributionUpload BUILD-VARIANT
with your project's Gradle wrapper, where BUILD-VARIANT is the optional product flavor and build type you configured in the previous step. For more information about product flavors, see Configure build variants .For example, to distribute your app using the release
build variant, run the following command:./gradlew bundleRelease appDistributionUploadRelease
Or, if you authenticated with your Google Account and didn't provide credentials in your Gradle build file, include the
FIREBASE_TOKEN
variable:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew bundleRelease appDistributionUploadRelease
You can also override the values set in your build.gradle
file by passing command line arguments in the form of--<property-name>=<property-value>
. যেমন:To upload a debug build to App Distribution : ./gradlew bundleDebug appDistributionUploadDebug --artifactType="AAB"
To invite additional testers or remove existing testers from your Firebase project: ./gradlew appDistributionAddTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
./gradlew appDistributionRemoveTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
Once a tester has been added to your Firebase project, you can add them to individual releases. Testers who are removed will no longer have access to releases in your project, but may still retain access to your releases for a window of time.
You can also specify testers using --file="/path/to/testers.txt"
instead of--emails
.The appDistributionAddTesters
andappDistributionRemoveTesters
tasks also accept the following arguments:projectNumber
: Your Firebase project number.serviceCredentialsFile
: The path to your Google service credentials file. This is the same argument used by the upload action.
firebase_console_uri
- A link to the Firebase console displaying a single release. You can share this link with other developers in your org.testing_uri
- A link to the release in the tester experience (Android native app) that lets testers view release notes and install the app onto their device. The tester needs access to the release in order to use the link.binary_download_uri
- A signed link that directly downloads and installs the app binary (APK or AAB file). The link expires after one hour.
পরবর্তী পদক্ষেপ
Implement in-app feedback to make it easy for testers to send feedback about your app (including screenshots). Learn how to display in-app alerts to your testers when new builds of your app are available to install. Visit the Android App Bundle codelab to learn how to distribute app bundle releases step by step. Learn best practices for distributing Android apps to QA testers using CI/CD .