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

কোনো ব্যাকএন্ড সার্ভিসের জন্য 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. আপনার ডিবাগ টোকেন সংগ্রহ করুন:

    1. সিমুলেটরে অথবা আপনার টেস্ট ডিভাইসে অ্যাপটি চালু করুন।

    2. Xcode কনসোল খুলুন এবং App Check ডিবাগ টোকেনটি খুঁজুন। উদাহরণস্বরূপ:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. টোকেনটি কপি করুন (উদাহরণস্বরূপ, 123a4567-b89c-12d3-e456-789012345678 )।

  3. App Check সাথে আপনার ডিবাগ টোকেন নিবন্ধন করুন:

    1. Firebase কনসোলে, Security > App Check > Apps ট্যাবে যান।

    2. আপনার অ্যাপটি খুঁজুন, তিন-বিন্দুযুক্ত ওভারফ্লো মেনুতে ( ) ক্লিক করুন এবং তারপরে 'ম্যানেজ ডিবাগ টোকেনস' নির্বাচন করুন।

    3. আপনার ডিবাগ টোকেন নিবন্ধন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

    ফায়ারবেস কনসোলে থাকা 'ম্যানেজ ডিবাগ টোকেনস' মেনু আইটেমের স্ক্রিনশট।

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

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

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

কন্টিনিউয়াস ইন্টিগ্রেশন (CI) পরিবেশে ইউনিট টেস্টিংয়ের জন্য ডিবাগ প্রোভাইডার যেভাবে ব্যবহার করতে হয়, তা নিচে দেওয়া হলো:

  1. Firebase কনসোলে, একটি ডিবাগ টোকেন তৈরি করুন:

    1. Firebase কনসোলে, Security > App Check > Apps ট্যাবে যান।

    2. আপনার অ্যাপটি খুঁজুন, তিন-বিন্দুযুক্ত ওভারফ্লো মেনুতে ( ) ক্লিক করুন এবং তারপরে 'ম্যানেজ ডিবাগ টোকেনস' নির্বাচন করুন।

    3. একটি নতুন ডিবাগ টোকেন তৈরি করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

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

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

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

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

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

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

    xcodebuild test -scheme YOUR_TEST_SCHEME -workspace YOUR_PROJECT.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 পরিবেশে চলে, তখন আপনার ব্যাকএন্ড পরিষেবাগুলো এর পাঠানো টোকেনটিকে বৈধ হিসেবে গ্রহণ করবে।