Manual Integration
Integrate the Tapjoy Android SDK manually by downloading the .aar file, adding it to your project’s libs folder, and updating your Gradle dependencies with Tapjoy and Google Play Services.
Read time 3 minutesLast updated 3 hours ago
Download SDK
The first step in integrating the SDK manually is to download the Android SDK itself.Add the SDK to Your Project
After unzipping the SDK, you will find docs, libraries and the TapjoyEasyApp.- Copy the file to your project’s /lib folder (if you don’t have it, create the folder first)
tapjoyconnectlibrary.aar
- Add Tapjoy to your application’s build.gradle:
dependencies { implementation files('libs/tapjoyconnectlibrary.aar') }
- Add Google Play Services to your build.gradle:
repositories { maven { url 'https://maven.google.com/' name 'Google' } }
dependencies { implementation 'com.google.android.gms:play-services-ads-identifier:17.1.0' }
Add App Permissions and Activities
The following permissions are needed:- (optional)
ACCESS_WIFI_STATE
AD_ID and the Google Play Families Progam
play-services-ads
AD_ID
For more information, refer to the Play Console Help documentation on Advertising ID.<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
JAR Integration
If you are using the JAR option instead of the AAR, the following permissions and activities are also necessary.INTERNET
ACCESS_NETWORK_STATE
To use Tapjoy’s full functionality for the current SDK version, add these activities to the<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
AndroidManifest.xml
You will also need to add the same configChanges to your App’s Manifest activity:<activity android:name="com.tapjoy.TJAdUnitActivity" android:configChanges="orientation|keyboardHidden|screenSize|uiMode" android:theme="@style/TranslucentTheme" android:enableOnBackInvokedCallback="true" android:hardwareAccelerated="true" tools:ignore="UnusedAttribute" /> <activity android:name="com.tapjoy.TJWebViewActivity" android:configChanges="orientation|keyboardHidden|screenSize|uiMode" android:theme="@style/TranslucentTheme" android:enableOnBackInvokedCallback="true" android:hardwareAccelerated="true" tools:ignore="UnusedAttribute" />
At this point, it’s a good idea to compile and run your application to ensure that everything in your app is still working. Because we haven’t actually done anything to your application’s code, there should be no errors or changes in how your application functions.android:configChanges="orientation|keyboardHidden|screenSize|uiMode"
Connect to Tapjoy
The next step is to add the Tapjoy connect code to your application. This key bit of code "turns on" the Offerwall SDK in your application.
To implement the Tapjoy connect call, you will need your Offerwall SDK Key for the application you are integrating. To find this, navigate to your application in the Tapjoy dashboard, and click the "Settings" button on the top navigation bar. Navigate to "App Settings" and you will find the SDK Key at the bottom of the page.
Now it's time to write some code. Import Tapjoy in to your Activity:
Then in your main Activity'simport com.tapjoy.Tapjoy
onCreate()
In this code you can see that we connect to Tapjoy (listening for the success, failure, and warning callbacks) and we configure two 'connect flags' (logging and user id).Hashtable<String, Object> connectFlags = new Hashtable<String, Object>(); connectFlags.put(TapjoyConnectFlag.TJC_OPTION_LOGGING_LEVEL, TJLogLevel.DEBUG); // Disable this in production builds connectFlags.put(TapjoyConnectFlag.USER_ID, "USER_ID_GOES_HERE"); // Important for self-managed currency Tapjoy.connect(getApplicationContext(), "SDK_KEY_GOES_HERE", connectFlags, new TJConnectListener() { @Override public void onConnectSuccess() { } @Override public void onConnectWarning(int code, String message) { } @Override public void onConnectFailure() { } });
onConnectSuccess
onConnectWarning
onConnectFailure
Flag | Description | Notes |
---|---|---|
| If this flag is set, the Offerwall SDK will use persistent IDs for advertising purposes if the advertising ID is not available. | Available in SDK versions 12.2.1 and later. |
| By default, Tapjoy’s Android SDK checks for the existence of the Google Advertising Identifier and will fail to initialize if it does not find it. By setting this flag, you can disable this check so that the Offerwall SDK initializes even if there is no Google Advertising Identifier present. | This is useful when Google Play Services is not present in the app, such as when you are making a build for release in a non-Google Play app store. |