আপনার ফায়ারবেস এমএল অ্যান্ড্রয়েড অ্যাপের ক্লাউড শংসাপত্রগুলি সুরক্ষিত করুন

যদি আপনার অ্যান্ড্রয়েড অ্যাপটি ফায়ারবেস এমএল এর ক্লাউড এপিআই ব্যবহার করে, আপনি আপনার অ্যাপ উৎপাদনে চালু করার আগে, অননুমোদিত এপিআই অ্যাক্সেস রোধ করার জন্য আপনার কিছু অতিরিক্ত পদক্ষেপ নেওয়া উচিত।

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

তারপরে, আপনি একটি ডিবাগ-কেবল API কী তৈরি করবেন যা আপনি পরীক্ষা এবং বিকাশের সময় সুবিধার জন্য ব্যবহার করতে পারেন।

1. ফায়ারবেসে আপনার প্রোডাকশন অ্যাপ নিবন্ধন করুন

প্রথমে, Firebase- এ আপনার প্রোডাকশন অ্যাপ রেজিস্টার করুন।

  1. নিশ্চিত করুন যে আপনার অ্যাপের SHA-1 স্বাক্ষর আছে। পড়ুন আপনার ক্লায়েন্ট প্রমাণ করা শিখতে।

  2. আপনার যান Firebase কনসোলে প্রকল্প সেটিংস, তারপর সেটিংস ট্যাব নির্বাচন করুন।

  3. তোমার অ্যাপস কার্ড স্ক্রোল ডাউন, তারপর আপনার Android অ্যাপ্লিকেশান নির্বাচন করুন।

  4. আপনার অ্যাপের তথ্যে আপনার অ্যাপের SHA-1 স্বাক্ষর যুক্ত করুন।

2. আপনার API কীগুলির সুযোগ সীমিত করুন

পরবর্তী, ক্লাউড ভিশন API- এ অ্যাক্সেসের অনুমতি না দেওয়ার জন্য আপনার বিদ্যমান API কীগুলি কনফিগার করুন:

  1. খুলুন শংসাপত্রের Google ক্লাউড কনসোলে এর পাতা। অনুরোধ করা হলে, আপনার প্রকল্প নির্বাচন করুন।

  2. তালিকার প্রতিটি বিদ্যমান API কী এর জন্য, সম্পাদনা দৃশ্য খুলুন।

  3. এপিআই বিধিনিষেধ বিভাগে, সীমাবদ্ধ কী নির্বাচন করুন, তারপর সব API গুলি যার প্রতি তুমি API কী এক্সেস আছে করতে চান তার লিস্টে যোগ করুন। নিশ্চিত করুন ক্লাউড ভিশন এপিআই অন্তর্ভুক্ত না করতে।

    যখন আপনি কোনো API কী এর API- বিধিনিষেধ কনফিগার আপনি স্পষ্টভাবে API গুলি যা চাবিকাঠি অ্যাক্সেস আছে প্রকাশক করছে। ডিফল্ট, যখন এপিআই বিধিনিষেধ অধ্যায় না বাধানিষেধযুক্ত কী নির্বাচিত, একটি API কী কোনো API যা প্রকল্পের জন্য সক্রিয় করা হয় অ্যাক্সেস করতে ব্যবহার করা যাবে দ্বারা।

এখন, আপনার বিদ্যমান API কীগুলির মেঘ এমএল পরিষেবাগুলিতে অ্যাক্সেস মঞ্জুর করবে না, কিন্তু প্রত্যেক কী কোনো API গুলি যে আপনি তার এপিআই বিধিনিষেধ তালিকায় যোগ কাজ চলতে থাকবে।

মনে রাখবেন যদি আপনি ভবিষ্যতে কোন অতিরিক্ত API গুলি সক্ষম, আপনি তাদের এপিআই বিধিনিষেধ লিস্টে প্রযোজ্য API কী জুড়তে উচিত নয়।

3. শুধুমাত্র একটি ডিবাগ API কী তৈরি করুন এবং ব্যবহার করুন

