1. ভূমিকা
Firebase অ্যাপ চেক আপনার ব্যাকএন্ড রিসোর্সগুলিকে বৈধ অ্যাপ এবং ডিভাইস থেকে অনুরোধগুলি আসার বিষয়টি নিশ্চিত করে, যেমন বিলিং জালিয়াতি এবং ফিশিং থেকে রক্ষা করতে সাহায্য করে। এটি আপনার রিসোর্সগুলিকে নিরাপদ রাখতে Firebase পরিষেবা এবং আপনার নিজস্ব ব্যাকএন্ড পরিষেবা উভয়ের সাথেই কাজ করে।
আপনি Firebase ডকুমেন্টেশনে Firebase অ্যাপ চেক সম্পর্কে আরও জানতে পারবেন।
অ্যাপ চেক একটি অ্যাপ এবং/অথবা ডিভাইসের অখণ্ডতা যাচাই করার জন্য প্ল্যাটফর্ম-নির্দিষ্ট পরিষেবা ব্যবহার করে। এই পরিষেবাগুলিকে বলা হয় অ্যাটেস্টেশন প্রোভাইডার । এরকম একটি প্রোভাইডার হল অ্যাপলের অ্যাপ অ্যাটেস্ট পরিষেবা, যা অ্যাপ চেক অ্যাপল অ্যাপ এবং ডিভাইসের সত্যতা যাচাই করতে ব্যবহার করতে পারে।
তুমি কী তৈরি করবে
এই কোডল্যাবে, আপনি একটি বিদ্যমান নমুনা অ্যাপ্লিকেশনে অ্যাপ চেক যোগ করবেন এবং প্রয়োগ করবেন যাতে প্রকল্পের রিয়েলটাইম ডেটাবেস অবৈধ অ্যাপ এবং ডিভাইস দ্বারা অ্যাক্সেস করা থেকে সুরক্ষিত থাকে।
তুমি কি শিখবে
- একটি বিদ্যমান অ্যাপে Firebase অ্যাপ চেক কীভাবে যোগ করবেন।
- বিভিন্ন ফায়ারবেস অ্যাপ চেক প্রত্যয়ন প্রদানকারী কীভাবে ইনস্টল করবেন।
- আপনার অ্যাপের জন্য অ্যাপ অ্যাটেস্ট কীভাবে কনফিগার করবেন।
- অ্যাপ ডেভেলপমেন্টের সময় সিমুলেটরে আপনার অ্যাপ পরীক্ষা করার জন্য ডিবাগ অ্যাটেস্টেশন প্রোভাইডার কীভাবে কনফিগার করবেন।
তোমার যা লাগবে
- এক্সকোড ১৩.৩.১ বা তার পরবর্তী সংস্করণ
- একটি অ্যাপল ডেভেলপার অ্যাকাউন্ট যা আপনাকে নতুন অ্যাপ শনাক্তকারী তৈরি করতে দেয়
- একটি iOS/iPadOS ডিভাইস যা অ্যাপ অ্যাটেস্ট সমর্থন করে ( অ্যাপ অ্যাটেস্ট API উপলব্ধতা সম্পর্কে জানুন)
২. স্টার্টার প্রজেক্টটি পান
iOS রিপোজিটরির জন্য Firebase Quickstarts-এ বিভিন্ন Firebase পণ্য প্রদর্শনের জন্য নমুনা অ্যাপ রয়েছে। এই কোডল্যাবের ভিত্তি হিসেবে আপনি SwiftUI-এর জন্য Firebase Database Quickstart অ্যাপটি ব্যবহার করবেন।
কমান্ড লাইন থেকে iOS রিপোজিটরির জন্য Firebase Quickstarts ক্লোন করুন:
git clone https://github.com/firebase/quickstart-ios.git cd quickstart-ios
Xcode-এ রিয়েলটাইম ডাটাবেস SwiftUI Quickstart অ্যাপ প্রজেক্টটি খুলুন:
cd database/DatabaseExampleSwiftUI/DatabaseExample xed .
৩. আপনার অ্যাপে অ্যাপ চেক যোগ করুন
- প্রকল্পের নির্ভরতা সমাধানের জন্য সুইফট প্যাকেজ ম্যানেজারের জন্য অপেক্ষা করুন।
-
DatabaseExample (iOS)অ্যাপ টার্গেটের General ট্যাবটি খুলুন। তারপর, Frameworks, Libraries, and Embedded Content বিভাগে, + বোতামটি ক্লিক করুন।
-
FirebaseAppCheckযোগ করতে নির্বাচন করুন।
৪. অ্যাপ চেক প্রোভাইডার ফ্যাক্টরি তৈরি এবং ইনস্টল করুন
-
Sharedফাইল গ্রুপে,AppCheckনামে একটি নতুন গ্রুপ যোগ করুন। - এই গ্রুপের ভেতরে, একটি পৃথক ফাইলে একটি ফ্যাক্টরি ক্লাস তৈরি করুন, যেমন
MyAppCheckProviderFactory.swift, এটিDatabaseExample (iOS)টার্গেটে যোগ করতে ভুলবেন না:import Firebase class MyAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { #if targetEnvironment(simulator) // App Attest is not available on simulators. // Use a debug provider. return AppCheckDebugProvider(app: app) #else // Use App Attest provider on real devices. return AppAttestProvider(app: app) #endif } } - এরপর,
DatabaseExampleApp.swiftএ,FirebaseAppCheckআমদানি করতে ভুলবেন না, এবংMyAppCheckProviderFactoryক্লাসের একটি উদাহরণ অ্যাপ চেক সরবরাহকারী কারখানা হিসাবে সেট করুন।import SwiftUI import FirebaseCore import FirebaseAppCheck @main struct DatabaseExampleApp: App { init() { // Set an instance of MyAppCheckProviderFactory as an App Check // provider factory before configuring Firebase. AppCheck.setAppCheckProviderFactory(MyAppCheckProviderFactory()) FirebaseApp.configure() } ... }
৫. একটি ফায়ারবেস প্রকল্প তৈরি এবং কনফিগার করুন
আপনার iOS প্রজেক্টে অ্যাপ চেক ব্যবহার করতে, আপনাকে Firebase কনসোলে এই পদক্ষেপগুলি অনুসরণ করতে হবে:
- একটি ফায়ারবেস প্রকল্প সেট আপ করুন।
- Firebase প্রকল্পে আপনার iOS অ্যাপ যোগ করুন।
- ফায়ারবেস প্রমাণীকরণ কনফিগার করুন।
- আপনি যে রিয়েলটাইম ডাটাবেস ইনস্ট্যান্সটি সুরক্ষিত করতে যাচ্ছেন তা আরম্ভ করুন।
- অ্যাপ চেক কনফিগার করুন।
একটি প্রকল্প তৈরি করুন
প্রথমে, আপনাকে একটি Firebase প্রকল্প তৈরি করতে হবে।
- আপনার গুগল অ্যাকাউন্ট ব্যবহার করে ফায়ারবেস কনসোলে সাইন ইন করুন।
- একটি নতুন প্রকল্প তৈরি করতে বোতামটি ক্লিক করুন, এবং তারপর একটি প্রকল্পের নাম লিখুন (উদাহরণস্বরূপ,
App Check Codelab)। - চালিয়ে যান ক্লিক করুন।
- যদি অনুরোধ করা হয়, তাহলে Firebase শর্তাবলী পর্যালোচনা করুন এবং গ্রহণ করুন, এবং তারপর Continue এ ক্লিক করুন।
- (ঐচ্ছিক) Firebase কনসোলে ("Gemini in Firebase" নামে পরিচিত) AI সহায়তা সক্ষম করুন।
- এই কোডল্যাবের জন্য, আপনার গুগল অ্যানালিটিক্সের প্রয়োজন নেই , তাই গুগল অ্যানালিটিক্স বিকল্পটি টগল করে বন্ধ করে দিন ।
- Create project এ ক্লিক করুন, আপনার province করার জন্য অপেক্ষা করুন, এবং তারপর Continue এ ক্লিক করুন।
একটি রিয়েলটাইম ডাটাবেস ইনস্ট্যান্স তৈরি করুন
এখন, Firebase কনসোলের রিয়েলটাইম ডাটাবেস বিভাগে নেভিগেট করুন।
- ডাটাবেস তৈরির কর্মপ্রবাহ শুরু করতে Create Database বোতামে ক্লিক করুন।
- ডাটাবেসের ডিফল্ট অবস্থান (
us-central1) অপরিবর্তিত রেখে Next এ ক্লিক করুন। - নিশ্চিত করুন যে লকড মোড নির্বাচন করা আছে এবং আপনার ডাটাবেসের জন্য সুরক্ষা নিয়ম সক্রিয় করতে সক্ষম বোতামটি ক্লিক করুন।
- রিয়েলটাইম ডেটাবেস ব্রাউজারের রুলস ট্যাবে নেভিগেট করুন এবং ডিফল্ট রুলসগুলি নিম্নলিখিত দিয়ে প্রতিস্থাপন করুন:
{ "rules": { // User profiles are only readable/writable by the user who owns it "users": { "$UID": { ".read": "auth.uid == $UID", ".write": "auth.uid == $UID" } }, // Posts can be read by anyone but only written by logged-in users. "posts": { ".read": true, ".write": "auth.uid != null", "$POSTID": { // UID must match logged in user and is fixed once set "uid": { ".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid" }, // User can only update own stars "stars": { "$UID": { ".validate": "auth.uid == $UID" } } } }, // User posts can be read by anyone but only written by the user that owns it, // and with a matching UID "user-posts": { ".read": true, "$UID": { "$POSTID": { ".write": "auth.uid == $UID", ".validate": "data.exists() || newData.child('uid').val() == auth.uid" } } }, // Comments can be read by anyone but only written by a logged in user "post-comments": { ".read": true, ".write": "auth.uid != null", "$POSTID": { "$COMMENTID": { // UID must match logged in user and is fixed once set "uid": { ".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid" } } } } } } - আপডেট করা নিরাপত্তা নিয়ম সক্রিয় করতে প্রকাশ করুন বোতামে ক্লিক করুন।
Firebase-এর সাথে সংযুক্ত হওয়ার জন্য আপনার iOS অ্যাপ প্রস্তুত করুন
একটি ফিজিক্যাল ডিভাইসে স্যাম্পল অ্যাপটি চালাতে সক্ষম হতে, আপনাকে আপনার ডেভেলপমেন্ট টিমে প্রজেক্টটি যুক্ত করতে হবে যাতে Xcode আপনার জন্য প্রয়োজনীয় প্রোভিশনিং প্রোফাইল পরিচালনা করতে পারে। আপনার ডেভেলপার অ্যাকাউন্টে স্যাম্পল অ্যাপটি যুক্ত করতে এই পদক্ষেপগুলি অনুসরণ করুন:
- Xcode-এ, প্রজেক্ট নেভিগেটরে
DatabaseExampleপ্রজেক্টটি নির্বাচন করুন। -
DatabaseExample (iOS)টার্গেট নির্বাচন করুন এবং Signing & Capabilities ট্যাবটি খুলুন। - "Signing for DatabaseExample (iOS) এর জন্য একটি ডেভেলপমেন্ট টিম প্রয়োজন" লেখা একটি ত্রুটি বার্তা আপনি দেখতে পাবেন।
- বান্ডেল আইডেন্টিফায়ারটিকে একটি অনন্য আইডেন্টিফায়ারে আপডেট করুন। এটি অর্জনের সবচেয়ে সহজ উপায় হল আপনার ওয়েবসাইটের বিপরীত ডোমেইন নাম ব্যবহার করা, উদাহরণস্বরূপ
com.acme.samples.firebase.quickstart.DatabaseExample(দয়া করে এই আইডিটি ব্যবহার করবেন না; পরিবর্তে আপনার নিজস্ব, অনন্য আইডি বেছে নিন)। - আপনার ডেভেলপমেন্ট টিম নির্বাচন করুন।
- Xcode "Provisioning Profile: Xcode Managed Profile" এবং এই লেবেলের পাশে একটি ছোট তথ্য আইকন প্রদর্শন করলে আপনি বুঝতে পারবেন যে সবকিছু ঠিকঠাক হয়েছে। এই আইকনে ক্লিক করলে Provisioning Profile সম্পর্কে আরও বিশদ প্রদর্শিত হবে।

আপনার iOS অ্যাপটি সংযুক্ত করুন
আপনার অ্যাপ সংযোগ করার বিষয়ে বিস্তারিত জানতে, আপনার iOS প্রজেক্টে Firebase যোগ করার ডকুমেন্টেশনটি দেখুন। শুরু করতে, Firebase কনসোলে এই প্রধান ধাপগুলি অনুসরণ করুন:
- আপনার নতুন প্রজেক্টের প্রজেক্ট ওভারভিউ স্ক্রিন থেকে, + অ্যাপ যোগ করুন বোতামে ক্লিক করুন এবং তারপর আপনার ফায়ারবেস প্রজেক্টে একটি নতুন iOS অ্যাপ যোগ করতে iOS+ আইকনে ক্লিক করুন।
- আপনার অ্যাপের বান্ডেল আইডি লিখুন (পূর্ববর্তী বিভাগে সংজ্ঞায়িত আইডি ব্যবহার করুন, যেমন
com.acme.samples.firebase.quickstart.DatabaseExample- মনে রাখবেন এটি অবশ্যই একটি অনন্য শনাক্তকারী হতে হবে) - অ্যাপ নিবন্ধন করুন এ ক্লিক করুন।
- Firebase আপনার অ্যাপের জন্য প্রয়োজনীয় সমস্ত Firebase মেটাডেটা ধারণকারী একটি
GoogleService-Info.plistফাইল তৈরি করে। - ফাইলটি ডাউনলোড করতে Download GoogleService-Info.plist এ ক্লিক করুন।
- Xcode-এ, আপনি দেখতে পাবেন যে প্রকল্পটিতে ইতিমধ্যেই
GoogleService-Info.plistনামে একটি ফাইল রয়েছে। প্রথমে এই ফাইলটি মুছে ফেলুন - পরবর্তী ধাপে আপনি এটিকে আপনার নিজস্ব Firebase প্রকল্পের জন্য একটি দিয়ে প্রতিস্থাপন করবেন। - আগের ধাপে ডাউনলোড করা
GoogleService-Info.plistফাইলটি আপনার Xcode প্রজেক্টের রুট ফোল্ডারে কপি করুন এবং এটিDatabaseExample (iOS)টার্গেটে যোগ করুন, নিশ্চিত করুন যে এটির নামGoogleService-Info.plist - নিবন্ধন প্রবাহের বাকি ধাপগুলিতে ক্লিক করুন। যেহেতু নমুনা প্রকল্পটি ইতিমধ্যেই সঠিকভাবে সেট আপ করা হয়েছে, তাই আপনাকে কোডে কোনও পরিবর্তন করতে হবে না।
ফায়ারবেস প্রমাণীকরণ কনফিগার করুন
উফ! এখন পর্যন্ত বেশ কিছু সেটআপ হয়েছে, কিন্তু ধৈর্য ধরুন! আপনি যদি Firebase-এ নতুন হন, তাহলে আপনি এমন একটি ওয়ার্কফ্লোর গুরুত্বপূর্ণ অংশ দেখেছেন যার সাথে আপনি শীঘ্রই পরিচিত হবেন।
এখন, আপনি এই অ্যাপের জন্য Firebase প্রমাণীকরণ কনফিগার করবেন।
প্রমাণীকরণ ইমেল/পাসওয়ার্ড সাইন-ইন প্রদানকারী সক্ষম করুন
- এখনও Firebase কনসোলে , কনসোলের প্রমাণীকরণ বিভাগটি খুলুন।
- আপনার প্রকল্পের জন্য Firebase প্রমাণীকরণ সেট আপ করতে Get started এ ক্লিক করুন।
- সাইন-ইন পদ্ধতি ট্যাবটি নির্বাচন করুন।
- নেটিভ প্রোভাইডার বিভাগে ইমেল/পাসওয়ার্ড নির্বাচন করুন।
- ইমেল/পাসওয়ার্ড সক্রিয় করুন এবং সংরক্ষণ করুন এ ক্লিক করুন।
একজন পরীক্ষামূলক ব্যবহারকারী যোগ করুন
- প্রমাণীকরণ বিভাগের ব্যবহারকারী ট্যাবটি খুলুন।
- ব্যবহারকারী যোগ করুন ক্লিক করুন।
- আপনার পরীক্ষামূলক ব্যবহারকারীর জন্য একটি ইমেল এবং একটি পাসওয়ার্ড নির্দিষ্ট করুন, তারপর ব্যবহারকারী যোগ করুন ক্লিক করুন।
অ্যাপটি একবার ঘুরে দেখুন
Xcode-এ ফিরে যান, এবং iOS সিমুলেটরে অ্যাপ্লিকেশনটি চালান। আপনার তৈরি করা পরীক্ষামূলক ব্যবহারকারীর ইমেল এবং পাসওয়ার্ড দিয়ে সাইন ইন করুন। সাইন ইন করার পরে, একটি পোস্ট তৈরি করুন, বিদ্যমান পোস্টে একটি মন্তব্য পোস্ট করুন এবং পোস্টগুলিকে তারকাচিহ্নিত/আনস্টারচিহ্নিত করুন।
৬. একটি অ্যাপ অ্যাটেস্ট অ্যাটেস্টেশন প্রোভাইডার কনফিগার করুন
এই ধাপে, আপনি Firebase কনসোলে অ্যাপ অ্যাটেস্ট প্রদানকারী ব্যবহার করার জন্য অ্যাপ চেক কনফিগার করবেন।
- ফায়ারবেস কনসোলে, কনসোলের অ্যাপ চেক বিভাগে নেভিগেট করুন।
- শুরু করুন ক্লিক করুন।
- অ্যাপস ট্যাবে, আপনার অ্যাপের বিবরণ প্রসারিত করতে তার উপর ক্লিক করুন।
- অ্যাপ অ্যাটেস্ট কনফিগার করতে অ্যাপ অ্যাটেস্টে ক্লিক করুন, তারপর আপনার অ্যাপল ডেভেলপার অ্যাকাউন্টের টিম আইডি লিখুন (আপনি এটি অ্যাপল ডেভেলপার পোর্টালের সদস্যপদ বিভাগে খুঁজে পেতে পারেন):

- সংরক্ষণ করুন ক্লিক করুন।
এর মাধ্যমে, আপনার কাছে একটি কার্যকরী Firebase প্রকল্প রয়েছে যা আমাদের নতুন অ্যাপের সাথে সংযুক্ত এবং অ্যাপ চেক সক্ষম করা হয়েছে।
আপনি এখন আমাদের নির্দিষ্ট অ্যাটেস্টেশন পরিষেবা কনফিগার করার জন্য প্রস্তুত! এই কর্মপ্রবাহ সম্পর্কে আরও জানতে, iOS-এ অ্যাপ অ্যাটেস্ট দিয়ে অ্যাপ চেক সক্ষম করুন দেখুন।
৭. আপনার অ্যাপ্লিকেশনের জন্য অ্যাপ অ্যাটেস্ট কনফিগার করুন
এখন সময় এসেছে Firebase App Check SDK হাতে নেওয়ার এবং কিছু ক্লায়েন্ট কোড বাস্তবায়ন করার।
প্রথমে, আপনাকে Xcode প্রজেক্টটি কনফিগার করতে হবে যাতে SDK অ্যাপলের অ্যাপ অ্যাটেস্ট API ব্যবহার করে নিশ্চিত করতে পারে যে আপনার অ্যাপ থেকে পাঠানো অনুরোধগুলি আপনার অ্যাপের বৈধ উদাহরণ থেকে আসে।
- Xcode প্রজেক্টে আপনার অ্যাপ টার্গেটের জন্য App Attest ক্ষমতা যোগ করুন:
- আপনার অ্যাপ টার্গেট সেটিংসে সাইনিং এবং ক্যাপাবিলিটিস ট্যাবটি খুলুন।
- " + " বোতামে ক্লিক করুন
- ডায়ালগে, অ্যাপ অ্যাটেস্ট ক্যাপাবিলিটি খুঁজুন এবং নির্বাচন করুন

- পূর্ববর্তী ধাপটি সম্পন্ন করার পর আপনার Xcode প্রকল্পের রুট ফোল্ডারে একটি ফাইল
DatabaseExample (iOS).entitlementsপ্রদর্শিত হবে। -
DatabaseExample (iOS).entitlementsফাইলে,App Attest Environmentকী-এর মান পরিবর্তন করেproduction.
এই ধাপগুলি সম্পন্ন করার পরে এবং একটি বাস্তব iOS ডিভাইসে (iPhone/iPad) অ্যাপটি চালু করার পরেও অ্যাপটি রিয়েলটাইম ডেটাবেস অ্যাক্সেস করতে সক্ষম হবে। পরবর্তী ধাপে, আপনি অ্যাপ চেক প্রয়োগ করবেন, যা অবৈধ অ্যাপ এবং ডিভাইস থেকে পাঠানো অনুরোধগুলিকে ব্লক করবে।
এই কর্মপ্রবাহ সম্পর্কে আরও জানতে, iOS-এ অ্যাপ অ্যাটেস্ট দিয়ে অ্যাপ চেক সক্ষম করুন দেখুন।
৮. iOS সিমুলেটরের জন্য একটি ডিবাগ অ্যাটেস্টেশন প্রোভাইডার কনফিগার করুন
Firebase অ্যাপ চেক ডিবাগ প্রোভাইডার ডেভেলপমেন্ট প্রক্রিয়ার সময় iOS সিমুলেটর সহ অবিশ্বস্ত পরিবেশে Firebase অ্যাপ চেক এনফোর্সমেন্টের মাধ্যমে অ্যাপ্লিকেশন পরীক্ষা করা সম্ভব করে তোলে। এরপর, আপনাকে একসাথে ডিবাগ প্রোভাইডার কনফিগার করতে হবে।
আপনার অ্যাপে Firebase ডিবাগ প্রোভাইডার ইনস্টল করুন
বিকল্প ১: শর্তসাপেক্ষে আপনার কারখানায় ডিবাগ প্রদানকারীর একটি উদাহরণ তৈরি করুন
অ্যাপ চেক প্রোভাইডার ফ্যাক্টরি তৈরি করার সময় আপনি বেশিরভাগই এই কাজটি করেছিলেন। এই ধাপে, আপনি ডিবাগ প্রোভাইডার দ্বারা তৈরি স্থানীয় ডিবাগ সিক্রেটের লগিং যোগ করবেন, যাতে আপনি ডিবাগিংয়ের উদ্দেশ্যে ফায়ারবেস কনসোলে অ্যাপের এই উদাহরণটি নিবন্ধন করতে পারেন।
নিম্নলিখিত কোডটি ব্যবহার করে MyAppCheckProviderFactory.swift আপডেট করুন:
import Firebase
class MyAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
#if targetEnvironment(simulator)
// App Attest is not available on simulators.
// Use a debug provider.
let provider = AppCheckDebugProvider(app: app)
// Print only locally generated token to avoid a valid token leak on CI.
print("Firebase App Check debug token: \(provider?.localDebugToken() ?? "" )")
return provider
#else
// Use App Attest provider on real devices.
return AppAttestProvider(app: app)
#endif
}
}
এই পদ্ধতিটি পরিবেশের উপর নির্ভর করে অ্যাপ চেক কনফিগার করার ক্ষেত্রে আমাদের আরও নমনীয়তা দেয়। উদাহরণস্বরূপ, আপনি ডিভাইসচেকের মতো অন্যান্য প্রত্যয়ন প্রদানকারী বা OS সংস্করণগুলিতে যেখানে অ্যাপ অ্যাটেস্ট উপলব্ধ নেই সেখানে একটি কাস্টম প্রত্যয়ন প্রদানকারী ব্যবহার করতে পারেন। নীচের একটি উদাহরণ দেখুন:
import Firebase
class MyAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
#if targetEnvironment(simulator)
// App Attest is not available on simulators.
// Use a debug provider.
let provider = AppCheckDebugProvider(app: app)
// Print only locally generated token to avoid a valid token leak on CI.
print("Firebase App Check debug token: \(provider?.localDebugToken() ?? "" )")
return provider
#else
if #available(iOS 14.0, *) {
// Use App Attest provider on real devices.
return AppAttestProvider(app: app)
} else {
return DeviceCheckProvider(app: app)
}
#endif
}
}
বিকল্প ২: AppCheckDebugProviderFactory ইনস্টল করুন
সহজ ক্ষেত্রে, আপনি Firebase অ্যাপ্লিকেশন ইনস্ট্যান্স কনফিগার করার আগে অস্থায়ীভাবে বা শর্তসাপেক্ষে AppCheckDebugProviderFactory ইনস্টল করতে পারেন:
init() {
#if targetEnvironment(simulator)
let providerFactory = AppCheckDebugProviderFactory()
#else
let providerFactory = MyAppCheckProviderFactory()
#endif
AppCheck.setAppCheckProviderFactory(providerFactory)
FirebaseApp.configure()
}
এটি আপনার নিজস্ব অ্যাপ চেক প্রোভাইডার ফ্যাক্টরি তৈরি করার জন্য কয়েকটি লাইন কোড সাশ্রয় করবে।
Firebase কনসোলে আপনার ডিবাগ গোপনীয়তা নিবন্ধন করুন
আপনার iOS সিমুলেটর থেকে ডিবাগ সিক্রেটটি পান
- যদি আপনি
AppCheckDebugProviderFactory(উপরের বিকল্প 2) ইনস্টল করতে চান, তাহলে আপনাকে অ্যাপ লঞ্চ আর্গুমেন্টে-FIRDebugEnabledযোগ করে আপনার অ্যাপের জন্য ডিবাগ লগিং সক্ষম করতে হবে:
- একটি সিমুলেটরে আপনার অ্যাপটি চালান
- Xcode কনসোলে ডিবাগ সিক্রেটটি খুঁজুন। এটি দ্রুত খুঁজে পেতে আপনি কনসোল ফিল্টার ব্যবহার করতে পারেন:

