У меня возникли проблемы с поиском способа сделать это. У меня есть приложение, которое использует Uber SDK для iOS. Я смог добавить «RideRequestButton» с текстом «Ride there with Uber», чтобы сделать debplink для приложения Uber. Кроме того, я закончил запрос маркера с использованием SSO и извлечение маркера с областью запроса. Теперь проблема в том, что ... Я не уверен, как получить статус текущего запроса на поездку, сделанный с помощью deeplink. Это возможно?Uber SDK для iOS - получить статус запроса езды в реальном времени через глубокую ссылку
Спасибо!
Я попытался после алгоритма, указанного в одном из нити, который должен использовать RidesClient для извлечения текущей езды затем получить текущую деталь езды после получения езды RequestID. Вот проблеск моего кода:
func refreshRideRequestStatus() {
var requestID: String = ""
self.ridesClient.fetchCurrentRide({
ride, response in
if (ride != nil) {
print ("[refreshRideRequestStatus] ride:", ride ?? "no active ride")
requestID = (ride?.requestID)!
}
else {
print ("[refreshRideRequestStatus] ride: no active ride")
print ("[refreshRideRequestStatus] response: ", response.response ?? "no response")
}
})
if (requestID.isEmpty) {
print ("[refreshRideRequestStatus] no active request")
}
else {
print ("[refreshRideRequestStatus] requestID: ", requestID)
self.ridesClient.fetchRideDetails(requestID, completion: {
ride, response in
self.isTorchUberFlashable = false
if (response.statusCode == 200) {
let status:Int = (ride?.status)!.rawValue
print("refreshRideRequestStatus] status:", status)
switch (status) {
case 1:
print("[refreshRideRequestStatus] accepted")
case 2:
print("[refreshRideRequestStatus] arriving")
case 3:
print("[refreshRideRequestStatus] completed")
case 4:
print("[refreshRideRequestStatus] driverCanceled")
case 5:
print("[refreshRideRequestStatus] inProgress")
case 6:
print("[refreshRideRequestStatus] noDriversAvailable")
case 7:
print("[refreshRideRequestStatus] processing")
case 8:
print("[refreshRideRequestStatus] ridersCanceled")
case 9:
print("[refreshRideRequestStatus] unknown")
default:break
}
}
else {
print("[refreshRideRequestStatus] error: ", response.response ?? "no data request found")
}
})
}
}
Функция выше будет вызываться каждый раз, когда мое приложение установлено на передний план или стало активным.
Извините, но другой вопрос будет. Как я узнаю, будет ли это работать, и есть ли способ проверить это, запросив настоящую поездку и завершить всю транзакцию?
благодарит @JohnBrophy! ... После изменения запроса области на all_trips. Является ли мой второй вопрос выполнимым? «Как я узнаю, что это будет работать, и есть ли способ проверить это, запросив настоящую поездку и завершить всю транзакцию?» – mCube
Вы можете использовать песочницу, чтобы проверить поездку и увидеть, как веб-камеры уведомляют ваш сервер, когда поездка активна. –
Привет @ Джон Брофи и Дастин Уиттл. Спасибо за вашу помощь. Еще один вопрос. Я смог сделать функцию, над которой я работаю, и протестировал ее, используя симуляцию (используя CURL через терминал). Мой клиент тоже хотел бы попробовать. Я отправил их сборку через testflight. Они сказали, что они могут установить его, но ожидаемая функциональность не работала над «поездкой в реальном мире». Приложение все еще находится в Sandbox, когда я загружаю его в iTunesConnect. Есть ли что-то, что мне здесь не хватает? Еще раз спасибо – mCube