0
我在寻找一种方法来解决这个问题时遇到了一些麻烦。我有一个应用程序使用Uber SDK for iOS。我能够添加“RideRequestButton”和“乘坐Uber”文本,以便与Uber应用进行深层链接。另外,我完成了使用SSO请求令牌并使用请求范围获取令牌。现在的问题是......我不知道如何获取通过深层链接进行的当前骑乘请求的状态。这可能吗?适用于iOS的Uber SDK - 通过深层链接获得实时乘车请求状态
谢谢!
我试图在螺纹,其是使用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
您可以使用沙盒来测试旅程,并在旅程激活时查看webhooks通知您的服务器。 –
你好@John Brophy和Dustin Whittle。谢谢你的帮助。还有一个问题。我能够使我正在使用的功能,并使用模拟驾驶(使用终端使用CURL)进行测试。我的客户也想尝试一下。我通过testflight将它们发送给他们。他们表示,他们能够安装它,但预期的功能在“真实世界之旅”上无效。当我将它上传到iTunesConnect时,该应用仍在Sandbox中。有什么我在这里失踪?再次感谢 – mCube