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

问题描述 投票:1回答:1

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

我的代码是:

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 uber-api
1个回答
1
投票

最新版本的Uber SDK for Android(v0.9.0)发生了一些变化 - 它增加了对Uber Mobile Web的支持,作为Fallback选项而非弃用的Ride Request Widget。您可以在此处查看我们的文档和深层链接指南:https://developer.uber.com/docs/riders/ride-requests/tutorials/deep-links/introduction#android

你可以看到一个例子来获取uri(.getUri()),然后在chrometab / Browser等中打开它,如果未安装Uber(或调用.execute()在默认应用程序/浏览器中打开):

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();
© www.soinside.com 2019 - 2024. All rights reserved.