Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

আপনার অ্যাপে Firebase এবং Remote Config 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:29.0.0')
    
        // 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:20.0.0'
    }
    

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

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:29.0.0')
    
        // 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:20.0.0'
    }
    

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

একটি রিমোট কনফিগার অবজেক্ট ইনস্ট্যান্স পান এবং ঘন ঘন রিফ্রেশ করার জন্য ন্যূনতম আনয়ন ব্যবধান সেট করুন:

জাভা

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)

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

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