পাঠ্য অনুসন্ধান (নতুন)

প্ল্যাটফর্ম নির্বাচন করুন: Android iOS জাভাস্ক্রিপ্ট ওয়েব পরিষেবা

ইউরোপিয়ান ইকোনমিক এরিয়া (EEA) ডেভেলপার

পাঠ্য অনুসন্ধান (নতুন) একটি স্ট্রিংয়ের উপর ভিত্তি করে স্থানগুলির একটি সেট সম্পর্কে তথ্য প্রদান করে (উদাহরণস্বরূপ, "নিউ ইয়র্কের পিজা" বা "অটোয়ার কাছে জুতার দোকান" বা "123 প্রধান রাস্তা")। পরিষেবাটি পাঠ্য স্ট্রিংয়ের সাথে মেলে এমন স্থানগুলির একটি তালিকা এবং সেট করা যেকোন অবস্থানের পক্ষপাতের সাথে প্রতিক্রিয়া জানায়৷

প্রয়োজনীয় পরামিতিগুলি ছাড়াও, পাঠ্য অনুসন্ধান (নতুন) ভাল ফলাফলের জন্য ঐচ্ছিক পরামিতিগুলি ব্যবহার করে অনুসন্ধানের অনুসন্ধানগুলিকে সমর্থন করে৷

পাঠ্য অনুসন্ধানের মাধ্যমে স্থানগুলির একটি তালিকা পান

GMSPlacesClient searchByTextWithRequest: , একটি GMSPlaceSearchByTextRequest অবজেক্ট পাস করে যা অনুরোধের পরামিতি এবং একটি কলব্যাক পদ্ধতি সংজ্ঞায়িত করে, GMSPlaceSearchByTextResultCallback টাইপ , প্রতিক্রিয়া পরিচালনা করতে কল করে একটি পাঠ্য অনুসন্ধানের অনুরোধ করুন৷

GMSPlaceSearchByTextRequest অবজেক্ট অনুরোধের জন্য প্রয়োজনীয় এবং ঐচ্ছিক পরামিতিগুলি নির্দিষ্ট করে। প্রয়োজনীয় পরামিতি অন্তর্ভুক্ত:

  • GMSPlace অবজেক্টে ফিল্ডের তালিকা, যাকে ফিল্ড মাস্কও বলা হয়, যেমন GMSPlaceProperty দ্বারা সংজ্ঞায়িত করা হয়েছে। আপনি যদি ক্ষেত্র তালিকায় অন্তত একটি ক্ষেত্র নির্দিষ্ট না করেন, অথবা যদি আপনি ক্ষেত্র তালিকা বাদ দেন, তাহলে কলটি একটি ত্রুটি প্রদান করে৷
  • টেক্সট কোয়েরি

এই উদাহ��ণ টেক্সট সার্�� রিকোয়েস্টটি নির্দিষ্ট করে যে উত্তর GMSPlace অবজেক্টে সার্চের ফলাফলে প্রতিটি GMSPlace অবজেক্টের জন্য জায়গার নাম এবং জায়গার আইডি থাকে। এটি শুধুমাত্র "রেস্তোরাঁ" টাইপের রিটার্ন স্থানগুলিতে প্রতিক্রিয়া ফিল্টার করে।

স্থান সুইফট SDK

let restriction = RectangularLocationRestriction(
      northEast: CLLocationCoordinate2D(latitude: 20, longitude: 30),
      southWest: CLLocationCoordinate2D(latitude: 40, longitude: 50)
)
let searchByTextRequest = SearchByTextRequest(
        textQuery: "pizza in New York",
        placeProperties: [ .name, .placeID ],
        locationRestriction: restriction,
        includedType: .restaurant,
        maxResultCount: 5,
        minRating: 3.5,
        priceLevels: [ .moderate, .inexpensive ],
        isStrictTypeFiltering: true
)
switch await placesClient.searchByText(with: searchByTextRequest) {
case .success(let places):
  // Handle places
case .failure(let placesError):
  // Handle error
}

সুইফট

