从 Android 中的 Ride Request Uber 小部件迁移,因为它已被弃用

Migration from Ride Request Uber widget in Android as it has been deprecated

在之前版本的 Uber Rides SDK 中,有一种简单的方法可以使用 Ride Request Widget 在您的应用程序中嵌入 Uber 乘客体验,但现在它已被弃用。

我的代码是:

SessionConfiguration config = new SessionConfiguration.Builder()
.setClientId("<MY_CLIENT_ID>")
.setClientSecret("<MY_CLIENT_SECRET>")
.setServerToken("<MY_SERVER_TOKEN>")
.build();

 RideParameters rideParams = new RideParameters.Builder()
.setProductId("a1111c8c-c720-46c3-8534-2fcdd730040d")
.setPickupLocation(37.775304, -122.417522, "Uber HQ", "1455 Market Street, 
 San Francisco, California")
.setDropoffLocation(37.795079, -122.4397805, "Embarcadero", "One Embarcadero 
 Center, San Francisco")
 .build();

 RideRequestDeeplink deeplink = new RideRequestDeeplink.Builder(context)
                    .setSessionConfiguration(config)
                    .setRideParameters(rideParams)
                    .build();

 deeplink.execute();

之前应用程序运行良好。

我想要一些工作轮或代码片段来帮助我实现相同的功能并迁移以满足 Uber 最新版本的新规则。 提前致谢

Android (v0.9.0) 的最新版 Uber SDK 进行了一些更改 - 添加了对 Uber Mobile Web 的支持,作为已弃用的叫车请求小部件的后备选项。您可以在此处查看我们的文档和深层链接指南:https://developer.uber.com/docs/riders/ride-requests/tutorials/deep-links/introduction#android

你可以看到一个例子,如果没有安装 Uber(或者默认调用 .execute() 打开) app/browser):

SessionConfiguration config = new SessionConfiguration.Builder()
.setClientId("<CLIENT_ID>")
.setClientSecret("<CLIENT_SECRET>")
.setServerToken("<SERVER_TOKEN>")
.build();

RideRequestDeeplink deeplink = new RideRequestDeeplink.Builder(context)
                    .setSessionConfiguration(config)
                    .setFallback(Deeplink.Fallback.MOBILE_WEB)
                    .setRideParameters(rideParams)
                    .build();

// to launch as a custom tab with browser fallback
deeplink.execute();

// to get the mobile deep link as a string
String uri = deeplink.getUri();