उपभोक्ता SDK टूल से जुड़ी गड़बड़ियों को मैनेज करना

उपभोक्ता SDK टूल, कॉलबैक का इस्तेमाल करके उपभोक्ता ऐप्लिकेशन को यात्रा अपडेट करने से जुड़ी गड़बड़ियां भेजता है मैकेनिज़्म. कॉलबैक पैरामीटर, प्लैटफ़ॉर्म के हिसाब से रिटर्न टाइप होता है ( TripUpdateError Android पर और NSError डालें).

स्टेटस कोड एक्सट्रैक्ट करना

कॉलबैक को पास की जाने वाली गड़बड़ियां आम तौर पर gRPC गड़बड़ियां होती हैं. इसके अलावा, उनसे अतिरिक्त जानकारी हासिल कर सकते हैं. स्टेटस कोड की पूरी सूची, देखें स्टेटस कोड और gRPC में उनका इस्तेमाल.

Java

gRPC स्टेटस कोड एक्सट्रैक्ट किया जा सकता है, जो गड़बड़ी के बारे में जानकारी देता है onTripUpdateError() से लौटाए गए TripUpdateError से.

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

Kotlin

gRPC स्टेटस कोड एक्सट्रैक्ट किया जा सकता है, जो गड़बड़ी के बारे में जानकारी देता है onTripUpdateError() से लौटाए गए TripUpdateError से.

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

Swift

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
    ...
  }
}

Objective-C

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 Cloud में प्रोजेक्ट के लिए उपभोक्ता SDK टूल चालू नहीं है कंसोल.
  • JWT टोकन मौजूद नहीं है या अमान्य है.
  • JWT टोकन को किसी ऐसे यात्रा आईडी से साइन किया गया है जो अनुरोध की गई यात्रा.
RESOURCE_EXHAUSTED संसाधन कोटा शून्य है या ट्रैफ़िक फ़्लो की दर गति सीमा.
पुष्टि नहीं की गई अमान्य JWT टोकन के कारण अनुरोध प्रमाणीकरण विफल रहा. यह गड़बड़ी तब होती है, जब JWT टोकन किसी ट्रिप आईडी के बिना साइन किया जाता है या जब JWT टोकन खत्म हो जाता है.