অবশেষে, শুধুমাত্র ডেভেলপমেন্টের জন্য ব্যবহার করার জন্য একটি নতুন API কী তৈরি করুন। ফায়ারবেস এমএল এই API কী ব্যবহার করে এমন পরিবেশে গুগল ক্লাউড পরিষেবাগুলি অ্যাক্সেস করতে পারে যেখানে অ্যাপ প্রমাণীকরণ সম্ভব নয়, যেমন এমুলেটরগুলিতে চলার সময়।

  1. উন্নয়নের জন্য ব্যবহার করার জন্য একটি নতুন API কী তৈরি করুন:

    1. খুলুন শংসাপত্রের Google ক্লাউড কনসোলে এর পাতা। অনুরোধ করা হলে, আপনার প্রকল্প নির্বাচন করুন।

    2. পরিচয়পত্র> API কী তৈরি করুন ক্লিক করুন এবং নতুন API কী নোট নিতে। এই কী অবিশ্বস্ত অ্যাপ্লিকেশানগুলি থেকে API অ্যাক্সেস দেয়, তাই এই কী গোপন রাখুন।

  2. আপনার রিলিজ করা অ্যাপের সাথে নতুন ডিবাগ API কী লিক না হয় তা নিশ্চিত করতে, শুধুমাত্র ডিবাগ বিল্ডের জন্য ব্যবহৃত একটি Android ম্যানিফেস্ট ফাইলে ডিবাগ API কী নির্দিষ্ট করুন:

    1. যদি আপনি ইতিমধ্যেই একটি ডিবাগ স্পষ্ট না থাকে তাহলে, ফাইল> নতুন> অন্যান্য> অ্যানড্রইড ম্যানিফেস্ট ফাইল ক্লিক করে এবং নির্বাচন করে একটি তৈরি debug লক্ষ্য উৎস সেট থেকে।

    2. ডিবাগ ম্যানিফেস্টে, নিম্নলিখিত ঘোষণা যোগ করুন:

      <application>
      <meta-data
          android:name="com.firebase.ml.cloud.ApiKeyForDebug"
          android:value="your-debug-api-key" />
      </application>
      
  3. আপনার অ্যাপে, ফায়ারবেস এমএল কনফিগার করুন সার্টিফিকেট ফিঙ্গারপ্রিন্ট ম্যাচিং ব্যবহার করে আপনার ক্লায়েন্টকে প্রোডাকশনে প্রমাণ করার জন্য এবং এপিআই কী — ডিবাগ কী use শুধুমাত্র ডিবাগ বিল্ডে ব্যবহার করতে:

    জাভা

    FirebaseVisionCloudImageLabelerOptions.Builder optionsBuilder =
            new FirebaseVisionCloudImageLabelerOptions.Builder();
    if (!BuildConfig.DEBUG) {
        // Requires physical, non-rooted device:
        optionsBuilder.enforceCertFingerprintMatch();
    }
    
    // Set other options. For example:
    optionsBuilder.setConfidenceThreshold(0.8f);
    // ...
    
    // And lastly:
    FirebaseVisionCloudImageLabelerOptions options = optionsBuilder.build();
    FirebaseVision.getInstance().getCloudImageLabeler(options).processImage(myImage);

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

    val optionsBuilder = FirebaseVisionCloudImageLabelerOptions.Builder()
    if (!BuildConfig.DEBUG) {
        // Requires physical, non-rooted device:
        optionsBuilder.enforceCertFingerprintMatch()
    }
    
    // Set other options. For example:
    optionsBuilder.setConfidenceThreshold(0.8f)
    // ...
    
    // And lastly:
    val options = optionsBuilder.build()
    FirebaseVision.getInstance().getCloudImageLabeler(options).processImage(myImage)

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

দেখুন লঞ্চ চেকলিস্ট লঞ্চ করতে আপনার অ্যাপ প্রস্তুতি যখন অন্য Firebase বৈশিষ্ট্যগুলি ব্যবহার তথ্যের জন্য।