diff --git a/Example/PrebidDemoJava/build.gradle b/Example/PrebidDemoJava/build.gradle index 5d553bf4d..053a74bc3 100644 --- a/Example/PrebidDemoJava/build.gradle +++ b/Example/PrebidDemoJava/build.gradle @@ -53,37 +53,20 @@ project.gradle.taskGraph.whenReady { } } -//repositories{ -// maven { -// url 'https://oss.sonatype.org/content/repositories/orgprebid-1059' -// } -//} - dependencies { // Source code implementation project(':PrebidMobile') -// Maven -// implementation 'org.prebid:prebid-mobile-sdk:1.12.1' -// implementation 'org.prebid:prebid-mobile-sdk-core:1.12.1' - -// LocalMaven .aar -// implementation 'org.prebid:prebid-mobile-sdk:+' -// implementation 'org.prebid:prebid-mobile-sdk-core:+' - -// LocalJar .jar -// Fat library -// implementation files('libs/PrebidMobile.jar') -// implementation files('libs/PrebidMobile-core.jar') - -// localJarImplementation fileTree(dir: 'libs', include: ['*.jar']) + // For testing staging releases +// implementation 'org.prebid:prebid-mobile-sdk:1.13.0-beta2' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.gms:play-services-ads:20.0.0' - implementation 'com.google.android.exoplayer:exoplayer-core:2.11.1' - implementation 'com.google.android.exoplayer:exoplayer-ui:2.11.1' - implementation 'com.google.android.exoplayer:extension-ima:2.11.1' + implementation 'com.google.android.exoplayer:exoplayer:2.13.3' + implementation 'com.google.android.exoplayer:exoplayer-core:2.13.3' + implementation 'com.google.android.exoplayer:exoplayer-ui:2.13.3' + implementation 'com.google.android.exoplayer:extension-ima:2.13.3' implementation 'androidx.multidex:multidex:2.0.0' implementation('com.mopub:mopub-sdk:5.8.0@aar') { transitive = true diff --git a/Example/PrebidDemoJava/src/main/java/org/prebid/mobile/app/RubiconInstreamVideoIMADemoActivity.java b/Example/PrebidDemoJava/src/main/java/org/prebid/mobile/app/RubiconInstreamVideoIMADemoActivity.java index f3b8936c7..5b89ed692 100644 --- a/Example/PrebidDemoJava/src/main/java/org/prebid/mobile/app/RubiconInstreamVideoIMADemoActivity.java +++ b/Example/PrebidDemoJava/src/main/java/org/prebid/mobile/app/RubiconInstreamVideoIMADemoActivity.java @@ -2,10 +2,9 @@ import android.net.Uri; import android.os.Bundle; - import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; - +import com.google.android.exoplayer2.MediaItem; import com.google.android.exoplayer2.SimpleExoPlayer; import com.google.android.exoplayer2.ext.ima.ImaAdsLoader; import com.google.android.exoplayer2.source.MediaSource; @@ -13,27 +12,31 @@ import com.google.android.exoplayer2.source.ads.AdsMediaSource; import com.google.android.exoplayer2.ui.PlayerView; import com.google.android.exoplayer2.upstream.DataSource; +import com.google.android.exoplayer2.upstream.DataSpec; import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; - -import org.prebid.mobile.AdSize; -import org.prebid.mobile.AdUnit; -import org.prebid.mobile.Host; -import org.prebid.mobile.OnCompleteListener2; -import org.prebid.mobile.PrebidMobile; -import org.prebid.mobile.ResultCode; -import org.prebid.mobile.Signals; import org.prebid.mobile.Util; -import org.prebid.mobile.VideoAdUnit; +import org.prebid.mobile.*; -import java.util.Arrays; +import java.util.Collections; import java.util.HashSet; -import java.util.Map; public class RubiconInstreamVideoIMADemoActivity extends AppCompatActivity { - AdUnit adUnit; + + VideoAdUnit adUnit; private PlayerView playerView; private SimpleExoPlayer player; private ImaAdsLoader adsLoader; + private Uri adsUri; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_instream_video); + playerView = findViewById(R.id.player_view); + + initPrebid(); + initVideoAdUnit(); + } @Override protected void onDestroy() { @@ -45,40 +48,30 @@ protected void onDestroy() { adsLoader.release(); } - @Override - protected void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_instream_video); - playerView = findViewById(R.id.player_view); - + private void initPrebid() { PrebidMobile.setPrebidServerHost(Host.RUBICON); PrebidMobile.setPrebidServerAccountId(Constants.PBS_ACCOUNT_ID_RUBICON); PrebidMobile.setStoredAuctionResponse(Constants.PBS_STORED_RESPONSE_VAST_RUBICON); - VideoAdUnit.Parameters parameters = new VideoAdUnit.Parameters(); - parameters.setMimes(Arrays.asList("video/mp4")); - - parameters.setProtocols(Arrays.asList(Signals.Protocols.VAST_2_0)); - // parameters.setProtocols(Arrays.asList(new Signals.Protocols(2))); - - parameters.setPlaybackMethod(Arrays.asList(Signals.PlaybackMethod.AutoPlaySoundOff)); - // parameters.setPlaybackMethod(Arrays.asList(new Signals.PlaybackMethod(2))); + } + private void initVideoAdUnit() { + VideoAdUnit.Parameters parameters = new VideoAdUnit.Parameters(); + parameters.setMimes(Collections.singletonList("video/mp4")); + parameters.setProtocols(Collections.singletonList(Signals.Protocols.VAST_2_0)); + parameters.setPlaybackMethod(Collections.singletonList(Signals.PlaybackMethod.AutoPlaySoundOff)); parameters.setPlacement(Signals.Placement.InStream); - // parameters.setPlacement(new Signals.Placement(2)); - VideoAdUnit adUnit = new VideoAdUnit("1001-1", 640, 480); + adUnit = new VideoAdUnit("1001-1", 640, 480); adUnit.setParameters(parameters); - this.adUnit = adUnit; - // Create an AdsLoader with the ad tag url. - adUnit.fetchDemand(new OnCompleteListener2() { - @Override - public void onComplete(ResultCode resultCode, Map unmodifiableMap) { - HashSet sizes = new HashSet<>(); - sizes.add(new AdSize(640, 480)); - String uri = Util.generateInstreamUriForGam(Constants.DFP_VAST_ADUNIT_ID_RUBICON, sizes, unmodifiableMap); - adsLoader = new ImaAdsLoader(RubiconInstreamVideoIMADemoActivity.this, Uri.parse(uri)); - initializePlayer(); - } + adUnit.fetchDemand((resultCode, keysMap) -> { + HashSet sizes = new HashSet<>(); + sizes.add(new AdSize(640, 480)); + adsUri = Uri.parse(Util.generateInstreamUriForGam(Constants.DFP_VAST_ADUNIT_ID_RUBICON, sizes, keysMap)); + + ImaAdsLoader.Builder imaBuilder = new ImaAdsLoader.Builder(RubiconInstreamVideoIMADemoActivity.this); + adsLoader = imaBuilder.build(); + + initializePlayer(); }); } @@ -93,34 +86,26 @@ private void releasePlayer() { player.release(); player = null; } - } private void initializePlayer() { - // Create a SimpleExoPlayer and set is as the player for content and ads. - player = new SimpleExoPlayer.Builder(this).build(); + SimpleExoPlayer.Builder playerBuilder = new SimpleExoPlayer.Builder(this); + player = playerBuilder.build(); playerView.setPlayer(player); adsLoader.setPlayer(player); - DataSource.Factory dataSourceFactory = - new DefaultDataSourceFactory(this, getString(R.string.app_name)); - - ProgressiveMediaSource.Factory mediaSourceFactory = - new ProgressiveMediaSource.Factory(dataSourceFactory); - - // Create the MediaSource for the content you wish to play. - MediaSource mediaSource = - mediaSourceFactory.createMediaSource(Uri.parse(getString(R.string.content_url))); - - // Create the AdsMediaSource using the AdsLoader and the MediaSource. - AdsMediaSource adsMediaSource = - new AdsMediaSource(mediaSource, dataSourceFactory, adsLoader, playerView); + Uri uri = Uri.parse(getString(R.string.content_url)); + MediaItem mediaItem = MediaItem.fromUri(uri); + DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this, getString(R.string.app_name)); + ProgressiveMediaSource.Factory mediaSourceFactory = new ProgressiveMediaSource.Factory(dataSourceFactory); + MediaSource mediaSource = mediaSourceFactory.createMediaSource(mediaItem); - // Prepare the content and ad to be played with the SimpleExoPlayer. - player.prepare(adsMediaSource); + DataSpec dataSpec = new DataSpec(adsUri); + AdsMediaSource adsMediaSource = new AdsMediaSource(mediaSource, dataSpec, "ad", mediaSourceFactory, adsLoader, playerView); - // Set PlayWhenReady. If true, content and ads autoplay. - player.setPlayWhenReady(false); + player.setMediaSource(adsMediaSource); + player.setPlayWhenReady(true); + player.prepare(); } @Override diff --git a/Example/PrebidDemoJava/src/main/java/org/prebid/mobile/app/XandrInstreamVideoGamActivity.java b/Example/PrebidDemoJava/src/main/java/org/prebid/mobile/app/XandrInstreamVideoGamActivity.java index 61343fbe9..48a29adc1 100644 --- a/Example/PrebidDemoJava/src/main/java/org/prebid/mobile/app/XandrInstreamVideoGamActivity.java +++ b/Example/PrebidDemoJava/src/main/java/org/prebid/mobile/app/XandrInstreamVideoGamActivity.java @@ -2,10 +2,9 @@ import android.net.Uri; import android.os.Bundle; - import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; - +import com.google.android.exoplayer2.MediaItem; import com.google.android.exoplayer2.SimpleExoPlayer; import com.google.android.exoplayer2.ext.ima.ImaAdsLoader; import com.google.android.exoplayer2.source.MediaSource; @@ -13,27 +12,32 @@ import com.google.android.exoplayer2.source.ads.AdsMediaSource; import com.google.android.exoplayer2.ui.PlayerView; import com.google.android.exoplayer2.upstream.DataSource; +import com.google.android.exoplayer2.upstream.DataSpec; import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; +import org.prebid.mobile.*; -import org.prebid.mobile.AdSize; -import org.prebid.mobile.AdUnit; -import org.prebid.mobile.Host; -import org.prebid.mobile.OnCompleteListener2; -import org.prebid.mobile.PrebidMobile; -import org.prebid.mobile.ResultCode; -import org.prebid.mobile.Signals; -import org.prebid.mobile.Util; -import org.prebid.mobile.VideoAdUnit; - -import java.util.Arrays; +import java.util.Collections; import java.util.HashSet; -import java.util.Map; + +import static org.prebid.mobile.Util.generateInstreamUriForGam; public class XandrInstreamVideoGamActivity extends AppCompatActivity { - AdUnit adUnit; + + VideoAdUnit adUnit; private PlayerView playerView; private SimpleExoPlayer player; private ImaAdsLoader adsLoader; + private Uri adsUri; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_instream_video); + playerView = findViewById(R.id.player_view); + + initPrebid(); + initVideoAdUnit(); + } @Override protected void onDestroy() { @@ -45,39 +49,29 @@ protected void onDestroy() { adsLoader.release(); } - @Override - protected void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_instream_video); - playerView = findViewById(R.id.player_view); - + private void initPrebid() { PrebidMobile.setPrebidServerHost(Host.APPNEXUS); PrebidMobile.setPrebidServerAccountId("aecd6ef7-b992-4e99-9bb8-65e2d984e1dd"); - VideoAdUnit.Parameters parameters = new VideoAdUnit.Parameters(); - parameters.setMimes(Arrays.asList("video/mp4")); - - parameters.setProtocols(Arrays.asList(Signals.Protocols.VAST_2_0)); - // parameters.setProtocols(Arrays.asList(new Signals.Protocols(2))); - - parameters.setPlaybackMethod(Arrays.asList(Signals.PlaybackMethod.AutoPlaySoundOff)); - // parameters.setPlaybackMethod(Arrays.asList(new Signals.PlaybackMethod(2))); + } + private void initVideoAdUnit() { + VideoAdUnit.Parameters parameters = new VideoAdUnit.Parameters(); + parameters.setMimes(Collections.singletonList("video/mp4")); + parameters.setProtocols(Collections.singletonList(Signals.Protocols.VAST_2_0)); + parameters.setPlaybackMethod(Collections.singletonList(Signals.PlaybackMethod.AutoPlaySoundOff)); parameters.setPlacement(Signals.Placement.InStream); - // parameters.setPlacement(new Signals.Placement(2)); - VideoAdUnit adUnit = new VideoAdUnit("2c0af852-a55d-49dc-a5ca-ef7e141f73cc", 300, 250); + adUnit = new VideoAdUnit("2c0af852-a55d-49dc-a5ca-ef7e141f73cc", 300, 250); adUnit.setParameters(parameters); - this.adUnit = adUnit; - // Create an AdsLoader with the ad tag url. - adUnit.fetchDemand(new OnCompleteListener2() { - @Override - public void onComplete(ResultCode resultCode, Map unmodifiableMap) { - HashSet sizes = new HashSet<>(); - sizes.add(new AdSize(640, 480)); - String uri = Util.generateInstreamUriForGam("/19968336/Punnaghai_Instream_Video1", sizes, unmodifiableMap); - adsLoader = new ImaAdsLoader(XandrInstreamVideoGamActivity.this, Uri.parse(uri)); - initializePlayer(); - } + adUnit.fetchDemand((resultCode, unmodifiableMap) -> { + HashSet sizes = new HashSet<>(); + sizes.add(new AdSize(640, 480)); + adsUri = Uri.parse(generateInstreamUriForGam("/19968336/Punnaghai_Instream_Video1", sizes, unmodifiableMap)); + + ImaAdsLoader.Builder imaBuilder = new ImaAdsLoader.Builder(XandrInstreamVideoGamActivity.this); + adsLoader = imaBuilder.build(); + + initializePlayer(); }); } @@ -96,30 +90,23 @@ private void releasePlayer() { } private void initializePlayer() { - // Create a SimpleExoPlayer and set is as the player for content and ads. - player = new SimpleExoPlayer.Builder(this).build(); + SimpleExoPlayer.Builder playerBuilder = new SimpleExoPlayer.Builder(this); + player = playerBuilder.build(); playerView.setPlayer(player); adsLoader.setPlayer(player); - DataSource.Factory dataSourceFactory = - new DefaultDataSourceFactory(this, getString(R.string.app_name)); - - ProgressiveMediaSource.Factory mediaSourceFactory = - new ProgressiveMediaSource.Factory(dataSourceFactory); - - // Create the MediaSource for the content you wish to play. - MediaSource mediaSource = - mediaSourceFactory.createMediaSource(Uri.parse(getString(R.string.content_url))); - - // Create the AdsMediaSource using the AdsLoader and the MediaSource. - AdsMediaSource adsMediaSource = - new AdsMediaSource(mediaSource, dataSourceFactory, adsLoader, playerView); + Uri uri = Uri.parse(getString(R.string.content_url)); + MediaItem mediaItem = MediaItem.fromUri(uri); + DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this, getString(R.string.app_name)); + ProgressiveMediaSource.Factory mediaSourceFactory = new ProgressiveMediaSource.Factory(dataSourceFactory); + MediaSource mediaSource = mediaSourceFactory.createMediaSource(mediaItem); - // Prepare the content and ad to be played with the SimpleExoPlayer. - player.prepare(adsMediaSource); + DataSpec dataSpec = new DataSpec(adsUri); + AdsMediaSource adsMediaSource = new AdsMediaSource(mediaSource, dataSpec, "ad", mediaSourceFactory, adsLoader, playerView); - // Set PlayWhenReady. If true, content and ads autoplay. - player.setPlayWhenReady(false); + player.setMediaSource(adsMediaSource); + player.setPlayWhenReady(true); + player.prepare(); } @Override diff --git a/Example/PrebidDemoKotlin/build.gradle b/Example/PrebidDemoKotlin/build.gradle index ec0f46665..d1b52801e 100644 --- a/Example/PrebidDemoKotlin/build.gradle +++ b/Example/PrebidDemoKotlin/build.gradle @@ -36,6 +36,11 @@ dependencies { implementation project(':PrebidMobile-gamEventHandlers') implementation project(':PrebidMobile-mopubAdapters') + // For testing staging releases +// implementation 'org.prebid:prebid-mobile-sdk:1.13.0-beta2' +// implementation 'org.prebid:prebid-mobile-sdk-gam-event-handlers:1.13.0-beta2' +// implementation 'org.prebid:prebid-mobile-sdk-mopub-adapters:1.13.0-beta2' + // Standard libraries implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'androidx.appcompat:appcompat:1.3.1' diff --git a/Example/PrebidInternalTestApp/build.gradle b/Example/PrebidInternalTestApp/build.gradle index 84a96e826..8ba5d578c 100644 --- a/Example/PrebidInternalTestApp/build.gradle +++ b/Example/PrebidInternalTestApp/build.gradle @@ -84,6 +84,11 @@ dependencies { implementation project(':PrebidMobile-gamEventHandlers') implementation project(':PrebidMobile-mopubAdapters') + // For testing staging releases +// implementation 'org.prebid:prebid-mobile-sdk:1.13.0-beta2' +// implementation 'org.prebid:prebid-mobile-sdk-gam-event-handlers:1.13.0-beta2' +// implementation 'org.prebid:prebid-mobile-sdk-mopub-adapters:1.13.0-beta2' + // Base dependencies implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'androidx.annotation:annotation:1.1.0' diff --git a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/DemandFetcher.java b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/DemandFetcher.java index 076301342..b3cf5a8a2 100644 --- a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/DemandFetcher.java +++ b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/DemandFetcher.java @@ -74,11 +74,15 @@ void setPeriodMillis(int periodMillis) { } void stop() { - this.requestRunnable.cancelRequest(); - this.fetcherHandler.removeCallbacks(requestRunnable); - // cancel existing requests - timePausedAt = System.currentTimeMillis(); - state = STATE.STOPPED; + if (state != STATE.DESTROYED) { + if (requestRunnable != null) { + this.requestRunnable.cancelRequest(); + } + this.fetcherHandler.removeCallbacks(requestRunnable); + // cancel existing requests + timePausedAt = System.currentTimeMillis(); + state = STATE.STOPPED; + } } void start() { diff --git a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/PrebidServerSettings.java b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/PrebidServerSettings.java index 40051c7e7..d36ee86dc 100644 --- a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/PrebidServerSettings.java +++ b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/PrebidServerSettings.java @@ -64,7 +64,7 @@ class PrebidServerSettings { static final String deviceModel = Build.MODEL; static final String os = "android"; static String userAgent = null; - static String sdk_version = "1.13.0-beta1"; + static String sdk_version = "1.13.0-beta2"; static String pkgVersion = ""; static String appName = ""; private static int mnc = -1; diff --git a/PrebidMobile/PrebidMobile-gamEventHandlers/build.gradle b/PrebidMobile/PrebidMobile-gamEventHandlers/build.gradle index 7c1e96001..93285791d 100644 --- a/PrebidMobile/PrebidMobile-gamEventHandlers/build.gradle +++ b/PrebidMobile/PrebidMobile-gamEventHandlers/build.gradle @@ -35,7 +35,7 @@ android { dependencies { implementation project(":PrebidMobile") - implementation 'com.google.android.gms:play-services-ads:20.0.0' + implementation 'com.google.android.gms:play-services-ads:20.4.0' testImplementation project(':TestUtils') diff --git a/PrebidMobile/PrebidMobile-rendering/.gitignore b/PrebidMobile/PrebidMobile-rendering/.gitignore index 42afabfd2..990baf917 100644 --- a/PrebidMobile/PrebidMobile-rendering/.gitignore +++ b/PrebidMobile/PrebidMobile-rendering/.gitignore @@ -1 +1,2 @@ -/build \ No newline at end of file +/build +out.map \ No newline at end of file diff --git a/PrebidMobile/PrebidMobile-rendering/build.gradle b/PrebidMobile/PrebidMobile-rendering/build.gradle index 955c4a8e3..a04d7de4d 100644 --- a/PrebidMobile/PrebidMobile-rendering/build.gradle +++ b/PrebidMobile/PrebidMobile-rendering/build.gradle @@ -79,8 +79,8 @@ dependencies { // Google play services implementation 'com.google.android.gms:play-services-base:17.6.0' implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0' - implementation 'com.google.android.exoplayer:exoplayer-core:2.11.0' - implementation 'com.google.android.exoplayer:exoplayer-ui:2.11.0' + implementation 'com.google.android.exoplayer:exoplayer-core:2.13.3' + implementation 'com.google.android.exoplayer:exoplayer-ui:2.13.3' implementation 'androidx.annotation:annotation:1.1.0' implementation project(path: ':omsdk-android') diff --git a/PrebidMobile/PrebidMobile-rendering/src/main/AndroidManifest.xml b/PrebidMobile/PrebidMobile-rendering/src/main/AndroidManifest.xml index 4a0fa6a23..189f40d44 100644 --- a/PrebidMobile/PrebidMobile-rendering/src/main/AndroidManifest.xml +++ b/PrebidMobile/PrebidMobile-rendering/src/main/AndroidManifest.xml @@ -23,8 +23,7 @@ - + diff --git a/build.gradle b/build.gradle index e5c60283e..1ff75655e 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. ext { - prebidVersionName = "1.13.0-beta1" + prebidVersionName = "1.13.0-beta2" prebidVersionCode = 1 minSDKVersion = 16 targetSDKVersion = 28 @@ -17,8 +17,7 @@ ext { buildscript { ext.kotlin_version = '1.3.50' repositories { -// mavenLocal() - jcenter() + mavenCentral() google() } @@ -32,12 +31,11 @@ buildscript { allprojects { repositories { -// mavenLocal() google() mavenCentral() - jcenter() // includes the MoPub SDK and AVID library -// maven { url "https://s3.amazonaws.com/moat-sdk-builds" } - maven { url 'https://maven.google.com' } // necessary for Android API 26 + maven { url 'https://maven.google.com' } maven { url 'https://jitpack.io' } + maven { url "https://oss.sonatype.org/content/repositories/orgprebid-1070" } + jcenter() // For PrebidDemoJava (old dependency to Mopub) } } \ No newline at end of file diff --git a/scripts/Maven/PrebidMobile-core-pom.xml b/scripts/Maven/PrebidMobile-core-pom.xml index 802230c54..ba1441e2e 100644 --- a/scripts/Maven/PrebidMobile-core-pom.xml +++ b/scripts/Maven/PrebidMobile-core-pom.xml @@ -6,7 +6,7 @@ org.prebid prebid-mobile-sdk-core - 1.13.0-beta1 + 1.13.0-beta2 jar Prebid Mobile Android SDK Prebid Mobile @@ -39,6 +39,13 @@ The Rubicon Project, Inc. https://rubiconproject.com + + + Postindustria AdTech Team + hello@postindustria.com + Postindustria LTD + https://postindustria.com/ + diff --git a/scripts/Maven/PrebidMobile-gamEventHandlers-pom.xml b/scripts/Maven/PrebidMobile-gamEventHandlers-pom.xml new file mode 100644 index 000000000..d63673cd2 --- /dev/null +++ b/scripts/Maven/PrebidMobile-gamEventHandlers-pom.xml @@ -0,0 +1,65 @@ + + + 4.0.0 + org.prebid + prebid-mobile-sdk-gam-event-handlers + 1.13.0-beta2 + + jar + Prebid Mobile Android SDK + Prebid Mobile + https://www.prebid.org + + + scm:git:git@github.com:prebid/prebid-mobile-android.git + scm:git:git@github.com:prebid/prebid-mobile-android.git + git@github.com:prebid/prebid-mobile-android.git + + + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + + AppNexus Mobile Team + sdk@appnexus.com + AppNexus, Inc. + http://www.appnexus.com + + + + RubiconProject Mobile Team + sdk@https://rubiconproject.com/ + The Rubicon Project, Inc. + https://rubiconproject.com + + + + Postindustria AdTech Team + hello@postindustria.com + Postindustria LTD + https://postindustria.com/ + + + + + + org.prebid + prebid-mobile-sdk + 1.13.0-beta2 + compile + + + com.google.android.gms + play-services-ads + 20.4.0 + compile + + + diff --git a/scripts/Maven/PrebidMobile-mopubAdapters-pom.xml b/scripts/Maven/PrebidMobile-mopubAdapters-pom.xml new file mode 100644 index 000000000..7a1841caa --- /dev/null +++ b/scripts/Maven/PrebidMobile-mopubAdapters-pom.xml @@ -0,0 +1,65 @@ + + + 4.0.0 + org.prebid + prebid-mobile-sdk-mopub-adapters + + 1.13.0-beta2 + jar + Prebid Mobile Android SDK + Prebid Mobile + https://www.prebid.org + + + scm:git:git@github.com:prebid/prebid-mobile-android.git + scm:git:git@github.com:prebid/prebid-mobile-android.git + git@github.com:prebid/prebid-mobile-android.git + + + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + + AppNexus Mobile Team + sdk@appnexus.com + AppNexus, Inc. + http://www.appnexus.com + + + + RubiconProject Mobile Team + sdk@https://rubiconproject.com/ + The Rubicon Project, Inc. + https://rubiconproject.com + + + + Postindustria AdTech Team + hello@postindustria.com + Postindustria LTD + https://postindustria.com/ + + + + + + org.prebid + prebid-mobile-sdk + 1.13.0-beta2 + compile + + + com.mopub + mopub-sdk + 5.17.0 + compile + + + diff --git a/scripts/Maven/PrebidMobile-open-measurement-pom.xml b/scripts/Maven/PrebidMobile-open-measurement-pom.xml index 5861e5c58..e833f1067 100644 --- a/scripts/Maven/PrebidMobile-open-measurement-pom.xml +++ b/scripts/Maven/PrebidMobile-open-measurement-pom.xml @@ -39,5 +39,12 @@ The Rubicon Project, Inc. https://rubiconproject.com + + + Postindustria AdTech Team + hello@postindustria.com + Postindustria LTD + https://postindustria.com/ + diff --git a/scripts/Maven/PrebidMobile-pom.xml b/scripts/Maven/PrebidMobile-pom.xml index 7d88fe992..c9a8a12d1 100644 --- a/scripts/Maven/PrebidMobile-pom.xml +++ b/scripts/Maven/PrebidMobile-pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.prebid prebid-mobile-sdk - 1.13.0-beta1 + 1.13.0-beta2 jar Prebid Mobile Android SDK @@ -39,6 +39,13 @@ The Rubicon Project, Inc. https://rubiconproject.com + + + Postindustria AdTech Team + hello@postindustria.com + Postindustria LTD + https://postindustria.com/ + @@ -51,13 +58,13 @@ org.prebid prebid-mobile-sdk-core - 1.13.0-beta1 + 1.13.0-beta2 compile org.prebid prebid-mobile-sdk-rendering - 1.13.0-beta1 + 1.13.0-beta2 compile diff --git a/scripts/Maven/PrebidMobile-rendering-pom.xml b/scripts/Maven/PrebidMobile-rendering-pom.xml index 0d7d38dae..9b2b969cc 100644 --- a/scripts/Maven/PrebidMobile-rendering-pom.xml +++ b/scripts/Maven/PrebidMobile-rendering-pom.xml @@ -7,8 +7,8 @@ org.prebid prebid-mobile-sdk-rendering - 1.13.0-beta1 - jar + 1.13.0-beta2 + aar Prebid Mobile Android SDK Prebid Mobile https://www.prebid.org @@ -40,6 +40,13 @@ The Rubicon Project, Inc. https://rubiconproject.com + + + Postindustria AdTech Team + hello@postindustria.com + Postindustria LTD + https://postindustria.com/ + @@ -58,13 +65,13 @@ com.google.android.exoplayer exoplayer-core - 2.11.0 + 2.13.3 compile com.google.android.exoplayer exoplayer-ui - 2.11.0 + 2.13.3 compile @@ -76,7 +83,7 @@ org.prebid prebid-mobile-sdk-open-measurement - 1.13.0-beta1 + 1.3.17 compile diff --git a/scripts/Maven/deployOpenMeasurement.sh b/scripts/Maven/deployOpenMeasurement.sh new file mode 100644 index 000000000..9880e9227 --- /dev/null +++ b/scripts/Maven/deployOpenMeasurement.sh @@ -0,0 +1,37 @@ +#! /bin/bash + +################################# +# This script deploys Open measurement SDK. It must be called only when +# omsdk-android module have a new version. +################################# + +function echoX() { + echo -e "PREBID DEPLOY-LOG: $@" +} + +# $1 - absolute pom path, $2 - absolute aar path, $3 - absolute source path, $4 - absolute javadoc path +function mavenDeploy() { + echoX "Deploying ${2} on Maven..." + + mvn gpg:sign-and-deploy-file "-DpomFile=${1}" "-Dfile=${2}" "-DrepositoryId=ossrh" "-Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/" "-DstagingRepositoryId=ossrh" "-Dsources=${3}" "-Djavadoc=${4}" || { + echoX "Deploy failed!" + echoX "End Script" + exit 1 + } + + echoX "Please complete the release process by promoting the jar at https://oss.sonatype.org/#stagingRepositories" +} + +BASE_DIR="$PWD" +DEPLOY_DIR_ABSOLUTE="$BASE_DIR/filesToDeploy" + +rm -r "$DEPLOY_DIR_ABSOLUTE" || true +mkdir "$DEPLOY_DIR_ABSOLUTE" + +cd .. +sh ./buildPrebidMobile.sh +cp -r ../generated/* "$DEPLOY_DIR_ABSOLUTE" || true + +mavenDeploy $"$BASE_DIR/PrebidMobile-open-measurement-pom.xml" $"$DEPLOY_DIR_ABSOLUTE/omsdk.jar" $"$BASE_DIR/stub.jar" $"$BASE_DIR/stub.jar" + +echoX "End Script" diff --git a/scripts/Maven/deployPrebidMobile.sh b/scripts/Maven/deployPrebidMobile.sh index 48c92b4fe..0082eb458 100755 --- a/scripts/Maven/deployPrebidMobile.sh +++ b/scripts/Maven/deployPrebidMobile.sh @@ -28,56 +28,34 @@ function mavenDeploy() { echoX "Please complete the release process by promoting the jar at https://oss.sonatype.org/#stagingRepositories" } -# $1 - absolute pom path, $2 - absolute aar path -function mavenDeployWithoutSources() { - echoX "Deploying ${2} on Maven..." - - mvn gpg:sign-and-deploy-file "-DpomFile=${1}" "-Dfile=${2}" "-DrepositoryId=ossrh" "-Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/" "-DstagingRepositoryId=ossrh" || { - echoX "Deploy failed!" - echoX "End Script" - exit 1 - } - - echoX "Please complete the release process by promoting the jar at https://oss.sonatype.org/#stagingRepositories" -} - BASE_DIR="$PWD" DEPLOY_DIR_NAME="filesToDeploy" DEPLOY_DIR_ABSOLUTE="$BASE_DIR/$DEPLOY_DIR_NAME" -rm -r $DEPLOY_DIR_ABSOLUTE || true -mkdir $DEPLOY_DIR_ABSOLUTE +rm -r "$DEPLOY_DIR_ABSOLUTE" || true +mkdir "$DEPLOY_DIR_ABSOLUTE" cd .. sh ./buildPrebidMobile.sh -cp -r ../generated/* $DEPLOY_DIR_ABSOLUTE || true +cp -r ../generated/* "$DEPLOY_DIR_ABSOLUTE" || true -modules=("PrebidMobile" "PrebidMobile-core" "PrebidMobile-rendering") +modules=("PrebidMobile" "PrebidMobile-core" "PrebidMobile-rendering" "PrebidMobile-gamEventHandlers" "PrebidMobile-mopubAdapters") +extensions=("jar" "jar" "aar" "jar" "jar") for n in ${!modules[@]}; do - ####### - # Start - ####### - echo -e "\n" echoX "Deploying ${modules[$n]} on Maven..." - ####### - # Deploy - ####### + extension="${extensions[$n]}" module="${modules[$n]}" - mavenDeploy $"$BASE_DIR/${module}-pom.xml" $"$DEPLOY_DIR_ABSOLUTE/${module}.jar" $"$DEPLOY_DIR_ABSOLUTE/${module}-sources.jar" $"$DEPLOY_DIR_ABSOLUTE/${module}-javadoc.jar" + if [ "$extension" == "aar" ]; then + compiledPath=$"$DEPLOY_DIR_ABSOLUTE/aar/${module}-release.aar" + else + compiledPath=$"$DEPLOY_DIR_ABSOLUTE/${module}.jar" + fi + mavenDeploy $"$BASE_DIR/${module}-pom.xml" "$compiledPath" $"$DEPLOY_DIR_ABSOLUTE/${module}-sources.jar" $"$DEPLOY_DIR_ABSOLUTE/${module}-javadoc.jar" - ####### - # End - ####### echoX "Please complete the release process by promoting the jar at https://oss.sonatype.org/#stagingRepositories" - done -####### -# Open measurement SDK -####### -mavenDeployWithoutSources $"PrebidMobile-open-measurement-pom.xml" $"$DEPLOY_DIR_ABSOLUTE/omsdk.jar" - echoX "End Script" diff --git a/scripts/Maven/stub.jar b/scripts/Maven/stub.jar new file mode 100644 index 000000000..18668fd55 Binary files /dev/null and b/scripts/Maven/stub.jar differ diff --git a/scripts/buildPrebidMobile.sh b/scripts/buildPrebidMobile.sh index cfc419d88..5e07e8ac9 100755 --- a/scripts/buildPrebidMobile.sh +++ b/scripts/buildPrebidMobile.sh @@ -79,13 +79,18 @@ modules=( "PrebidMobile" "PrebidMobile-core" "PrebidMobile-rendering" + "PrebidMobile-gamEventHandlers" + "PrebidMobile-mopubAdapters" ) projectPaths=( "$BASEDIR/PrebidMobile" "$BASEDIR/PrebidMobile/PrebidMobile-core" "$BASEDIR/PrebidMobile/PrebidMobile-rendering" + "$BASEDIR/PrebidMobile/PrebidMobile-gamEventHandlers" + "$BASEDIR/PrebidMobile/PrebidMobile-mopubAdapters" ) +mkdir "$OUTDIR/aar" for n in ${!modules[@]}; do echo -e "\n" @@ -103,6 +108,7 @@ for n in ${!modules[@]}; do AARPATH_ABSOLUTE="${projectPaths[$n]}/$AARPATH" cd $AARPATH_ABSOLUTE + cp ${modules[$n]}-release.aar $OUTDIR/aar unzip -q -o ${modules[$n]}-release.aar cd $TEMPDIR/output @@ -119,8 +125,14 @@ for n in ${!modules[@]}; do # move META-INF into a result direcotory mv $AARPATH_ABSOLUTE/META-INF $TEMPDIR/output + rm -r $TEMPDIR/output/META-INF/com + # Creating a JAR File - jar cf ${modules[$n]}.jar org* META-INF* + if [ "${modules[$n]}" == "PrebidMobile-mopubAdapters" ]; then + jar cf ${modules[$n]}.jar org* com* META-INF* + else + jar cf ${modules[$n]}.jar org* META-INF* + fi # move jar into a result direcotory mv ${modules[$n]}.jar $OUTDIR