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