// Create the GMSPlaceSearchByTextRequest object.
let myProperties = [GMSPlaceProperty.name, GMSPlaceProperty.placeID].map {$0.rawValue}
let request = GMSPlaceSearchByTextRequest(textQuery:"pizza in New York", placeProperties:myProperties)
request.isOpenNow = true
request.includedType = "restaurant"
request.maxResultCount = 5
request.minRating = 3.5
request.rankPreference = .distance
request.isStrictTypeFiltering = true
request.locationBias =  GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)

// Array to hold the places in the response
var placeResults: [GMSPlace] = []

let callback: GMSPlaceSearchByTextResultCallback = { [weak self] results, error in
  guard let self, error == nil else {
    if let error {
      print(error.localizedDescription)
    }
    return
  }
  guard let results = results as? [GMSPlace] else {
    return
  }
  placeResults = results
}

GMSPlacesClient.shared().searchByText(with: request, callback: callback)

উদ্দেশ্য-C

// Create the GMSPlaceSearchByTextRequest object.
GMSPlaceSearchByTextRequest *request =
    [[GMSPlaceSearchByTextRequest alloc] initWithTextQuery:@"pizza in New York" placeProperties:@[GMSPlacePropertyName, GMSPlacePropertyPlaceID]];
request.isOpenNow = YES;
request.includedType = @"restaurant";
request.maxResultCount = 5;
request.minRating = 3.5;
request.rankPreference = GMSPlaceSearchByTextRankPreferenceDistance;
request.isStrictTypeFiltering = YES;
request.priceLevels = @[ @(kGMSPlacesPriceLevelFree), @(kGMSPlacesPriceLevelCheap) ];
request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0);

// Array to hold the places in the response
_placeResults = [NSArray array];

// Create the GMSPlaceSearchByTextRequest object.
[_placesClient searchByTextWithRequest:request
    callback:^(NSArray<GMSPlace *> *_Nullable placeResults, NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"An error occurred %@", [error localizedDescription]);
        return;
      } else {
        if (placeResults.count > 0) {
          // Get list of places.
          _placeResults = placeResults;
      }
    }
  }
];

পাঠ্য অনুসন্ধান প্রতিক্রিয়া

টেক্সট সার্চ এপিআই GMSPlace অবজেক্টের আকারে মিলের একটি অ্যারে প্রদান করে, প্রতি মিলিত জায়গায় একটি GMSPlace অবজেক্ট সহ।

ওপেন স্ট্যাটাস পান

GMSPlacesClient অবজেক্টে isOpenWithRequest ( সুইফটে isOpenRequest এবং GooglePlacesSwift-এ isPlaceOpenRequest ) নামক একটি সদস্য ফাংশন রয়েছে যা কলে নির্দিষ্ট সময়ের উপর ভিত্তি করে স্থানটি বর্তমানে খোলা আছে কিনা তা নির্দেশ করে।

এই পদ্ধতিটি GMSPlaceIsOpenWithRequest প্রকারের একটি একক আর্গুমেন্ট নেয় যাতে রয়েছে:

  • একটি GMSPlace অবজেক্ট , বা একটি স্থান আইডি নির্দিষ্ট করে এমন একটি স্ট্রিং। প্রয়োজনীয় ক্ষেত্রগুলির সাথে প্লেস অবজেক্ট তৈরি করার বিষয়ে আরও তথ্যের জন্য, স্থানের বিবরণ দেখুন।
  • একটি ঐচ্ছিক NSDate (Obj-C) বা Date (Swift) অবজেক্ট যা আপনি পরীক্ষা করতে চান তা নির্দিষ্ট করে। যদি কোন সময় নির্দিষ্ট করা না থাকে, ডিফল্ট এখন।
  • প্রতিক্রিয়া পরিচালনা করার জন্য একটি GMSPlaceOpenStatusResponseCallback পদ্ধতি।
  • >

GMSPlaceIsOpenWithRequest পদ্ধতির জন্য GMSPlace অবজেক্টে নিম্নলিখিত ক্ষেত্রগুলি সেট করা প্রয়োজন:

  • GMSPlacePropertyUTCOffsetMinutes
  • GMSPlacePropertyBusinessStatus
  • GMSPlacePropertyOpeningHours
  • GMSPlacePropertyCurrentOpeningHours
  • GMSPlacePropertySecondaryOpeningHours

