Three lines

Uber

Developers

Introduction to the Widget

This product is deprecated and will no longer be supported on May 31st, 2018. If you are starting a new project you should use deep links to m.uber.com. See the migration guide on how to link to the latest Uber rider experience.

The Ride Request Widget is an easy and lightweight way to add the full Uber end-to-end experience in your app with a few lines of code. The widget is part of the Uber Mobile SDK. The SDK manages the user authentication and displaying the ride request control.

The core capabilities of the Uber app are available through the widget:

  • Selecting a service (e.g., uberX, UberBlack, etc.)
  • Specifying pickup and dropoff locations
  • Viewing time and price estimates
  • Requesting a ride

Registering Your App

Before you dive into the code, you first need to register an application on our Developer Dashboard. This is where you will find all of your tokens and information about your app.

Note: Organization accounts are not currently supported. Please check out the FAQs for more details.

Creating an App

The first step is to create an app. Open the developer dashboard and you should see an option to create a new app. If you already have some apps, the option will be in the top right corner.

Clicking this will bring you to the app registration page, where you need to fill in some information about your app. Give it a name and a brief description of what your app will do.

Your app is now registered and ready to setup!

Familiarizing Yourself with the Dashboard

The Developer Dashboard contains a wealth of important information about your app. Throughout the setup, we will be referencing information from the dashboard, so take some time to familiarize yourself with it now.

The dashboard consists of several tabs, but for this tutorial you will only need to use the Auth tab.

Auth tab

The Auth tab is where you can find your app’s Client ID, Client Secret and Server Token, configure the URLs your app will use for authentication, and specify your app signature (more on that later). This is also where you specify what scopes your app will request from the user. Note that there are two types of scopes, General and Privileged. We will discuss the difference in the next section.

Choosing the Right Scopes

Scopes grant permission to various API endpoints for your app, and will be shown to the user during OAuth. It’s best to limit the scopes you need to the bare minimum so that users can feel confident with your app and the amount of data it can access.

Additionally, there are two types of scopes: General & Privileged.

General

General scopes allow you access information about the user, but do not allow more advanced actions, such as requesting an Uber on their behalf.

Privileged

Privileged scopes allow advanced actions, such as requesting a ride, but require your app to be approved by our team before it can be used by a wider audience. During development, however, your account (and any developer accounts you list on the dashboard) will be able to authorize these scopes without whitelisting.

More in depth information on our scopes can be found in the scopes guide.

Application IDs & Tokens
App Parameter Description
client_id The client_id identifies your application. Treat it like a username.
client_secret The client_secret is your application’s password. Protect it like a password and use the application dashboard to get a new one should you ever suspect it has been leaked.
server_token The server_token can be used to make calls from your server that do not require a user context. Note: We no longer issue new server tokens. We are planning to remove the support of server tokens in favour of scope based access tokens in the near future.

Configure your app in the developer dashboard

Enable the ride_widgets scope in the developer dashboard. This will allow for the implicit grant OAuth flow.

Add a Redirect URI in the Auth tab of the developer dashboard. We strongly recommend using your Client ID (with underscores removed) as the scheme to ensure it is unique. For example:

[ClientID]://uberConnect

Congratulations! You have setup an app in the developer dashboard and now have the credentials required to build an application with Ride Requests.


Where to go from here

Find out how to implement a Widget on mobile apps to make a ride request from these tutorials:

Uber

Developers
© 2023 Uber Technologies Inc.