The SmartcarAuth Android SDK makes it easy to integrate with Smartcar Connect from Android.
Add the following to your application's build.gradle
dependencies:
dependencies {
implementation 'com.smartcar.sdk:smartcar-auth:4.0.0'
}
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());
}
});
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);
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);
Please use Android Studio 3.5 to develop on the Smartcar Android SDK.