Ios 当我请求乘坐UBSDkriequestViewController(Uber SDK)时,如何接收更新状态(数据)

Ios 当我请求乘坐UBSDkriequestViewController(Uber SDK)时,如何接收更新状态(数据),ios,objective-c,iphone,uber-api,Ios,Objective C,Iphone,Uber Api,我已经在我的应用程序中添加了Uber SDK。我没有请求project请求完全访问权限。这是关于发展的。我有一些无法找到答案的问题(我使用的是sandbox模式) 我需要测试一下。如果我要求的话,司机已经被接受了。我如何知道他将到达的时间或其他状态,例如,到达。当驱动程序到达时,如何向应用程序中的用户发送通知。我看到了UBSDkriequestViewControllerDelegateresponse only错误案例 这是我的密码 UBSDKRideParametersBuilder *bu

我已经在我的应用程序中添加了Uber SDK。我没有请求project请求完全访问权限。这是关于发展的。我有一些无法找到答案的问题(我使用的是
sandbox
模式)

我需要测试一下。如果我要求的话,司机已经被接受了。我如何知道他将到达的时间或其他状态,例如,
到达
。当驱动程序到达时,如何向应用程序中的用户发送通知。我看到了
UBSDkriequestViewControllerDelegate
response only错误案例

这是我的密码

UBSDKRideParametersBuilder *builder = [[UBSDKRideParametersBuilder alloc] init];
[builder setPickupToCurrentLocation];
[builder setDropoffLocation:dropoffLocation];
UBSDKRideParameters *parameters = [builder build];

NSArray<UBSDKRidesScope *> *scopes = @[UBSDKRidesScope.RideWidgets,UBSDKRidesScope.Profile,UBSDKRidesScope.Request];

UBSDKLoginManager *loginManager = [[UBSDKLoginManager alloc] init];
UBSDKRideRequestViewController *vc = [[UBSDKRideRequestViewController alloc] initWithRideParameters:parameters loginManager:loginManager];
vc.title = @"Uber";
vc.delegate = self;
UBSDKRideParametersBuilder*builder=[[UBSDKRideParametersBuilder alloc]init];
[builder SetPickupCurrentLocation];
[builder setDropoffLocation:dropoffLocation];
UBSDKRideParameters*参数=[builder build];
NSArray*scopes=@[ubsdkridescope.ridewidges,ubsdkridescope.Profile,ubsdkridescope.Request];
UBSDKLoginManager*loginManager=[[UBSDKLoginManager alloc]init];
UBSDkriequestViewController*vc=[[UBSDkriequestViewController alloc]initWithRideParameters:parameters loginManager:loginManager];
vc.title=@“优步”;
vc.delegate=self;

请告知,谢谢。

目前,骑乘请求小部件不向您提供行程状态更改通知。但是,您可以使用
RidesClient
并调用
fetchCurrentRide
来获取当前行程的状态,这将为您提供有关当前行程的详细信息。然而,为了从该端点上的小部件访问trips,您将需要
所有trips
范围。这将要求您独立于RiderRequestViewController处理登录。您可以使用LoginButton或LoginManager请求
AllTrips
ridewidges
范围


在测试方面,您可以通过向
/v1/sandbox/requests/{request\u id}
端点发出PUT请求来更新沙盒旅行的状态,JSON正文的格式为
{“status”:“accepted”}
(替换您想要看到的状态)。此状态更改将反映在您的应用程序中。您可以在

上的沙箱中找到更多信息当前,乘坐请求小部件不向您提供行程状态更改的通知。但是,您可以使用
RidesClient
并调用
fetchCurrentRide
来获取当前行程的状态,这将为您提供有关当前行程的详细信息。然而,为了从该端点上的小部件访问trips,您将需要
所有trips
范围。这将要求您独立于RiderRequestViewController处理登录。您可以使用LoginButton或LoginManager请求
AllTrips
ridewidges
范围


在测试方面,您可以通过向
/v1/sandbox/requests/{request\u id}
端点发出PUT请求来更新沙盒旅行的状态,JSON正文的格式为
{“status”:“accepted”}
(替换您想要看到的状态)。此状态更改将反映在您的应用程序中。您可以在

上找到有关沙箱的更多信息,他们为我们编写了sdk。我想,你会在那里得到你所需要的一切。@AnkitnoGHz谢谢你回答我。我已经看过了。但是没有我想要的他们为我们编写了一个sdk。我想,你会在那里得到你所需要的一切。@AnkitnoGHz谢谢你回答我。我已经看过了。但是没有我想要的如何在
UBSDkriequestViewController
中添加更多作用域?现在,我知道如何获取请求id。我可以在
fetchCurrentRide
方法中获取它。但我的问题是,它总是会出错。错误代码为“未授权”,错误标题为“至少需要一个作用域。可用作用域:”。我认为这是因为我的范围是不允许的。是吗?.Method
fetchCurrentRide
始终是响应错误代码是
未经授权的
没错,要查看ride小部件的请求,您需要请求
所有行程
范围。由于这是一个特权作用域,您必须通过单点登录或授权码授权登录用户,因此无法将作用域添加到RiderRequestViewController。我已经更新了我的答案以反映this@JohnBrophy嘿,约翰。。我有点困惑。我正在实现您提到的解决方案,只是为了获得沙盒api的请求id。。。在生产中,我从来都不需要这个AllTrips范围(因为Uber ride会自行发展)。由于我的应用程序尚未授权此范围(根据Uber修订团队的说法,我需要显示屏幕广播以获得他们的批准),这真的是通过UBSDkriequestViewController测试请求的最佳方法吗?我认为这将通过一个delegates实现(至少是id)。我如何在
ubsdkriequestviewcontroller
中添加更多作用域?现在,我知道如何获取请求id。我可以通过
fetchCurrentRide
方法获取它。但我的问题是,它总是会出错。错误代码为“未授权”,错误标题为“至少需要一个作用域。可用作用域:”。我认为这是因为我的范围是不允许的。是吗?.Method
fetchCurrentRide
始终是响应错误代码是
未经授权的
没错,要查看ride小部件的请求,您需要请求
所有行程
范围。由于这是一个特权作用域,您必须通过单点登录或授权码授权登录用户,因此无法将作用域添加到RiderRequestViewController。我已经更新了我的答案以反映this@JohnBrophy嘿,约翰。。我有点困惑。我正在实现您提到的解决方案,只是为了获得沙盒api的请求id。。。在生产中,我从来都不需要这个AllTrips范围(因为Uber ride会自行发展)。因为我的应用程序没有此作用域