smartcar / android-sdk

Smartcar Android Auth SDK
https://smartcar.github.io/android-sdk
MIT License
19 stars 2 forks source link
sdk

Smartcar Android Auth SDK Build Status JavaDoc Maven Central

The SmartcarAuth Android SDK makes it easy to integrate with Smartcar Connect from Android.

Reference Documentation

Installation

Add the following to your application's build.gradle dependencies:

dependencies {
    implementation 'com.smartcar.sdk:smartcar-auth:4.0.0'
}

Usage

  1. Instantiate a new SmartcarAuth instance with a SmartcarCallback handler:
import com.smartcar.sdk.SmartcarAuth;
import com.smartcar.sdk.SmartcarCallback;
import com.smartcar.sdk.SmartcarResponse;

SmartcarAuth smartcarAuth = new SmartcarAuth(
    "your-client-id",
    "your-redirect-uri",
    new String[] {"read_vehicle_info", "read_odometer"},

    // Create a callback to handle the redirect response
    new SmartcarCallback() {
        @Override
        public void handleResponse(SmartcarResponse smartcarResponse) {
            // Retrieve the authorization code
            Log.d("SmartcarAuth", "Authorization code: " + smartcarResponse.getCode());
        }
});
  1. Launch the Smartcar Connect flow:
smartcarAuth.launchAuthFlow(getApplicationContext());

Alternatively, add a click handler to any view to launch the Smartcar Connect flow.

Button connectButton = findViewById(R.id.connect_button);
smartcarAuth.addClickHandler(getApplicationContext(), connectButton);
  1. Use the AuthUrlBuilder for additional configuration:
String authUrl = smartcarAuth.authUrlBuilder()
    .setState("foo")
    .setForcePrompt(true)
    .setMakeBypass("TESLA")
    .build();

// Launch Smartcar Connect with the configured parameters
smartcarAuth.launchAuthFlow(getApplicationContext(), authUrl);

// Alternatively attach a click handler
Button connectButton = findViewById(R.id.connect_button);
smartcarAuth.addClickHandler(getApplicationContext(), button, authUrl);

Contributing

Please use Android Studio 3.5 to develop on the Smartcar Android SDK.