Оценка времени и цены для кнопки запроса поездки в UBER не отображаются

#uber-api

#uber-api

Вопрос:

Я следил за примером того, как кнопка запроса поездки в Uber будет для приложений Android. Все в порядке, пока я не захочу отобразить оценку времени и цены для желаемого пункта назначения.

Вот мой код:

 //setting the uber config
private void setupUberConfig() {
    uberSessionConfig = new SessionConfiguration.Builder()
            .setClientId(getString(R.string.uber_client_id))
            .setServerToken(getString(R.string.uber_server_token))
            .setClientSecret(getString(R.string.uber_client_secret))
            .setRedirectUri("http://www.upnixt.com")
            .setScopes(Arrays.asList(Scope.RIDE_WIDGETS, Scope.REQUEST))
            .setEnvironment(SessionConfiguration.Environment.SANDBOX)
            .build();
    UberSdk.initialize(uberSessionConfig);
}


new AsyncTask<Void, Void, String>() {

        @Override
        protected String doInBackground(Void... voids) {
            return currentPlace.getUberXProductId(mContext, MainActivity.getCurrentLocationForOthers().getLatitude(), MainActivity.getCurrentLocationForOthers().getLongitude(),
                    getString(R.string.uber_server_token));
        }

        @Override
        protected void onPostExecute(String productId) {
            super.onPostExecute(productId);
            callUber.setVisibility(View.VISIBLE);
            RideParameters rideParams;
            if (productId != null) {
                 rideParams = new RideParameters.Builder()
                        .setProductId(productId)
                        .setPickupLocation(MainActivity.getCurrentLocationForOthers().getLatitude(), MainActivity.getCurrentLocationForOthers().getLongitude(), "", "")
                        .setDropoffLocation(currentPlace.getLat(), currentPlace.getLng(), currentPlace.getName(), currentPlace.getAddress())
                        .build();
            } else {
                rideParams = new RideParameters.Builder()
                        .setPickupLocation(MainActivity.getCurrentLocationForOthers().getLatitude(), MainActivity.getCurrentLocationForOthers().getLongitude(), "", "")
                        .setDropoffLocation(currentPlace.getLat(), currentPlace.getLng(), currentPlace.getName(), currentPlace.getAddress())
                        .build();
            }

            callUber.setRideParameters(rideParams);
            ServerTokenSession session = new ServerTokenSession(uberSessionConfig);
            callUber.setSession(session);
            callUber.setCallback(new RideRequestButtonCallback() {
                @Override
                public void onRideInformationLoaded() {
                    Log.d("SELLE", "Info Loaded");
                }

                @Override
                public void onError(ApiError apiError) {
                    Log.d("SELLE", apiError.getClientErrors().get(0).getTitle());
                }

                @Override
                public void onError(Throwable throwable) {
                    Log.d("SELLE", "Info Loaded");
                }
            });
            callUber.loadRideInformation();

        }
    }.execute();
 

Я получаю идентификатор продукта из v1 / products API Uber.
Я что-то пропустил?

Комментарии:

1. Да, используйте конечную точку lat long и v1 / products, чтобы получить соответствующий идентификатор product_id. С какой ошибкой вы столкнулись?

2. @DustinWhittle Я уже добавил широту и длину в api v1 / products и получил соответствующий product_id для поездки типа UberX. затем включил это в параметр поездки для кнопки. На самом деле ошибки нет, но кнопка не отображает оценку времени и цены, когда я вызываю этот метод loadRideInformation() . Кстати, у меня на Филиппинах может возникнуть проблема с этим