Enode Developers

Introduction

This set of guides outlines the steps necessary to integrate our Link SDKs into iOS and Android apps.

Copy linkIntroduction

If you are are providing an iOS or Android app, whether fully native or written via frameworks such as React Native or Flutter, our recommended integration method is our mobile SDKs.

Integrating with our mobile SDKs is the only way to support Bluetooth verification on iOS and Android devices. While laptop and desktop computers with Chromium based web browsers (such as Google Chrome and Microsoft Edge) installed can access web Bluetooth functionality directly through the browser to perform this verification method, this is not available in mobile Safari or Chrome.

Additionally, our SDKs:

  • Support Vendor sign-in, where your users are redirected to vendors during the sign-in process for select authentication methods. Using vendor sign-in will result in improved speed, stability, and linking success rates.
  • Are required to facilitate sign-in for some vendors such as Nest. For the most up-to-date list, refer to the integration notes found under your client's Enabled brands setting.
Download

Copy linkPrerequisites

  • A native app integrating with Enode, either for
    • iOS 16+ or
    • Android 7.0+ (API level 24+)
  • A configured Enode client and a valid access token (quick start here)
  • A version of the Link SDK for your respective platform
  • Access to the Enode at API version ≥ 2024-01-01 (see our migration guide)

Before you can show Link UI in your app, you first must create a link session and pass its linkToken to your application. To create a link session, call the Link userAPI endpoint from your server with API version 2024-01-01 and extract the linkToken property from the response.

Request sample

curl https://enode-api.{ENVIRONMENT}.enode.io/users/{USER_ID}/link \
  -X POST \
  -H "Enode-Version: 2024-01-01" ## <-- Ensure you are using the right API version
  -H "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
        "vendorType": "vehicle",
        "language": "en-US",
        "scopes": [
          "vehicle:read:data",
          "vehicle:read:location",
          "vehicle:control:charging"
        ],
        "colorScheme": "system",
        "redirectUri": "yourapp://integrations/enode" ## <-- On Android, use an app deeplink
      }'

Response sample

{
  ...,
  "linkToken": "DxwPa..."
}

The linkToken is the common input needed for both the iOS and the Android SDKs.

Continue to our guides for iOS, Android and React Native to learn how to integrate the Link SDKs into your app.

Link SDK for iOS

Integrating with the Link SDK for iOS

Link SDK for Android

Integrating with the Link SDK for Android

React Native

Integrating with the Link SDKs in React Native

Was this article helpful?