দ্রষ্টব্য: প্রথম অ্যাপ লঞ্চের সময় আপনার সিমুলেটরের জন্য ডিবাগ সিক্রেট তৈরি করা হয় এবং ব্যবহারকারীর ডিফল্ট সেটিংসে সংরক্ষণ করা হয়। আপনি যদি অ্যাপটি সরিয়ে ফেলেন, সিমুলেটরটি রিসেট করেন বা অন্য কোনও সিমুলেটর ব্যবহার করেন, তাহলে একটি নতুন ডিবাগ সিক্রেট তৈরি হবে। নতুন ডিবাগ সিক্রেটটি নিবন্ধন করতে ভুলবেন না।
ডিবাগ সিক্রেট নিবন্ধন করুন
- Firevbase কনসোলে ফিরে, অ্যাপ চেক বিভাগে যান।
- অ্যাপস ট্যাবে, আপনার অ্যাপের বিবরণ প্রসারিত করতে তার উপর ক্লিক করুন।
- ওভারফ্লো মেনুতে, ডিবাগ টোকেন পরিচালনা করুন নির্বাচন করুন:

- Xcode কনসোল থেকে কপি করা গোপন তথ্যটি যোগ করুন, এবং তারপর সংরক্ষণ করুন এ ক্লিক করুন।

