【问题标题】:How can I receive update status(data) when I request ride with UBSDKRideRequestViewController (Uber SDK)当我使用 UBSDKRideRequestViewController (Uber SDK) 请求乘车时,如何接收更新状态(数据)
【发布时间】:2016-07-14 05:38:50
【问题描述】:

我在我的应用程序中添加了 Uber SDK。我没有向Request full access 申请项目。它正在开发中。我有一些我找不到答案的问题(我正在使用sandbox 模式。)

问。我需要测试。如果我要求并且司机已经被接受。我怎么知道他到达的时间或其他状态,例如arrived。以及当司机到达时如何在我的应用程序中向我的用户发送通知。我看到UBSDKRideRequestViewControllerDelegate 仅响应错误情况。

这是我的代码。

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;

请指教谢谢。

【问题讨论】:

  • 他们为我们编写了一个 sdk link。我想,你会在那里得到你需要的一切..
  • @AnkitNeoGHz 感谢您回答我。我已经看过了。但没有我想要的。 :D

标签: ios objective-c iphone uber-api


【解决方案1】:

目前,乘车请求小部件不会向您提供行程状态更改的通知。但是,您可以通过使用RidesClient 并致电fetchCurrentRide 来获取当前行程的状态,这将为您提供有关当前行程的详细信息。但是,为了从该端点上的小部件访问行程,您将需要 all_trips 范围。这将要求您与 RideRequestViewController 分开处理登录。您可以使用 LoginButton 或 LoginManager 来请求 AllTripsRideWidgets RidesScopes

在测试方面,您可以通过向/v1/sandbox/requests/{request_id} 端点发出 PUT 请求来更新沙盒旅行的状态,其中 JSON 正文格式为 {"status": "accepted"}(替换您想要查看的状态)。然后,此状态更改将反映在您的应用中。你可以在Uber Developer Site找到更多关于沙盒的信息

【讨论】:

  • 如何在UBSDKRideRequestViewController 中添加更多范围?
  • 现在,我知道如何获取 request_id 了。我可以通过fetchCurrentRide 方法得到它。但我的问题是它总是响应错误。错误代码是“未经授权”,错误标题是“需要至少一个范围。可用范围:”。我认为这是因为我的范围不允许。不是吗?
  • 方法fetchCurrentRide总是响应错误代码是unauthorised
  • 没错,要查看来自骑行小部件的请求,您需要请求 all_trips 范围。由于这是一个特权范围,您必须通过单点登录或授权码授予来登录您的用户,因此您将无法将范围添加到 RideRequestViewController。我已经更新了我的答案以反映这一点
  • @JohnBrophy 嘿,约翰.. 我有点困惑。我正在实施您提到的解决方案,只是为了获取沙盒 api 的 request_id ......在生产中,我永远不需要这个 AllTrips 范围(因为 Uber 骑行会自行进行)。由于我的应用程序尚未授权此范围(并且根据 Uber 修订团队的说法,我需要显示截屏视频以供他们批准)这真的是通过 UBSDKRideRequestViewController 测试请求的最佳方法吗?我认为这将通过委托来(至少是 id)
猜你喜欢
  • 2017-07-12
  • 1970-01-01
  • 2017-01-01
  • 2020-11-17
  • 2017-02-12
  • 2016-08-07
  • 1970-01-01
  • 2016-05-17
  • 2018-03-27
相关资源
最近更新 更多