Backend interface

The backend interface allows the app to communicate with the VPN backend server. The sdk.getBackend() method gives you access to various backend functionalities, such as retrieving available locations, managing purchases, and getting user information. For any of the code snippets below, you can replace HYDRA_TCP with Openvpn, Wireguard, etc…

List available locations

sdk.getBackend().locations(ConnectionType.HYDRA_TCP, new Callback<AvailableLocations>() {
   @Override
   public void success(@NonNull AvailableLocations availableLocations) {
        // Handle successful retrieval of available VPN locations
   }
   
   @Override
   public void failure(@NonNull VpnException e) {
        // Handle the error if locations could not be retrieved
   }
});
  • This code retrieves a list of available VPN locations using the HYDRA_TCP connection type.

  • ConnectionType.HYDRA_TCP: Specifies the connection protocol to use when getting the list of locations.

  • Callback<AvailableLocations>: This callback handles the response from the backend.

    • success(): Called if the list of locations is successfully retrieved.

    • failure(): Called if an error occurs during the retrieval.

Purchases functionality

Making a Purchase

sdk.getBackend().purchase("json from google", new CompletableCallback() {
   @Override
   public void complete() {
       //purchase request success
   }

   @Override
   public void error(VpnException e) {
        //failed to process purchase
   }
});
  • This code sends a purchase request to the backend, typically for buying a subscription or premium VPN service.

  • "json from google": Represents the purchase information, often provided by Google Play's billing API.

  • CompletableCallback: This callback indicates whether the purchase was successful or failed.

    • complete(): Called when the purchase is successfully processed.

    • error(): Called if there was an issue processing the purchase.

Delete a Purchase

sdk.getBackend().deletePurchase(purchaseID, new CompletableCallback() {
   @Override
   public void complete() {
       //request success
   }

   @Override
   public void error(VpnException e) {
        //failed to process request
   }
});
  • This code sends a purchase request to the backend, typically for buying a subscription or premium VPN service.

  • "json from google": Represents the purchase information, often provided by Google Play's billing API.

  • CompletableCallback: This callback indicates whether the purchase was successful or failed.

    • complete() Called when the purchase is successfully processed.

    • error() Called if there was an issue processing the purchase.

Get data about user

Get Remaining Traffic

//get information about remaining traffic for user
sdk.getBackend().remainingTraffic(new Callback<RemainingTraffic>() {
    @Override
    public void success(@NonNull RemainingTraffic remainingTraffic) {
        
    }

    @Override
    public void failure(@NonNull VpnException e) {

    }
});
  • This code retrieves information about the amount of data the user can still use (remaining traffic).

  • Callback<RemainingTraffic>: Handles the response.

    • success(): Called if the remaining traffic is successfully retrieved.

    • failure(): Called if an error occurs.

Get Information About The Current User

//get information about current logged in user
sdk.getBackend().currentUser(new Callback<User>() {
    @Override
    public void success(@NonNull User user) {
        
    }

    @Override
    public void failure(@NonNull VpnException e) {

    }
});
  • This code fetches details about the current logged-in user.

  • Callback<User>: Handles the response.

    • success(): Called if the user information is retrieved successfully.

    • failure(): Called if an error occurs.

Last updated