এই ধাপগুলি অনুসরণ করার পরে, আপনি অ্যাপ চেক জোর করেও সিমুলেটরে অ্যাপটি ব্যবহার করতে পারবেন।
দ্রষ্টব্য: ডিবাগ প্রোভাইডারটি বিশেষভাবে ডিবাগ সিক্রেট লিক প্রতিরোধ করার জন্য ডিজাইন করা হয়েছিল। বর্তমান পদ্ধতির সাথে, আপনার সোর্স কোডে ডিবাগ সিক্রেট সংরক্ষণ করার প্রয়োজন নেই।
এই প্রবাহ সম্পর্কে আরও বিস্তারিত তথ্য ডকুমেন্টেশনে পাওয়া যাবে - iOS-এ ডিবাগ প্রদানকারীর সাথে অ্যাপ চেক ব্যবহার করুন দেখুন।
৯. ফায়ারবেস রিয়েলটাইম ডাটাবেসের জন্য অ্যাপ চেক এনফোর্সমেন্ট সক্ষম করুন
আপাতত, আমাদের অ্যাপটি একটি AppCheckProviderFactory ঘোষণা করে যা বাস্তব ডিভাইসের জন্য একটি AppAttestProvider প্রদান করে। একটি ফিজিক্যাল ডিভাইসে চলাকালীন, আপনার অ্যাপটি সত্যায়ন সম্পাদন করবে এবং ফলাফলগুলি Firebase ব্যাকএন্ডে পাঠাবে। তবে, Firebase ব্যাকএন্ড এখনও যেকোনো ডিভাইস, iOS সিমুলেটর, একটি স্ক্রিপ্ট ইত্যাদি থেকে অনুরোধ গ্রহণ করে। এই মোডটি তখন কার্যকর যখন আপনার ব্যবহারকারীদের এখনও অ্যাপ চেক ছাড়াই আপনার অ্যাপের পুরানো সংস্করণ থাকে এবং আপনি এখনও অ্যাক্সেস চেক প্রয়োগ করতে চান না।
এখন, আপনাকে অ্যাপ চেক এনফোর্সমেন্ট সক্ষম করতে হবে যাতে শুধুমাত্র বৈধ ডিভাইস থেকেই ফায়ারবেস অ্যাপটি অ্যাক্সেস করা যায়। ফায়ারবেস প্রকল্পের জন্য এনফোর্সমেন্ট সক্ষম করার পরে অ্যাপ চেক ইন্টিগ্রেশন ছাড়া পুরানো অ্যাপ সংস্করণগুলি কাজ করা বন্ধ করে দেবে।
- অ্যাপ চেক বিভাগের ফায়ারবেস কনসোলে, রিয়েলটাইম ডেটাবেস এর বিশদ বিবরণ প্রসারিত করতে ক্লিক করুন।
- Enforce এ ক্লিক করুন।

