Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

ফায়ারবেস রিমোট কনফিগার দিয়ে শুরু করুন

আপনি আপনার অ্যাপে প্যারামিটার সংজ্ঞায়িত করতে এবং ক্লাউডে তাদের মান আপডেট করতে ফায়ারবেস রিমোট কনফিগ ব্যবহার করতে পারেন, যার ফলে আপনি অ্যাপ আপডেট বিতরণ না করে আপনার অ্যাপের চেহারা এবং আচরণ পরিবর্তন করতে পারবেন। এই নির্দেশিকাটি পদক্ষেপ শুরু করতে মধ্য দিয়ে নিয়ে এবং কিছু নমুনা কোড প্রদান করে, যার মধ্যে সব ক্লোন বা ডাউনলোড থেকে পাওয়া যায় firebase / দ্রুতশুরু-অ্যান্ড্রয়েড GitHub সংগ্রহস্থল।

আপনার অ্যাপে Firebase এবং রিমোট কনফিগার SDK যোগ করুন

  1. আপনি ইতিমধ্যে থাকে, তাহলে আপনার অ্যান্ড্রয়েড প্রকল্পের Firebase যোগ

  2. রিমোট কনফিগ জন্য, Google এনালিটিক্স জন্য প্রয়োজন অ্যাপ্লিকেশন দৃষ্টান্ত শর্তসাপেক্ষ লক্ষ্য ব্যবহারকারী বিশিষ্টতা, শ্রোতাদের, এবং Firebase ভবিষ্যতবাণী করতে। নিশ্চিত করুন যে আপনি করুন Google এনালিটিক্স সক্ষম আপনার প্রকল্পের মধ্যে।

  3. ব্যবহার Firebase অ্যান্ড্রয়েড Bom , আপনার মডিউল (অ্যাপ্লিকেশান-স্তর) Gradle ফাইল (সাধারণত রিমোট কনফিগ অ্যান্ড্রয়েড লাইব্রেরির জন্য নির্ভরতা ঘোষণা app/build.gradle )।

    এছাড়াও, অ্যানালিটিক্স সেট আপ করার অংশ হিসাবে, আপনাকে আপনার অ্যাপে Google Analytics এর জন্য Firebase SDK যোগ করতে হবে।

    জাভা

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.4.2')
    
        // Declare the dependencies for the Remote Config and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-config'
        implementation 'com.google.firebase:firebase-analytics'
    }
    

    ব্যবহারের Firebase অ্যান্ড্রয়েড Bom , আপনার অ্যাপ্লিকেশন সবসময় Firebase অ্যান্ড্রয়েড লাইব্রেরি সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।

    (বিকল্প) Bom ব্যবহার না করেই Firebase গ্রন্থাগার নির্ভরতা ঘোষণা

    আপনি যদি Firebase BoM ব্যবহার না করার সিদ্ধান্ত নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরির সংস্করণ তার নির্ভরতা লাইনে নির্দিষ্ট করতে হবে।

    মনে রাখবেন যদি আপনি আপনার অ্যাপ্লিকেশন একাধিক Firebase লাইব্রেরি ব্যবহার করেন তখন আমরা অত্যন্ত গ্রন্থাগার সংস্করণ, যা নিশ্চিত করে যে সমস্ত সংস্করণের সামঞ্জস্যপূর্ণ পরিচালনা করতে Bom ব্যবহার সুপারিশ।

    dependencies {
        // Declare the dependencies for the Remote Config and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-config:21.0.1'
        implementation 'com.google.firebase:firebase-analytics:19.0.2'
    }
    

    কোটলিন+কেটিএক্স

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.4.2')
    
        // Declare the dependencies for the Remote Config and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-config-ktx'
        implementation 'com.google.firebase:firebase-analytics-ktx'
    }
    

    ব্যবহারের Firebase অ্যান্ড্রয়েড Bom , আপনার অ্যাপ্লিকেশন সবসময় Firebase অ্যান্ড্রয়েড লাইব্রেরি সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।

    (বিকল্প) Bom ব্যবহার না করেই Firebase গ্রন্থাগার নির্ভরতা ঘোষণা

    আপনি যদি Firebase BoM ব্যবহার না করার সিদ্ধান্ত নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরির সংস্করণ তার নির্ভরতা লাইনে নির্দিষ্ট করতে হবে।

    মনে রাখবেন যদি আপনি আপনার অ্যাপ্লিকেশন একাধিক Firebase লাইব্রেরি ব্যবহার করেন তখন আমরা অত্যন্ত গ্রন্থাগার সংস্করণ, যা নিশ্চিত করে যে সমস্ত সংস্করণের সামঞ্জস্যপূর্ণ পরিচালনা করতে Bom ব্যবহার সুপারিশ।

    dependencies {
        // Declare the dependencies for the Remote Config and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-config-ktx:21.0.1'
        implementation 'com.google.firebase:firebase-analytics-ktx:19.0.2'
    }
    

রিমোট কনফিগ সিঙ্গলটন অবজেক্ট পান

একটি রিমোট কনফিগ বস্তুর উদাহরণ পান এবং ঘন ঘন রিফ্রেশ করার জন্য ন্যূনতম আনতে ব্যবধান সেট করুন:

