これを行う方法を見つけるのに問題があります。 iOS用のUber SDKを使用するアプリがあります。 Uberアプリへのディープリンクを行うために、「Ride there with Uber」というテキストを「RideRequestButton」に追加することができました。また、SSOを使用してトークンを要求し、要求スコープでトークンをフェッチしました。今問題は...私はディープリンク経由で行われた現在の乗車要求のステータスを取得する方法がわかりません。これは可能ですか?iOS用Uber SDK - ディープリンク経由でリアルタイムの乗車要求ステータスを取得
ありがとうございます!
Iは乗りrequestIDを得た後、現在の乗車の詳細を取得し、現在の乗車をフェッチするRidesClientを使用することであるスレッドのいずれかに記載されたアルゴリズムに従って試みました。関数は、上記の私のアプリがフォアグラウンドに設定したり、アクティブになっているたびに呼び出されることになるだろう
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に変更した後。私の2番目の質問は実行可能ですか? 「これがうまくいくかどうか私はどのように分かり、実際の乗り物を要求してこれをテストし、取引全体を完了させる方法があるのだろうか? – mCube
サンドボックスを使用して旅行をテストし、旅行がアクティブなときにwebhooksがサーバーに通知することを確認できます。 –
こんにちは@John BrophyとDustin Whittle。ご協力いただきありがとうございます。もう1つの質問。私は、私が取り組んでいる機能を作り、シミュレートされた乗り物を使ってそれをテストしました(端末経由のCURLを使用して)。私のクライアントもそれを試してみたいと思います。私はtestflight経由でビルドを送った。彼らはそれをインストールすることができると言ったが、期待された機能は "現実世界の乗り物"で動作しませんでした。私がiTunesConnectにアップロードすると、まだサンドボックスに入っています。私がここで紛失しているものはありますか?もう一度ありがとう – mCube