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
Was this helpful?