পূর্বশর্ত
- Android SDK ম্যানেজার ব্যবহার করে Android SDK-এর সর্বশেষ সংস্করণটি ইনস্টল করুন৷
- Android SDK ম্যানেজারের মাধ্যমে appcompat এবং mediarouter AndroidX লাইব্রেরির সর্বশেষ সংস্করণ ইনস্টল করুন।
- Android SDK ম্যানেজারের মাধ্যমে Google Play পরিষেবাগুলিতে সর্বশেষ Cast SDK ইনস্টল করুন৷
Android এর জন্য Google Cast SDK হল Google Play পরিষেবা SDK-এর অংশ এবং আলাদাভাবে ডাউনলোড করার প্রয়োজন নেই৷
দ্রষ্টব্য : Google Play পরিষেবাগুলি আপনাকে বিজ্ঞাপন তৈরি, বিশ্লেষণ সংগ্রহ, ব্যবহারকারীদের প্রমাণীকরণ, মানচিত্র সংহতকরণ এবং আরও অনেক কিছুর জন্য API-এর একটি পরিসরে অ্যাক্সেস দেয়৷ আরও তথ্যের জন্য, Google Play পরিষেবাগুলির ওভারভিউ দেখুন। ব্যবহারকারীর ডিভাইসে সঠিক Google Play পরিষেবা APK ইনস্টল করা আছে কিনা তা নিশ্চিত করা আপনার জন্য গুরুত্বপূর্ণ কারণ আপডেটগুলি অবিলম্বে সমস্ত ব্যবহারকারীর কাছে নাও পৌঁছতে পারে।
আপনার প্রকল্পে Google Play পরিষেবা যোগ করুন
নীচে আপনার উন্নয়ন পরিবেশ নির্বাচন করুন এবং প্রদত্ত পদক্ষেপগুলি অনুসরণ করে আপনার প্রকল্পে Google Play পরিষেবাগুলি যোগ করুন৷
অ্যান্ড্রয়েড স্টুডিও
আপনার অ্যাপে Google Play পরিষেবা APIগুলি উপলব্ধ করতে:
- আপনার অ্যাপ্লিকেশন মডিউল ডিরেক্টরির ভিতরে
build.gradle
ফাইলটি খুলুন।দ্রষ্টব্য: অ্যান্ড্রয়েড স্টুডিও প্রকল্পে প্রতিটি মডিউলের জন্য একটি শীর্ষ-স্তরের
build.gradle
ফাইল এবং একটিbuild.gradle
ফাইল থাকে। আপনার অ্যাপ্লিকেশন মডিউলের জন্য ফাইলটি সম্পাদনা করতে ভুলবেন না। Gradle সম্পর্কে আরও তথ্যের জন্য Gradle দিয়ে আপনার প্রকল্প তৈরি করা দেখুন। - যাচাই করুন যে
google()
তালিকাভুক্তrepositories
অন্তর্ভুক্ত করা হয়েছে।repositories {
play-services
সর্বশেষ সংস্করণের জন্যdependencies
অধীনে একটি নতুন বিল্ড নিয়ম যুক্ত করুন৷ যেমন:apply plugin: 'com.android.application' ... dependencies { implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'androidx.mediarouter:mediarouter:1.2.5' implementation 'com.google.android.gms:play-services-cast-framework:21.5.0' }
প্রতিবার Google Play পরিষেবাগুলি আপডেট করার সময় আপনি এই সংস্করণ নম্বরটি আপডেট করেছেন তা নিশ্চিত করুন।
দ্রষ্টব্য: আপনার অ্যাপে পদ্ধতির রেফারেন্সের সংখ্যা 65K সীমা অতিক্রম করলে, আপনার অ্যাপ কম্পাইল করতে ব্যর্থ হতে পারে। আপনি আপনার অ্যাপটি কম্পাইল করার সময় এই সমস্যাটি প্রশমিত করতে সক্ষম হতে পারেন শুধুমাত্র নির্দিষ্ট Google Play পরিষেবা APIগুলি নির্দিষ্ট করে যা আপনার অ্যাপ ব্যবহার করে, সেগুলির পরিবর্তে। এটি কীভাবে করবেন সে সম্পর্কে তথ্যের জন্য, আপনার এক্সিকিউটেবলে নির্বাচনীভাবে API গুলি কম্পাইল করা দেখুন।
- পরিবর্তনগুলি সংরক্ষণ করুন এবং টুলবারে গ্রেডল ফাইলগুলির সাথে সিঙ্ক প্রকল্পে ক্লিক করুন।
অন্যান্য IDE
আপনার অ্যাপে Google Play পরিষেবা APIগুলি উপলব্ধ করতে:
-
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/
এ লাইব্রেরি প্রোজেক্ট কপি করুন যেখানে আপনি আপনার Android অ্যাপ প্রোজেক্টগুলি রক্ষণাবেক্ষণ করেন। - আপনার অ্যাপ প্রোজেক্টে, Google Play পরিষেবা লাইব্রেরি প্রোজেক্ট উল্লেখ করুন। এটি কীভাবে করতে হয় সে সম্পর্কে আরও তথ্যের জন্য কমান্ড লাইনে একটি লাইব্রেরি প্রকল্পের উল্লেখ দেখুন।
দ্রষ্টব্য: আপনার ডেভেলপমেন্ট ওয়ার্কস্পেসে অনুলিপি করা লাইব্রেরির একটি অনুলিপি আপনার উল্লেখ করা উচিত—আপনার Android SDK ডিরেক্টরি থেকে সরাসরি লাইব্রেরির উল্লেখ করা উচিত নয়।
- আপনার অ্যাপ প্রোজেক্টের নির্ভরতা হিসেবে আপনি Google Play পরিষেবার লাইব্রেরি যোগ করার পরে, আপনার অ্যাপের ম্যানিফেস্ট ফাইলটি খুলুন এবং
<application>
উপাদানের শিশু হিসাবে নিম্নলিখিত ট্যাগটি যোগ করুন:<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
একবার আপনি লাইব্রেরি প্রজেক্টের রেফারেন্স করার জন্য আপনার প্রোজেক্ট সেট আপ করলে, আপনি Google Play পরিষেবা APIগুলির সাথে বৈশিষ্ট্যগুলি তৈরি করা শুরু করতে পারেন৷
একটি Proguard ব্যতিক্রম তৈরি করুন
ProGuard কে প্রয়োজনীয় ক্লাস ছিনিয়ে নেওয়া থেকে আটকাতে, তে নিম্নলিখিত লাইনগুলি যোগ করুন/proguard-project.txt
ফাইল:
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { public static final *** NULL; } -keepnames class * implements android.os.Parcelable -keepclassmembers class * implements android.os.Parcelable { public static final *** CREATOR; } -keep @interface android.support.annotation.Keep -keep @android.support.annotation.Keep class * -keepclasseswithmembers class * { @android.support.annotation.Keep <fields>; } -keepclasseswithmembers class * { @android.support.annotation.Keep <methods>; } -keep @interface com.google.android.gms.common.annotation.KeepName -keepnames @com.google.android.gms.common.annotation.KeepName class * -keepclassmembernames class * { @com.google.android.gms.common.annotation.KeepName *; } -keep @interface com.google.android.gms.common.util.DynamiteApi -keep public @com.google.android.gms.common.util.DynamiteApi class * { public <fields>; public <methods>; } -dontwarn android.security.NetworkSecurityPolicy