অ্যাপল প্ল্যাটফর্মে ডিবাগ প্রদানকারীর সাথে অ্যাপ চেক ব্যবহার করুন

App Check জন্য আপনার অ্যাপটি নিবন্ধন করার পর, যদি আপনি এমন কোনো পরিবেশে আপনার অ্যাপটি চালাতে চান যা App Check সাধারণত বৈধ বলে গণ্য করে না, যেমন ডেভেলপমেন্টের সময় কোনো সিমুলেটর বা ডিভাইস, অথবা কোনো কন্টিনিউয়াস ইন্টিগ্রেশন (CI) পরিবেশ থেকে, তাহলে আপনি একটি আসল অ্যাটেস্টেশন প্রোভাইডারের পরিবর্তে App Check ডিবাগ প্রোভাইডার ব্যবহার করে আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে পারেন।

ডেভেলপমেন্টে ডিবাগ প্রোভাইডার ব্যবহার করুন

আপনার অ্যাপটি ইন্টারেক্টিভভাবে চালানোর সময় (উদাহরণস্বরূপ, ডেভেলপমেন্টের সময়) ডিবাগ প্রোভাইডার ব্যবহার করতে, নিম্নলিখিতগুলি করুন:

  1. আপনার ডিবাগ বিল্ডে, যেকোনো ফায়ারবেস ব্যাকএন্ড পরিষেবা ব্যবহার করার আগে, App Check ডিবাগ প্রোভাইডার ফ্যাক্টরি তৈরি ও সেট করুন:

    সুইফট

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    উদ্দেশ্য-সি

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. আপনার Xcode প্রোজেক্টে (v11.0 বা নতুন সংস্করণ) ডিবাগ লগিং চালু করুন:

    1. প্রোডাক্ট > স্কিম > স্কিম সম্পাদনা খুলুন।
    2. বাম দিকের মেনু থেকে রান (Run) নির্বাচন করুন, তারপর আর্গুমেন্টস (Arguments) ট্যাবটি নির্বাচন করুন।
    3. "Arguments Passed on Launch" বিভাগে, -FIRDebugEnabled " যোগ করুন।
  3. অ্যাপটি চালু করুন। যখন SDK ব্যাকএন্ডে কোনো অনুরোধ পাঠানোর চেষ্টা করবে, তখন একটি স্থানীয় ডিবাগ টোকেন লগ করা হবে। উদাহরণস্বরূপ:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Firebase কনসোলের App Check বিভাগে, আপনার অ্যাপের ওভারফ্লো মেনু থেকে 'Manage debug tokens' নির্বাচন করুন। এরপর, পূর্ববর্তী ধাপে লগ করা ডিবাগ টোকেনটি রেজিস্টার করুন।

    ম্যানেজ ডিবাগ টোকেনস মেনু আইটেমের স্ক্রিনশট

টোকেনটি নিবন্ধন করার পর, ফায়ারবেস ব্যাকএন্ড পরিষেবাগুলো এটিকে বৈধ হিসেবে গ্রহণ করবে।

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

CI পরিবেশে ডিবাগ প্রোভাইডার ব্যবহার করুন

কন্টিনিউয়াস ইন্টিগ্রেশন (CI) পরিবেশে ডিবাগ প্রোভাইডার ব্যবহার করতে, নিম্নলিখিতগুলি করুন:

  1. Firebase কনসোলের App Check বিভাগে, আপনার অ্যাপের ওভারফ্লো মেনু থেকে 'Manage debug tokens' নির্বাচন করুন। এরপর, একটি নতুন ডিবাগ টোকেন তৈরি করুন। পরবর্তী ধাপে আপনার এই টোকেনটির প্রয়োজন হবে।

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

    ম্যানেজ ডিবাগ টোকেনস মেনু আইটেমের স্ক্রিনশট

  2. আপনার তৈরি করা ডিবাগ টোকেনটি আপনার CI সিস্টেমের সুরক্ষিত কী স্টোরে (যেমন, GitHub Actions-এর এনক্রিপ্টেড সিক্রেটস অথবা Travis CI-এর এনক্রিপ্টেড ভ্যারিয়েবলস ) যোগ করুন।

  3. প্রয়োজনে, আপনার ডিবাগ টোকেনটিকে CI এনভায়রনমেন্টের মধ্যে একটি এনভায়রনমেন্ট ভেরিয়েবল হিসেবে উপলব্ধ করতে আপনার CI সিস্টেমটি কনফিগার করুন। ভেরিয়েবলটির নাম দিন APP_CHECK_DEBUG_TOKEN_FROM_CI এর মতো কিছু।

  4. Xcode-এ, আপনার টেস্টিং স্কিমে FIRAAppCheckDebugToken নামে একটি এনভায়রনমেন্ট ভ্যারিয়েবল যোগ করুন এবং এর ভ্যালু হিসেবে $(APP_CHECK_DEBUG_TOKEN) এর মতো কিছু একটা দিন।

  5. আপনার CI টেস্ট স্ক্রিপ্টটি এমনভাবে কনফিগার করুন যাতে ডিবাগ টোকেনটি একটি এনভায়রনমেন্ট ভেরিয়েবল হিসেবে পাস করা হয়। উদাহরণস্বরূপ:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. আপনার ডিবাগ বিল্ডে, যেকোনো ফায়ারবেস ব্যাকএন্ড পরিষেবা ব্যবহার করার আগে, App Check ডিবাগ প্রোভাইডার ফ্যাক্টরি তৈরি ও সেট করুন:

    সুইফট

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    উদ্দেশ্য-সি

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

যখন আপনার অ্যাপ একটি CI পরিবেশে চলে, তখন Firebase ব্যাকএন্ড পরিষেবাগুলো এর পাঠানো টোকেনটিকে বৈধ হিসেবে গ্রহণ করে।