যদি এই ক্ষেত্রগুলি প্লেস অবজেক্টে প্রদান করা না হয়, বা আপনি যদি একটি স্থান আইডি পাস করেন, তাহলে পদ্ধতিটি GMSPlacesClient GMSFetchPlaceRequest: সেগুলি আনার জন্য ব্যবহার করে।

isOpenWithRequest প্রতিক্রিয়া

isOpenWithRequest একটি GMSPlaceIsOpenResponse অবজেক্ট ফেরত দেয় যেখানে একটি বুলিয়ান মান নামক status রয়েছে যা নির্দেশ করে যে ব্যবসাটি খোলা, বন্ধ, বা স্থিতি অজানা কিনা।

ভাষা খোলা থাকলে মান বন্ধ হলে মান স্থিতি অজানা থাকলে মান
স্থান সুইফট true false nil
সুইফট .open .closed .unknown
উদ্দেশ্য-C GMSPlaceOpenStatusOpen GMSPlaceOpenStatusClosed GMSPlaceOpenStatusUnknown

isOpenWithRequest এর জন্য বিলিং

উদাহরণ: একটি GMSPlaceIsOpenWithRequest অনুরোধ করুন

নিম্নলিখিত উদাহরণ দেখায় কিভাবে একটি বিদ্যমান GMSPlace অবজেক্টের মধ্যে একটি GMSPlaceIsOpenWithRequest আরম্ভ করতে হয়।