জাভা

mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
        .setMinimumFetchIntervalInSeconds(3600)
        .build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);

কোটলিন+কেটিএক্স

remoteConfig = Firebase.remoteConfig
val configSettings = remoteConfigSettings {
    minimumFetchIntervalInSeconds = 3600
}
remoteConfig.setConfigSettingsAsync(configSettings)

সিঙ্গেলটন বস্তুটি ইন-অ্যাপ ডিফল্ট প্যারামিটার মান সংরক্ষণ করতে, ব্যাকএন্ড থেকে আপডেট হওয়া প্যারামিটার মানগুলি আনতে এবং আপনার অ্যাপে যখন ফেচ করা মানগুলি উপলব্ধ করা হয় তখন নিয়ন্ত্রণ করতে ব্যবহৃত হয়।

উন্নয়নের সময়, এটি একটি অপেক্ষাকৃত কম সর্বনিম্ন আনার ব্যবধান সেট করার সুপারিশ করা হয়। দেখুন থ্রোটলিং আরও তথ্যের জন্য।

ইন-অ্যাপ ডিফল্ট প্যারামিটার মান সেট করুন

আপনি রিমোট কনফিগ অবজেক্টে ইন-অ্যাপ ডিফল্ট প্যারামিটার মান সেট করতে পারেন, যাতে আপনার অ্যাপটি রিমোট কনফিগ ব্যাকএন্ডের সাথে সংযুক্ত হওয়ার পূর্বে ইচ্ছামত আচরণ করে, এবং যাতে ব্যাকএন্ডে সেট না থাকলে ডিফল্ট মান পাওয়া যায়।

  1. প্যারামিটার নাম এবং একটি ব্যবহার ডিফল্ট পরামিতির মান একটি সেট নির্ধারণ ম্যাপ বস্তু বা একটি এক্সএমএল সম্পদ ফাইল আপনার অ্যাপ্লিকেশনের মধ্যে সংরক্ষিত res/xml ফোল্ডার। রিমোট কনফিগ নমুনা অ্যাপ্লিকেশন ব্যবহার করে একটি দ্রুতশুরু XML ফাইল ডিফল্ট প্যারামিটার নাম এবং মান নির্ধারণ করতে।
  2. ব্যবহার করে দূরবর্তী কনফিগ বস্তু এই মান যোগ করুন setDefaultsAsync(int) দেখানো হয়েছে:

জাভা

mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);

কোটলিন+কেটিএক্স

remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)

আপনার অ্যাপে ব্যবহার করার জন্য প্যারামিটার মান পান

এখন আপনি রিমোট কনফিগ অবজেক্ট থেকে প্যারামিটার মান পেতে পারেন। যদি আপনি ব্যাকএন্ডে মান নির্ধারণ করেন, সেগুলি আনুন এবং তারপর তাদের সক্রিয় করুন, সেই মানগুলি আপনার অ্যাপে উপলব্ধ। অন্যথা, আপনি অ্যাপ-মধ্যস্থ প্যারামিটার ব্যবহার কনফিগার মান পেতে setDefaultsAsync(int) । এই মানগুলি পেতে, নীচের তালিকাভুক্ত পদ্ধতিতে কল করুন যা আপনার অ্যাপের দ্বারা প্রত্যাশিত ডেটা টাইপের মানচিত্র, যুক্তি হিসাবে প্যারামিটার কী প্রদান করে:

রিমোট কনফিগ ব্যাকএন্ডে প্যারামিটার মান সেট করুন

Firebase কনসোল বা ব্যবহার রিমোট কনফিগ ব্যাকএন্ড API গুলি , আপনি যে আপনার পছন্দসই শর্তাধীন লজিক অথবা ব্যবহারকারীর লক্ষ্য করে অনুযায়ী ওভাররাইড অ্যাপ-মধ্যস্থ মান নতুন সার্ভার সাইড ডিফল্ট মান তৈরি করতে পারেন। এই বিভাগটি এই মানগুলি তৈরির জন্য Firebase কনসোল ধাপগুলি বর্ণনা করে।

  1. ইন Firebase কনসোল , আপনার প্রকল্পের খুলুন।
  2. রিমোট কনফিগ ড্যাশবোর্ড দেখতে মেনু থেকে রিমোট কনফিগ নির্বাচন করুন।
  3. আপনি আপনার অ্যাপে যে প্যারামিটারগুলি সংজ্ঞায়িত করেছেন সেই একই নামের সাথে পরামিতিগুলি সংজ্ঞায়িত করুন। প্রতিটি প্যারামিটারের জন্য, আপনি একটি ডিফল্ট মান সেট করতে পারেন (যা শেষ পর্যন্ত সংশ্লিষ্ট ইন-অ্যাপ ডিফল্ট মানকে ওভাররাইড করবে), এবং আপনি শর্তাধীন মানও সেট করতে পারেন। আরো জানতে, দেখুন রিমোট কনফিগ পরামিতি ও শর্তাবলী