- নিশ্চিতকরণ ডায়ালগে তথ্য পড়ুন, এবং তারপর Enforce এ ক্লিক করুন।
এই ধাপগুলি সম্পন্ন করার পর, কেবলমাত্র বৈধ অ্যাপগুলিই ডাটাবেস অ্যাক্সেস করতে পারবে। অন্যান্য সমস্ত অ্যাপ ব্লক করা হবে।
একটি অবৈধ অ্যাপ দিয়ে রিয়েলটাইম ডেটাবেস অ্যাক্সেস করার চেষ্টা করুন
অ্যাপ চেক এনফোর্সমেন্ট কার্যকর হয়েছে তা দেখতে, এই পদক্ষেপগুলি অনুসরণ করুন:
-
DatabaseExampleAppএ আপনার অ্যাপ এন্ট্রি পয়েন্টেরinitপদ্ধতিতে অ্যাপ চেক রেজিস্ট্রেশন কোডটি মন্তব্য করে অ্যাপ চেক রেজিস্ট্রেশন বন্ধ করুন। - ডিভাইস > সমস্ত সামগ্রী এবং সেটিংস মুছে ফেলুন নির্বাচন করে সিমুলেটরটি রিসেট করুন। এটি সিমুলেটরটি মুছে ফেলবে (এবং ডিভাইস টোকেনটি অবৈধ করবে)।
- সিমুলেটরে অ্যাপটি আবার চালান।
- এখন আপনার নিম্নলিখিত ত্রুটি বার্তাটি দেখতে হবে:
[FirebaseDatabase][I-RDB034005] Firebase Database connection was forcefully killed by the server. Will not attempt reconnect. Reason: Invalid appcheck token.
অ্যাপ চেক পুনরায় সক্ষম করতে, নিম্নলিখিতগুলি করুন:
-
DatabaseExampleAppএ অ্যাপ চেক রেজিস্ট্রেশন কোডটি আন-কমেন্ট করুন। - অ্যাপটি পুনরায় চালু করুন।
- Xcode এর কনসোলে নতুন App Check টোকেনটি লক্ষ্য করুন।
- Firebase কনসোলে আপনার অ্যাপের অ্যাপ চেক সেটিংসে ডিবাগ টোকেনটি নিবন্ধন করুন।
- অ্যাপটি পুনরায় চালান।
- আপনি আর কোনও ত্রুটির বার্তা দেখতে পাবেন না এবং অ্যাপে নতুন পোস্ট এবং মন্তব্য যোগ করতে পারবেন।
১০. অভিনন্দন!

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