ভোক্তা SDK ত্রুটিগুলি পরিচালনা করুন৷

ভোক্তা SDK একটি কলব্যাক প্রক্রিয়া ব্যবহার করে গ্রাহক অ্যাপে ট্রিপ আপডেট ত্রুটি পাঠায়। কলব্যাক প্যারামিটার হল একটি প্ল্যাটফর্ম-নির্দিষ্ট রিটার্ন টাইপ (Android-এ TripUpdateError এবং iOS-এ NSError )।

স্ট্যাটাস কোড বের করা হচ্ছে

কলব্যাকে পাস করা ত্রুটিগুলি সাধারণত gRPC ত্রুটি, এবং আপনি একটি স্ট্যাটাস কোড আকারে তাদের থেকে অতিরিক্ত তথ্যও বের করতে পারেন। স্ট্যাটাস কোডের সম্পূর্ণ তালিকার জন্য, জিআরপিসি-তে স্ট্যাটাস কোড এবং তাদের ব্যবহার দেখুন।

জাভা

আপনি একটি gRPC স্ট্যাটাস কোড বের করতে পারেন যা onTripUpdateError() থেকে ফিরে আসা TripUpdateError থেকে ত্রুটি সম্পর্কে বিশদ প্রদান করে।

// Called when there is a trip update error.
@Override
public void onTripUpdateError(TripInfo tripInfo, TripUpdateError error) {
  Status.Code code = error.getStatusCode();
}

কোটলিন

আপনি একটি gRPC স্ট্যাটাস কোড বের করতে পারেন যা onTripUpdateError() থেকে ফিরে আসা TripUpdateError থেকে ত্রুটি সম্পর্কে বিশদ প্রদান করে।

// Called when there is a trip update error.
override fun onTripUpdateError(tripInfo: TripInfo, error: TripUpdateError) {
  val code = error.getStatusCode()
}

সুইফট

NSError tripModel(_:didFailUpdateTripWithError:) এ আবার ডাকা হয়েছে।

// Called when there is a trip update error.
func tripModel(_ tripModel: GMTCTripModel, didFailUpdateTripWithError error: Error?) {
  // Check to see if the error comes from gRPC.
  if let error = error as NSError?, error.domain == "io.grpc" {
    let gRPCErrorCode = error.code
    ...
  }
}

উদ্দেশ্য গ

NSError tripModel:didFailUpdateTripWithError: এ আবার ডাকা হয়েছে।

// Called when there is a trip update error.
- (void)tripModel:(GMTCTripModel *)tripModel didFailUpdateTripWithError:(NSError *)error {
  // Check to see if the error comes from gRPC.
  if ([error.domain isEqualToString:@"io.grpc"]) {
    NSInteger gRPCErrorCode = error.code;
    ...
  }
}

স্ট্যাটাস কোড ব্যাখ্যা করা

স্ট্যাটাস কোড দুটি ধরণের ত্রুটি কভার করে: সার্ভার এবং নেটওয়ার্ক-সম্পর্কিত ত্রুটি এবং ক্লায়েন্ট-সাইড ত্রুটি।

সার্ভার এবং নেটওয়ার্ক ত্রুটি

নিম্নলিখিত স্ট্যাটাস কোডগুলি নেটওয়ার্ক বা সার্ভারের ত্রুটির জন্য, এবং সেগুলি সমাধান করার জন্য আপনাকে কোনো পদক্ষেপ নিতে হবে না৷ ভোক্তা SDK তাদের থেকে স্বয়ংক্রিয়ভাবে পুনরুদ্ধার করে।

স্ট্যাটাস কোড বর্ণনা
বর্জন করা হয়েছে সার্ভার প্রতিক্রিয়া পাঠানো বন্ধ. এটি সাধারণত একটি সার্ভার সমস্যা দ্বারা সৃষ্ট হয়.
বাতিল করা হয়েছে সার্ভার বহির্গামী প্রতিক্রিয়া বন্ধ করে দিয়েছে। এটি সাধারণত ঘটে যখন
অ্যাপটি ব্যাকগ্রাউন্ডে পাঠানো হয়, বা যখন একটি রাষ্ট্র পরিবর্তন হয়
ভোক্তা অ্যাপ।
বাধাপ্রাপ্ত
DEADLINE_EXCEEDED সার্ভার প্রতিক্রিয়া জানাতে অনেক সময় নিয়েছে৷
অনুপলব্ধ সার্ভার অনুপলব্ধ ছিল. এটি সাধারণত একটি নেটওয়ার্ক সমস্যার কারণে হয়।

ক্লায়েন্ট ত্রুটি

নিম্নলিখিত স্ট্যাটাস কোড ক্লায়েন্ট ত্রুটির জন্য, এবং আপনি তাদের সমাধান করতে পদক্ষেপ নিতে হবে. আপনি যাত্রা ভাগাভাগি শেষ না করা পর্যন্ত উপভোক্তা SDK ট্রিপটি রিফ্রেশ করার জন্য পুনরায় চেষ্টা চালিয়ে যাচ্ছে, কিন্তু আপনি পদক্ষেপ না নেওয়া পর্যন্ত এটি পুনরুদ্ধার হবে না।

স্ট্যাটাস কোড বর্ণনা
INVALID_ARGUMENT ভোক্তা অ্যাপটি একটি অবৈধ ভ্রমণের নাম উল্লেখ করেছে; ট্রিপের নাম অবশ্যই ফরম্যাট providers/{provider_id}/trips/{trip_id} অনুসরণ করবে।
NOT_FOUND ট্রিপ তৈরি করা হয়নি.
PERMISSION_DENIED কনজিউমার অ্যাপের অপর্যাপ্ত অনুমতি রয়েছে। এই ত্রুটিটি ঘটে যখন:
  • কনজিউমার অ্যাপের অনুমতি নেই
  • Google ক্লাউড কনসোলে প্রোজেক্টের জন্য কনজিউমার SDK সক্ষম করা নেই।
  • JWT টোকেন হয় অনুপস্থিত বা অবৈধ।
  • JWT টোকেন একটি ট্রিপ আইডি দিয়ে স্বাক্ষরিত যা অনুরোধ করা ট্রিপের সাথে মেলে না।
RESOURCE_EXHAUSTED রিসোর্স কোটা শূন্য, অথবা ট্র্যাফিক প্রবাহের হার গতি সীমা ছাড়িয়ে গেছে।
অননুমোদিত একটি অবৈধ JWT টোকেনের কারণে অনুরোধটি প্রমাণীকরণ ব্যর্থ হয়েছে৷ এই ত্রুটিটি হয় যখন JWT টোকেন একটি ট্রিপ আইডি ছাড়া স্বাক্ষরিত হয়, অথবা যখন JWT টোকেনের মেয়াদ শেষ হয়ে যায়।