মান আনুন এবং সক্রিয় করুন

  1. রিমোট কনফিগ ব্যাকএন্ড থেকে পরামিতির মান আনতে, কল fetch() পদ্ধতি। আপনি ব্যাকএন্ডে সেট করা যেকোনো মানগুলি রিমোট কনফিগ অবজেক্টে আনা এবং সংরক্ষণ করা হয়।
  2. সংগৃহীত পরামিতির মান আপনার অ্যাপ উপলব্ধ করতে, কল activate() পদ্ধতি।

    ক্ষেত্রে যেখানে আপনি আনতে চান এবং এক কলে মান সক্রিয়, আপনি একটি ব্যবহার করতে পারেন fetchAndActivate() রিমোট কনফিগ ব্যাকএন্ড থেকে মানগুলি আনা এবং অ্যাপ্লিকেশান তাদের উপলব্ধ করার অনুরোধ:

    জাভা

    mFirebaseRemoteConfig.fetchAndActivate()
            .addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
                @Override
                public void onComplete(@NonNull Task<Boolean> task) {
                    if (task.isSuccessful()) {
                        boolean updated = task.getResult();
                        Log.d(TAG, "Config params updated: " + updated);
                        Toast.makeText(MainActivity.this, "Fetch and activate succeeded",
                                Toast.LENGTH_SHORT).show();
    
                    } else {
                        Toast.makeText(MainActivity.this, "Fetch failed",
                                Toast.LENGTH_SHORT).show();
                    }
                    displayWelcomeMessage();
                }
            });

    কোটলিন+কেটিএক্স

    remoteConfig.fetchAndActivate()
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    val updated = task.result
                    Log.d(TAG, "Config params updated: $updated")
                    Toast.makeText(this, "Fetch and activate succeeded",
                            Toast.LENGTH_SHORT).show()
                } else {
                    Toast.makeText(this, "Fetch failed",
                            Toast.LENGTH_SHORT).show()
                }
                displayWelcomeMessage()
            }

যেহেতু এই আপডেট করা প্যারামিটারের মানগুলি আপনার অ্যাপের আচরণ এবং চেহারাকে প্রভাবিত করে, তাই আপনার আনা মানগুলি এমন সময়ে সক্রিয় করা উচিত যা আপনার ব্যবহারকারীর জন্য একটি মসৃণ অভিজ্ঞতা নিশ্চিত করে, যেমন পরের বার যখন ব্যবহারকারী আপনার অ্যাপ খুলবে। দেখুন রিমোট কনফিগ লোড কৌশল আরো তথ্য এবং উদাহরণ জন্য।

থ্রোটলিং

একটি অ্যাপ্লিকেশন একটি সংক্ষিপ্ত সময়ের মধ্যে অনেকবার রক্ষিত রাখে, তাহলে আনা কল রোধ করা হয় এবং SDK এর ফেরৎ FirebaseRemoteConfigFetchThrottledException । SDK সংস্করণ 17.0.0 এর আগে, 60 মিনিটের উইন্ডোতে 5 টি আনার অনুরোধের সীমা ছিল (নতুন সংস্করণগুলিতে আরও অনুমোদিত সীমা রয়েছে)।

অ্যাপ ডেভেলপমেন্টের সময়, আপনি আপনার অ্যাপটি ডেভেলপ এবং টেস্ট করার সময় দ্রুত পুনরাবৃত্তি করতে খুব ঘন ঘন (প্রতি ঘন্টায় অনেকবার) কনফিগারেশন আনতে এবং সক্রিয় করতে চাইতে পারেন। 10 বিকাশকারীদের কাছে দিয়ে একটি প্রকল্প দ্রুত পুনরাবৃত্তির মিটমাট করার জন্য, আপনাকে সাময়িকভাবে সেট করতে পারেন একটি FirebaseRemoteConfigSettings কম ন্যূনতম সঙ্গে আপত্তি অন্তর (আনা setMinimumFetchIntervalInSeconds আপনার অ্যাপে)।

রিমোট কনফিগের জন্য ডিফল্ট ন্যূনতম আনার ব্যবধান 12 ঘন্টা, যার মানে হল যে কনফিগারেশনগুলি 12 ঘন্টার উইন্ডোতে একাধিকবার ব্যাকএন্ড থেকে আনা হবে না, তা সত্ত্বেও আসলে কতগুলি কল আনা হয়। বিশেষ করে, সর্বনিম্ন আনার ব্যবধান এই ক্রমে নির্ধারিত হয়:

  1. মাপদণ্ড fetch(long)
  2. মাপদণ্ড FirebaseRemoteConfigSettings.setMinimumFetchIntervalInSeconds(long)
  3. 12 ঘন্টার ডিফল্ট মান

ন্যূনতম একটি কাস্টম মান, ব্যবহার করা ব্যবধান আনা সেট করতে FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long)

পরবর্তী পদক্ষেপ

আপনি ইতিমধ্যে থাকে, তাহলে রিমোট কনফিগ অন্বেষণ ব্যবহারের ক্ষেত্রে , এবং কী ধারণা এবং উন্নত কৌশল ডকুমেন্টেশন সহ কিছু কটাক্ষপাত করা: