Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
094ad40
feat: migrate to using REST API v2
ValentinPostindustria Nov 17, 2025
8d6e1de
fix: unit tests
ValentinPostindustria Nov 17, 2025
7efd435
feat: new unique suffix
ValentinPostindustria Nov 17, 2025
dc6b91f
feat: use local SDK sources by default
ValentinPostindustria Nov 18, 2025
71fe63a
feat: api key and testing
ValentinPostindustria Nov 21, 2025
ad8359b
feat: introduce `OptableConfig`
ValentinPostindustria Dec 15, 2025
5ae14c5
fix: unit tests
ValentinPostindustria Dec 15, 2025
ec71ba5
Introduce Optable demo cases with Prebid (#32)
ValentinPostindustria Dec 18, 2025
c6381b3
feat: refactor network layer
ValentinPostindustria Dec 18, 2025
dd4ad43
feat: introduce callbacks for identify and targeting methods
ValentinPostindustria Dec 18, 2025
63ba731
feat: rewrite demo apps to use callbacks
ValentinPostindustria Dec 18, 2025
674a426
refactor: examples
ValentinPostindustria Dec 18, 2025
bbb6638
feat: rewrite network logic
ValentinPostindustria Dec 22, 2025
0ee30b3
feat: introduce OptableIdentifiers
ValentinPostindustria Dec 22, 2025
ff2bbcf
feat: Rx LiveData to traditional callbacks
ValentinPostindustria Dec 22, 2025
ade2a26
feat: targeting keywords for GAM
ValentinPostindustria Dec 22, 2025
fd0300d
feat: refactor demo apps
ValentinPostindustria Dec 22, 2025
07c7ff4
feat: support consents
ValentinPostindustria Dec 23, 2025
8e464dc
refactor: some methods
ValentinPostindustria Dec 23, 2025
3aff74c
docs: rewrite README file
ValentinPostindustria Dec 23, 2025
2b8c7eb
test: consent query params
ValentinPostindustria Dec 23, 2025
bf7a416
feat: corrections
ValentinPostindustria Dec 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ g*.iml
.gradle
.idea
.kotlin
libs

local.properties

Expand Down
9 changes: 8 additions & 1 deletion DemoApp/DemoAppJava/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,18 @@ android {

dependencies {
// Optable SDK
implementation "com.github.Optable:optable-android-sdk:" + versioning.getVersionName(false)
if (useReleaseSdk == "true") {
implementation "com.github.Optable:optable-android-sdk:" + versioning.getVersionName(false)
} else {
implementation "co.optable:local-sdk"
}

// Google Mobile Ads
implementation 'com.google.android.gms:play-services-ads:24.6.0'

// Prebid Ads
implementation "org.prebid:prebid-mobile-sdk:3.0.2"

// Base Android
implementation "org.jetbrains.kotlin:kotlin-stdlib:2.0.21"
implementation 'com.android.support:multidex:1.0.3'
Expand Down
3 changes: 2 additions & 1 deletion DemoApp/DemoAppJava/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
android:name=".TheApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
Expand All @@ -15,8 +16,8 @@
android:usesCleartextTraffic="true">

<activity
android:exported="true"
android:name="co.optable.demoappjava.MainActivity"
android:exported="true"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,32 +1,55 @@
package co.optable.demoappjava;

import android.os.Bundle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;
import co.optable.android_sdk.OptableSDK;
import com.google.android.gms.ads.MobileAds;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import org.prebid.mobile.PrebidMobile;
import org.prebid.mobile.api.data.InitializationStatus;

public class MainActivity extends AppCompatActivity {

public static OptableSDK OPTABLE;
private static final String TAG = "MainActivity";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

MainActivity.OPTABLE = new OptableSDK(this.getApplicationContext(), "sandbox.optable.co", "ios-sdk-demo");

initGoogleAds();
initPrebidSdk();
initUi();
}

private void initGoogleAds() {
MobileAds.initialize(this, initializationStatus -> {
});
}

private void initPrebidSdk() {
PrebidMobile.setPrebidServerAccountId("0689a263-318d-448b-a3d4-b02e8a709d9d");
PrebidMobile.initializeSdk(getApplicationContext(), "https://prebid-server-test-j.prebid.org/openrtb2/auction", status -> {
if (status == InitializationStatus.SUCCEEDED) {
Log.d(TAG, "SDK initialized successfully!");
} else {
Log.e(TAG, "SDK initialization error: " + status.getDescription());
}
});
}

private void initUi() {
BottomNavigationView navView = findViewById(R.id.nav_view);
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(R.id.navigation_identify, R.id.navigation_gambanner).build();
AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(
R.id.navigation_identify,
R.id.navigation_gambanner,
R.id.navigation_prebid
).build();
NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
NavigationUI.setupWithNavController(navView, navController);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package co.optable.demoappjava;

import android.app.Application;
import co.optable.android_sdk.OptableConfig;
import co.optable.android_sdk.OptableSDK;

public class TheApplication extends Application {

public static OptableSDK optable;

@Override
public void onCreate() {
super.onCreate();

OptableConfig config = new OptableConfig(this, "prebidtest", "js-sdk", "ca.edge.optable.co");
optable = new OptableSDK(config);
}

}

This file was deleted.

Loading