এই পৃষ্ঠাটি আপনাকে দেখায় কিভাবে একটি iOS অ্যাপে অ্যাপ চেক সক্ষম করতে হয়। আপনি যখন অ্যাপ চেক সক্ষম করেন, তখন আপনি নিশ্চিত করতে সাহায্য করেন যে শুধুমাত্র আপনার অ্যাপই আপনার প্রকল্পের পক্ষে Google-এর OAuth 2.0 এন্ডপয়েন্ট অ্যাক্সেস করতে পারে। এই বৈশিষ্ট্য একটি ওভারভিউ দেখুন.
OAuth 2.0 অনুরোধগুলি আপনার খাঁটি অ্যাপ থেকে আসছে তা যাচাই করতে অ্যাপ চেক অ্যাপ অ্যাটেস্ট ব্যবহার করে। অ্যাপ চেক জালিয়াতির ঝুঁকি বিশ্লেষণ করতে অ্যাপ অ্যাটেস্ট ব্যবহার করে না।
আপনি শুরু করার আগে
নিশ্চিত করুন যে আপনার কাছে Xcode 12.5 বা নতুন আছে।
Google সাইন-ইন লাইব্রেরি ব্যবহার করে আপনার iOS অ্যাপে Google সাইন-ইন একীভূত করুন।
1. আপনার প্রকল্প সেট আপ করুন
অ্যাপ চেক এ সক্ষম করা যেতে পারেGoogle API Console অথবা Firebase কনসোলে । এটি উভয় জায়গায় সক্ষম করার প্রয়োজন নেই, শুধুমাত্র একটি যথেষ্ট।
Google API Console
আপনার iOS ক্লায়েন্টের জন্য অ্যাপ চেক সফলভাবে সক্ষম করতে নিম্নলিখিত প্রয়োজনীয়তা পূরণ করতে হবে:- আপনার iOS ক্লায়েন্টের জন্য আপনাকে অবশ্যই একটি টিম আইডি নির্দিষ্ট করতে হবে।
- আপনি অবশ্যই আপনার বান্ডেল আইডিতে একটি ওয়াইল্ডকার্ড ব্যবহার করবেন না কারণ এটি একাধিক অ্যাপের সমাধান করতে পারে। এর মানে হল যে বান্ডেল আইডিতে তারকাচিহ্ন (*) প্রতীক অন্তর্ভুক্ত করা উচিত নয়।
অ্যাপ চেক সক্ষম করার পরে, আপনি OAuth ক্লায়েন্টের সম্পাদনা দৃশ্যে আপনার ক্লায়েন্ট থেকে OAuth অনুরোধের সাথে সম্পর্কিত মেট্রিকগুলি দেখতে শুরু করবেন। আপনি অ্যাপ চেক প্রয়োগ না করা পর্যন্ত অযাচাইকৃত উত্স থেকে অনুরোধগুলি ব্লক করা হবে না৷ মেট্রিক্স পর্যবেক্ষণ পৃষ্ঠার তথ্য আপনাকে কখন প্রয়োগ শুরু করতে হবে তা নির্ধারণ করতে সহায়তা করতে পারে।
আপনার iOS অ্যাপের জন্য অ্যাপ চেক সক্ষম করার সময় আপনি অ্যাপ চেক বৈশিষ্ট্য সম্পর্কিত ত্রুটিগুলি দেখতে পারেন। এই ত্রুটিগুলি ঠিক করতে, নিম্নলিখিতগুলি চেষ্টা করুন:
- আপনার নির্দিষ্ট করা বান্ডেল আইডি এবং টিম আইডি বৈধ কিনা তা যাচাই করুন।
- আপনি বান্ডেল আইডির জন্য ওয়াইল্ডকার্ড ব্যবহার করছেন না তা যাচাই করুন।
ফায়ারবেস কনসোল
Google সাইন-ইন-এর সাথে অ্যাপ চেক ব্যবহার করার জন্য আপনার অবশ্যই একটি Firebase প্রকল্প থাকতে হবে।
যদি আপনার অ্যাপ ইতিমধ্যেই Firebase ব্যবহার করে, তাহলে একই প্রকল্প ব্যবহার করুন।
যদি আপনার অ্যাপ Google সাইন-ইন ব্যবহার করে, কিন্তু Firebase নয়, তাহলে আপনার কাছে ইতিমধ্যেই একটি Google ক্লাউড প্রজেক্ট আছে। আপনি যখন Firebase কনসোলে একটি নতুন প্রকল্প তৈরি করবেন তখন এটি নির্বাচন করে আপনার Google ক্লাউড প্রকল্পে Firebase যোগ করুন
আরও দেখুন: Firebase প্রকল্প এবং Google ক্লাউডের মধ্যে সম্পর্ক
যদি আপনি ইতিমধ্যে এটি না করে থাকেন, তাহলে Firebase কনসোলের প্রকল্প সেটিংস পৃষ্ঠা ব্যবহার করে আপনার Firebase প্রকল্পে আপনার iOS অ্যাপ যোগ করুন।
Firebase কনসোলের অ্যাপ চেক বিভাগে অ্যাপ অ্যাটেস্ট প্রদানকারীর সাথে অ্যাপ চেক ব্যবহার করতে আপনার অ্যাপগুলি নিবন্ধন করুন।
নিশ্চিত করুন যে আপনার প্রকল্পের সমস্ত OAuth ক্লায়েন্ট একটি অ্যাপের সাথে লিঙ্ক করা আছে।
আপনার যদি আনলিঙ্ক করা ক্লায়েন্ট থাকে, আপনি অ্যাপ চেক পৃষ্ঠার iOS এর জন্য Google আইডেন্টিটি বিভাগে একটি বার্তা দেখতে পাবেন যেখানে বলা হয়েছে, "আপনার কাছে n আনলিঙ্ক করা OAuth ক্লায়েন্ট আছে যার জন্য অতিরিক্ত সেটআপ প্রয়োজন।"
অতিরিক্তভাবে, অ্যাপ চেক-এ সেট আপ করার পরে আপনি যদি কিছু OAuth ক্লায়েন্ট মুছে ফেলে থাকেন, তাহলে আপনি একটি বার্তা দেখতে পাবেন যেটিতে বলা হয়েছে, "আপনার কোনো মিল নেই এমন OAuth ক্লায়েন্টের সাথে n নেই"। আপনি সেই ওভাররাইডগুলি মুছে নিরাপদে পরিষ্কার করতে পারেন৷
আপনি Firebase কনসোলের OAuth ক্লায়েন্ট পৃষ্ঠায় একটি বিদ্যমান বা নতুন অ্যাপে লিঙ্কমুক্ত ক্লায়েন্টদের লিঙ্ক করতে পারেন।
2. আপনার অ্যাপে Google সাইন-ইন লাইব্রেরি যোগ করুন
আপনার Xcode প্রকল্পে, Google সাইন-ইন নির্ভরতা
8.0.0
বা উচ্চতর সংস্করণে সেট করুন:এসপিএম
googlesignin-ios
এর নির্ভরতার নিয়ম8.0.0
বা উচ্চতর সংস্করণে সেট করুন।কোকোপডস
আপনার
Podfile
আপডেট করুন:source 'https://github.com/CocoaPods/Specs.git' source 'https://github.com/firebase/SpecsDev.git' target 'YourAppName' do use_frameworks! pod 'GoogleSignIn','~> 8.0' :git => 'https://github.com/google/GoogleSignIn-iOS.git' pod 'GoogleSignInSwiftSupport' # If you use SwiftUI. end
তারপর,
pod install
চালান এবং তৈরি করা.xcworkspace
ফাইলটি খুলুন।Xcode-এ, আপনার অ্যাপে অ্যাপ অ্যাটেস্ট ক্ষমতা যোগ করুন।
আপনার প্রজেক্টের
.entitlements
ফাইলে, অ্যাপ অ্যাটেস্ট এনভায়রনমেন্টকেproduction
সেট করুন।
3. অ্যাপ চেক শুরু করুন
আপনার অ্যাপ ডেলিগেটের didFinishLaunchingWithOptions
পদ্ধতিতে, GIDSignIn.sharedInstance.configure(completion:)
কল করুন। ব্যবহারকারী-অনুভূত লেটেন্সি কমাতে আপনার অ্যাপের জীবনচক্রে যত তাড়াতাড়ি সম্ভব এই পদ্ধতিটি কল করা উচিত।
import SwiftUI
import GoogleSignIn
class AppDelegate: NSObject, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
#if targetEnvironment(simulator)
// Configure for debugging.
// See: https://developers.google.com/identity/sign-in/ios/appcheck/debug-provider
#else
GIDSignIn.sharedInstance.configure { error in
if let error {
print("Error configuring `GIDSignIn` for Firebase App Check: \(error)")
}
}
#endif
return true
}
}
@main
struct YourAppNameApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
// ...
}
পরবর্তী পদক্ষেপ
একবার আপনার অ্যাপে অ্যাপ চেক লাইব্রেরি ইনস্টল হয়ে গেলে, আপডেট করা অ্যাপটি আপনার ব্যবহারকারীদের কাছে বিতরণ করা শুরু করুন।
আপডেট হওয়া ক্লায়েন্ট অ্যাপটি Google-এর প্রমাণীকরণের এন্ডপয়েন্টে করা প্রতিটি অনুরোধের সাথে অ্যাপ চেক টোকেন পাঠাতে শুরু করবে, কিন্তু ফায়ারবেস কনসোলের অ্যাপ চেক বিভাগে এনফোর্সমেন্ট চালু না করা পর্যন্ত এন্ডপয়েন্টের টোকেন বৈধ হওয়ার প্রয়োজন হবে না।
মেট্রিক্স মনিটর করুন
আপনি এনফোর্সমেন্ট সক্ষম করার আগে, তবে, আপনাকে নিশ্চিত করতে হবে যে এটি করা আপনার বিদ্যমান বৈধ ব্যবহারকারীদের ব্যাহত করবে না। অন্যদিকে, আপনি যদি আপনার অ্যাপ সংস্থানগুলির সন্দেহজনক ব্যবহার দেখতে পান তবে আপনি শীঘ্রই এনফোর্সমেন্ট সক্ষম করতে চাইতে পারেন৷
এই সিদ্ধান্ত নিতে সাহায্য করতে, আপনি Google সাইন-ইন-এর জন্য অ্যাপ চেক মেট্রিক্স দেখতে পারেন।
অ্যাপ চেক এনফোর্সমেন্ট সক্ষম করুন
যখন আপনি বুঝতে পারবেন কিভাবে অ্যাপ চেক আপনার ব্যবহারকারীদের প্রভাবিত করবে এবং আপনি এগিয়ে যাওয়ার জন্য প্রস্তুত, আপনি অ্যাপ চেক এনফোর্সমেন্ট সক্ষম করতে পারেন।
ডিবাগ পরিবেশে অ্যাপ চেক ব্যবহার করুন
আপনি যদি অ্যাপ চেকের জন্য আপনার অ্যাপ নিবন্ধিত করার পরে, আপনি এমন পরিবেশে আপনার অ্যাপ চালাতে চান যা অ্যাপ চেক সাধারণত বৈধ হিসাবে শ্রেণীবদ্ধ করে না, যেমন বিকাশের সময় একটি সিমুলেটর, বা একটি অবিচ্ছিন্ন ইন্টিগ্রেশন (CI) পরিবেশ থেকে, আপনি করতে পারেন আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করুন যা অ্যাপ অ্যাটেস্টের পরিবর্তে অ্যাপ চেক ডিবাগ প্রদানকারী ব্যবহার করে।