Skip to main content

Android SDK v4 Installation Guide

Note: This guide applies to WOVN SDK v4.0.0 and later. For earlier versions, please contact support.

Overview

This guide walks you through manually installing the WOVN SDK in your Android application. The installation consists of two main steps:

  1. Import and Configure - Add the WOVN SDK to your project and set up basic configuration
  2. Enable Lifecycle Tracking - Allow the SDK to monitor your app's activities for automatic translation

Step 1: Import and Configure the WOVN SDK

1.1 Add Required Permissions

The WOVN SDK needs internet access to download translations and report usage data. Add these permissions to your AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

1.2 Add the WOVN SDK Library

  1. Download the WOVN SDK file (wovnapp-release.aar) from the link provided by Customer Support
  2. Create a libs folder in your project root if it doesn't exist
  3. Copy the .aar file to libs/wovnapp-release.aar
  4. Add this dependency to your module's build.gradle:
dependencies {
implementation files('../libs/wovnapp-release.aar')
}

1.3 Create Configuration File

Create a wovn.properties file in your app/src/main/assets folder with this configuration:

token=#{token}                          # Replace with your WOVN token
loglevel=0 # 0: All logs; 1: Debug and up; 2: Info and up; 3: Warning and up; 4: Only Error; 5: No log. Recommended to set to 0 initially for debugging.
translation_preview_mode=true # https://wovnio.github.io/WovnAppDocumentation/docs/English/Android/preview_translation

Verify Step 1

You should have modified or created these files:

Step 1 verification

Run your app and check Logcat. Filter by Wovn: loadDataAndStartWovn: to see:

Wovn: loadDataAndStartWovn: 
WOVN: Report:Off;ClientID: f147c92d-3d51-442a-871e-6aeb526cc0ea
Development mode enabled: false
ClientID: f147c92d-3d51-442a-871e-6aeb526cc0ea
Helpers.getDeviceLanguages [ko-KP, en-US, ja-JP, vi-VN, it-IT, zh-Hans-CN, zh-Hant-TW]
Available Languages: [zh-CHS, en-US, vi, ja, it, en-GB, zh-CHT, nl]
Current Language: en-US

Step 2: Enable Lifecycle Tracking

The WOVN SDK needs to monitor your app's activities to provide automatic translation. Add lifecycle tracking to your Application class (typically a file ending with App or Application that extends the Application class):

final WovnActivityLifecycleCallbacks wovnActivityLifecycleCallbacks = new WovnActivityLifecycleCallbacks();
this.registerActivityLifecycleCallbacks(wovnActivityLifecycleCallbacks);

Complete example:

package io.wovn.app.demo;

import android.app.Application;
import io.wovn.wovnapp.Wovn;
import io.wovn.wovnapp.WovnActivityLifecycleCallbacks;

public class WovnDemoApplication extends Application {
@Override
public void onCreate() {
super.onCreate();

// You need to add the following 2 lines to enable the WOVN SDK to follow your app's lifecycle for automatic translation
final WovnActivityLifecycleCallbacks wovnActivityLifecycleCallbacks = new WovnActivityLifecycleCallbacks();
this.registerActivityLifecycleCallbacks(wovnActivityLifecycleCallbacks);
}
}

Verify Step 2

Run your app and filter Logcat by WovnActivityLifecycleCallbacks. You should see lifecycle events being tracked:

WovnActivityLifecycleCallbacks: onActivityCreated: activity: io.wovn.app.demo.activities.TextsActivity@eb3c63a
WovnActivityLifecycleCallbacks: onActivityStarted: activity: io.wovn.app.demo.activities.TextsActivity@eb3c63a
WovnActivityLifecycleCallbacks: onActivityStopped: activity: io.wovn.app.demo.activities.MainActivity@faee4a8
WovnActivityLifecycleCallbacks: onActivityStarted: activity: io.wovn.app.demo.activities.MainActivity@faee4a8
WovnActivityLifecycleCallbacks: onActivityStopped: activity: io.wovn.app.demo.activities.TextsActivity@eb3c63a
WovnActivityLifecycleCallbacks: onActivityDestroyed: activity: io.wovn.app.demo.activities.TextsActivity@eb3c63a
WovnActivityLifecycleCallbacks: onActivityCreated: activity: io.wovn.app.demo.activities.WovnIgnoreScreenA@ee4ffb3
WovnActivityLifecycleCallbacks: onActivityStarted: activity: io.wovn.app.demo.activities.WovnIgnoreScreenA@ee4ffb3
WovnActivityLifecycleCallbacks: onActivityStopped: activity: io.wovn.app.demo.activities.MainActivity@faee4a8
WovnActivityLifecycleCallbacks: onActivityStarted: activity: io.wovn.app.demo.activities.MainActivity@faee4a8
WovnActivityLifecycleCallbacks: onActivityStopped: activity: io.wovn.app.demo.activities.WovnIgnoreScreenA@ee4ffb3
WovnActivityLifecycleCallbacks: onActivityDestroyed: activity: io.wovn.app.demo.activities.WovnIgnoreScreenA@ee4ffb3
WovnActivityLifecycleCallbacks: onActivityCreated: activity: io.wovn.app.demo.activities.EditsActivity@9024e02
WovnActivityLifecycleCallbacks: onActivityStarted: activity: io.wovn.app.demo.activities.EditsActivity@9024e02
WovnActivityLifecycleCallbacks: onActivityStopped: activity: io.wovn.app.demo.activities.MainActivity@faee4a8tex

Next Steps

After completing the installation:

  1. Activate Development Mode - Register your device's Client ID to enable reporting and instant translation updates
  2. Test your app - Navigate through as many screens as possible
  3. Check the Dashboard - Your app's activities should appear as pages ready for translation

App pages in WOVN Dashboard