স্থান সুইফট SDK

        let isOpenRequest = IsPlaceOpenRequest(place: place)
        switch await placesClient.isPlaceOpen(with: isOpenRequest) {
          case .success(let isOpenResponse):
            switch isOpenResponse.status {
              case true:
                // Handle open
              case false:
                // Handle closed
              case nil:
                // Handle unknown
          case .failure(let placesError):
            // Handle error
        }
        

সুইফট

    let isOpenRequest = GMSPlaceIsOpenRequest(place: place, date: nil)
      GMSPlacesClient.shared().isOpen(with: isOpenRequest) { response, error in
        if let error = error {
          // Handle Error
        }
        switch response.status {
          case .open:
            // Handle open
          case .closed:
            // Handle closed
          case .unknown:
            // Handle unknown
        }
      }
        

উদ্দেশ্য-C

          GMSPlaceIsOpenRequest *isOpenRequest = [[GMSPlaceIsOpenRequest alloc] initWithPlace:place date:nil];

          [[GMSPlacesClient sharedClient] isOpenWithRequest:isOpenRequest callback:^(GMSPlaceIsOpenResponse response, NSError *_Nullable error) {
            if (error) {
              // Handle error
            }

            switch (response.status) {
              case GMSPlaceOpenStatusOpen:
                // Handle open
              case GMSPlaceOpenStatusClosed:
                // Handle closed
              case GMSPlaceOpenStatusUnknown:
                // Handle unknown
            }
          }];
          

প্রয়োজনীয় পরামিতি

অনুসন্ধানের জন্য প্রয়োজনীয় পরামিতি নির্দিষ্ট করতে GMSPlaceSearchByTextRequest অবজেক্ট ব্যবহার করুন।

  • ক্ষেত্র তালিকা

    কোন স্থানের ডেটা বৈশিষ্ট্যগুলি ফেরত দিতে হবে তা নির্দিষ্ট করুন৷ GMSPlace বৈশিষ্ট্যগুলির একটি তালিকা পাস করুন যা ফেরত দেওয়ার জন্য ডেটা ক্ষেত্রগুলি নির্দিষ্ট করে৷ আপনি যদি ফিল্ড মাস্ক বাদ দেন, অনুরোধটি একটি ত্রুটি ফিরিয়ে দেবে।

    আপনি অপ্রয়োজনীয় ডেটার অনুরোধ করবেন না তা নিশ্চিত করার জন্য ক্ষেত্র তালিকাগুলি একটি ভাল নকশা অনুশীলন, যা অপ্রয়োজনীয় প্রক্রিয়াকরণের সময় এবং বিলিং চার্জ এড়াতে সহায়তা করে।

    নিম্নলিখিত ক্ষেত্রগুলির মধ্যে এক বা একাধিক নির্দিষ্ট করুন:

  • textQuery

    টেক্সট স্ট্রিং যার উপর অনুসন্ধান করতে হবে, উদাহরণস্বরূপ: "রেস্তোরাঁ", "123 প্রধান রাস্তা", বা "সান ফ্রান্সিসকোতে দেখার সেরা জায়গা"।

ঐচ্ছিক পরামিতি

অনুসন্ধানের জন্য ঐচ্ছিক পরামিতি নির্দিষ্ট করতে GMSPlaceSearchByTextRequest অবজেক্ট ব্যবহার করুন।

  • অন্তর্ভুক্ত প্রকার

    সারণি A দ্বারা সংজ্ঞায়িত নির্দিষ্ট প্রকারের সাথে মেলে এমন জায়গায় ফলাফলগুলিকে সীমাবদ্ধ করে৷ শুধুমাত্র একটি প্রকার নির্দিষ্ট করা যেতে পারে। যেমন:

    • let request = SearchByTextRequest()
      request.includedType = "bar"
    • let request = SearchByTextRequest()
      request.includedType = "pharmacy"
  • এখন খুলুন

    true হলে, ক্যোয়ারী পাঠানোর সময় ব্যবসার জন্য উন্মুক্ত শুধুমাত্র সেই জায়গাগুলি ফেরত দিন। false হলে, খোলা অবস্থা নির্বিশেষে সমস্ত ব্যবসা ফেরত দিন। Google Places ডাটাবেসে খোলার সময় নির্দিষ্ট করে না এমন জায়গাগুলি ফেরত দেওয়া হবে যদি আপনি এই প্যারামিটারটিকে false সেট করেন।

  • isStrictTypeFiltering

    includeType প্যারামিটারের সাথে ব্যবহৃত হয়। true সেট করা হলে, শুধুমাত্র includeType দ্বারা নির্দিষ্ট করা নির্দিষ্ট প্রকারের সাথে মেলে এমন স্থানগুলি ফেরত দেওয়া হয়। মিথ্যা হলে, ডিফল্ট, প্রতিক্রিয়াতে এমন স্থান থাকতে পারে যা নির্দিষ্ট প্রকারের সাথে মেলে না।

  • অবস্থান পক্ষপাত

    অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। এই অবস্থানটি একটি পক্ষপাত হিসাবে কাজ করে যার অর্থ নির্দিষ্ট স্থানের আশেপাশের ফলাফলগুলি নির্দিষ্ট এলাকার বাইরের ফলাফল সহ ফেরত দেওয়া যেতে পারে৷

    আপনি locationRestriction বা locationBias নির্দিষ্ট করতে পারেন, কিন্তু উভয়ই নয়। ফলাফলগুলি যে অঞ্চলের মধ্যে হতে হবে সেটিকে নির্দিষ্ট করে locationRestriction এবং locationBias সেই অঞ্চলটি নির্দিষ্ট করে যে ফলাফলগুলি অবশ্যই কাছাকাছি হতে হবে তবে এলাকার বাইরে হতে পারে বলে মনে করুন৷

    একটি আয়তক্ষেত্রাকার ভিউপোর্ট বা একটি বৃত্ত হিসাবে অঞ্চলটি নির্দিষ্ট করুন।

    • একটি বৃত্তকে কেন্দ্র বিন্দু এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। ব্যাসার্ধ অবশ্যই 0.0 এবং 50000.0 এর মধ্যে হতে হবে। ডিফল্ট ব্যাসার্ধ হল 0.0। যেমন:

      let request = SearchByTextRequest()
      request.locationBias =  GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)
    • একটি আয়তক্ষেত্র হল একটি অক্ষাংশ-দ্রাঘিমাংশের ভিউপোর্ট, যা দুটি তির্যকভাবে বিপরীত নিম্ন এবং উচ্চ বিন্দু হিসাবে উপস্থাপিত হয়। নিম্ন বিন্দুটি আয়তক্ষেত্রের দক্ষিণ-পশ্চিম কোণটিকে চিহ্নিত করে এবং উচ্চ বিন্দুটি আয়তক্ষেত্রের উত্তর-পূর্ব কোণকে প্রতিনিধিত্ব করে।

      একটি ভিউপোর্ট একটি বন্ধ অঞ্চল হিসাবে বিবেচিত হয়, যার অর্থ এটি এর সীমানা অন্তর্ভুক্ত করে। অক্ষাংশের সীমাগুলি অবশ্যই -90 থেকে 90 ডিগ্রী সহ, এবং দ্রাঘিমাংশের সীমাগুলি অবশ্যই -180 থেকে 180 ডিগ্রীর মধ্যে অন্তর্ভুক্ত থাকতে হবে:

      • low = high হলে, ভিউপোর্টটি সেই একক বিন্দু নিয়ে গঠিত।
      • low.longitude > high.longitude হলে, দ্রাঘিমাংশের সীমাটি উল্টানো হয় (ভিউপোর্টটি 180 ডিগ্রি দ্রাঘিমাংশের রেখা অতিক্রম করে)।
      • low.longitude = -180 ডিগ্রি এবং high.longitude = 180 ডিগ্রি হলে, ভিউপোর্টে সমস্ত দ্রাঘিমাংশ অন্তর্ভুক্ত থাকে।
      • low.longitude = 180 ডিগ্রি এবং high.longitude = -180 ডিগ্রি হলে, দ্রাঘিমাংশের পরিসর খালি।
      • low.latitude > high.latitude হলে, অক্ষাংশ পরিসর খালি থাকে।
  • অবস্থান সীমাবদ্ধতা

    অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। নির্দিষ্ট এলাকার বাইরে ফলাফল ফেরত দেওয়া হয় না. একটি আয়তক্ষেত্রাকার ভিউপোর্ট হিসাবে অঞ্চলটি নির্দিষ্ট করুন। ভিউপোর্ট সংজ্ঞায়িত করার তথ্যের জন্য locationBias বিবরণ দেখুন।

    আপনি locationRestriction বা locationBias নির্দিষ্ট করতে পারেন, কিন্তু উভয়ই নয়। ফলাফলগুলি যে অঞ্চলের মধ্যে হতে হবে সেটিকে নির্দিষ্ট করে locationRestriction এবং locationBias সেই অঞ্চলটি নির্দিষ্ট করে যে ফলাফলগুলি অবশ্যই কাছাকাছি হতে হবে তবে এলাকার বাইরে হতে পারে বলে মনে করুন৷

  • maxResultCount

    স্থানের ফলাফলের সর্বোচ্চ সংখ্যক ফেরত দিতে হবে তা নির্দিষ্ট করে। 1 এবং 20 এর মধ্যে হতে হবে (ডিফল্ট) অন্তর্ভুক্ত।

  • মিন রেটিং

    ফলাফল শুধুমাত্র তাদের জন্য সীমাবদ্ধ করে যাদের গড় ব্যবহারকারী রেটিং এই সীমার চেয়ে বেশি বা সমান। 0.5 এর বৃদ্ধিতে মান অবশ্যই 0.0 এবং 5.0 (অন্তর্ভুক্ত) এর মধ্যে হতে হবে। উদাহরণস্বরূপ: 0, 0.5, 1.0, ... , 5.0 সহ। মানগুলি নিকটতম 0.5 পর্যন্ত রাউন্ড করা হয়েছে৷ উদাহরণস্বরূপ, 0.6 এর মান 1.0 এর কম রেটিং সহ সমস্ত ফলাফলকে সরিয়ে দেয়।

  • মূল্যস্তর

    নির্দিষ্ট মূল্য স্তরে চিহ্নিত স্থানগুলিতে অনুসন্ধান সীমাবদ্ধ করুন৷ ডিফল্ট হল সমস্ত মূল্য স্তর নির্বাচন করা।

    PriceLevel দ্বারা সংজ্ঞায়িত এক বা একাধিক মানগুলির একটি অ্যারে নির্দিষ্ট করুন৷

    যেমন:

        let request = SearchByTextRequest()
        request.priceLevels = [GMSPlacesPriceLevel.moderate.rawValue, GMSPlacesPriceLevel.cheap.rawValue]
  • র‌্যাঙ্ক পছন্দ

    প্রশ্নের প্রকারের উপর ভিত্তি করে প্রতিক্রিয়াতে ফলাফলগুলিকে কীভাবে স্থান দেওয়া হয় তা নির্দিষ্ট করে:

    • "নিউ ইয়র্ক সিটির রেস্তোরাঁ" এর মতো একটি সুনির্দিষ্ট প্রশ্নের জন্য, .relevance (অনুসন্ধান প্রাসঙ্গিকতার দ্বারা র্যাঙ্ক ফলাফল) ডিফল্ট। আপনি .relevance বা .distancerankPreference সেট করতে পারেন (দূরত্ব অনুসারে রেঙ্ক ফলাফল)।
    • "মাউন্টেন ভিউ, CA"-এর মতো একটি অ-শ্রেণীগত প্রশ্নের জন্য, আমরা সুপারিশ করছি যে আপনি rankPreference সেট না করে ছেড়ে দিন।
  • অঞ্চল কোড

    উত্তর ফর্ম্যাট করতে ব্যবহৃত অঞ্চল কোড, একটি দুই-অক্ষরের CLDR কোড মান হিসাবে নির্দিষ্ট করা হয়েছে। এই পরামিতি অনুসন্ধান ফলাফলের উপর একটি পক্ষপাতী প্রভাব থাকতে পারে। কোন ডিফল্ট মান নে��।

    উত্তরে ঠিকানা ক্ষেত্রের দেশের নাম যদি অঞ্চল কোডের সাথে মেলে, তাহলে ঠিকানা থেকে দেশের কোড বাদ দেওয়া হয়।

    কিছু উল্লেখযোগ্য ব্যতিক্রম সহ বেশিরভাগ CLDR কোডগুলি ISO 3166-1 কোডগুলির সাথে অভিন্ন৷ উদাহরণস্বরূপ, ইউনাইটেড কিংডমের ccTLD হল "uk" (.co.uk) যেখানে এর ISO 3166-1 কোড হল "gb" (প্রযুক্তিগতভাবে "The United Kingdom of Great Britain and Northern Ireland" এর সত্তার জন্য)। প্যারামিটার প্রযোজ্য আইনের উপর ভিত্তি করে ফলাফলকে প্রভাবিত করতে পারে।

  • PureServiceAreaBusinesses অন্তর্ভুক্ত করা উচিত

    true হলে, সার্চ ফলাফলে বিশুদ্ধ পরিষেবা এলাকার ব্যবসা ফেরত দেয়। একটি বিশুদ্ধ পরিষেবা এলাকা ব্যবসা এমন একটি ব্যবসা যা সরাসরি গ্রাহকদের কাছে যায় বা বিতরণ করে, কিন্তু গ্রাহকদের তাদের ব্যবসার ঠিকানায় পরিষেবা দেয় না।

    যেমন:

    স্থান সুইফট SDK

    let request = SearchByTextRequest()
    request.shouldIncludePureServiceAreaBusinesses = true

    সুইফট

    let request = SearchByTextRequest()
    request.shouldIncludePureServiceAreaBusinesses: true

    উদ্দেশ্য-C

    GMSPlaceSearchByTextRequest *request =
        [[GMSPlaceSearchByTextRequest alloc] initWithTextQuery:@"pizza in New York" placeProperties:@[GMSPlacePropertyAll]];
    request.shouldIncludePureServiceAreaBusinesses = YES;

আপনার অ্যাপে বৈশিষ্ট্য প্রদর্শন করুন

যখন আপনার অ্যাপ GMSPlacesClient থেকে প্রাপ্ত তথ্য প্রদর্শন করে, যেমন ফটো এবং রিভিউ, অ্যাপটিকে অবশ্যই প্রয়োজনীয় বৈশিষ্ট্যগুলিও প্রদর্শন করতে হবে।

উদাহরণস্বরূপ, GMSPlacesClient অবজেক্টের reviews সম্পত্তি পাঁচটি পর্যন্ত GMSPlaceReview অবজেক্টের একটি অ্যারে ধারণ করে। প্রতিটি GMSPlaceReview অবজেক্টে অ্যাট্রিবিউশন এবং লেখক অ্যাট্রিবিউশন থাকতে পারে। আপনি যদি আপনার অ্যাপে পর্যালোচনা প্রদর্শন করেন, তাহলে আপনাকে অবশ্যই কোনো অ্যাট্রিবিউশন বা লেখকের অ্যাট্রিবিউশনও প্রদর্শন করতে হবে।

আরও তথ্যের জন্য, বৈশিষ্ট্যের ডকুমেন্টেশন দেখুন।