Public Preview - This version is in public preview and subject to changes. For production use, please use SDK v4.

Prerequisites

Ditto’s C++ SDK supports Linux and Android. Before getting started, ensure you have the following, depending on the platform you are using:

Get Started

1. Clone the Repository

  1. Open the terminal
  2. Clone the repository from GitHub.
    git clone https://github.com/getditto/quickstart
  3. Navigate to the project directory:
    cd quickstart

2. Configure Ditto

Get Ditto Database ID, Development Token, Auth URL, and Websocket URL

  1. Log in to your Ditto Portal account
  2. Navigate to your application and obtain the Ditto App ID, Playground Token, Auth URL, and Websocket URL. (see Getting SDK Connection Details for more details)

Add Ditto Credentials

  1. Copy the .env.sample file at the top level of the quickstart repo to .env and add your database ID and development token.
    cp .env.sample .env
    
  2. Update the .env file with the Database ID and Development Token from your Ditto Application
    DITTO_DATABASE_ID="REPLACE_ME_WITH_YOUR_DATABASE_ID"
    DITTO_DEVELOPMENT_TOKEN="REPLACE_ME_WITH_YOUR_DEVELOPMENT_TOKEN"
    DITTO_AUTH_URL="REPLACE_ME_WITH_YOUR_AUTH_URL"
    DITTO_WEBSOCKET_URL="REPLACE_ME_WITH_YOUR_WEBSOCKET_URL"
    
  1. Navigate to the sdk subdirectory of the project directory
    cd cpp-tui/taskscpp/sdk // for console
    cd android-cpp/QuickStartTasksCPP // for Android
    
  2. Download Ditto.tar.gz and unpack an archive containing the libditto.a static library and Ditto header.
    curl -O https://software.ditto.live/cpp-linux-x86_64/Ditto/5.0.0/dist/Ditto.tar.gz && tar xvfz Ditto.tar.gz
    
  3. (For Android Only) Add the ./sdk directory to your compiler’s include and linker directories, and link the ditto library into your application. For example:
    g++ -std=c++17 ./src/main.cpp -I ./sdk -lditto -ldl -lrt -pthread -L ./sdk -o dist/main;
    # Once executed, your output will be available at: ./dist/main
    

3. Run the Application

  1. Navigate back to the project directory
    cd ..
    
  2. Build the application
    make build
    
  3. Run the application
    ./build/taskscpp
    

4. Sync-Data Offline

  1. Launch the application on multiple devices or simulators
  2. Disconnect from your current WiFi network while keeping WiFi enabled on the device to allow for LAN connections
  3. Add, edit, and delete tasks and experience offline collaboration!

Next Steps

All the Ditto Quickstart apps works together! Try running a quickstart app in other languages and see them all collaborate.

Additional Resources