├── .editorconfig ├── .gitignore ├── .ruby-version ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── ar │ └── AndroidManifest.xml │ └── main │ ├── AndroidManifest.xml │ ├── ic_launcher-playstore.png │ ├── java │ └── com │ │ └── unity3d │ │ └── ads │ │ └── example │ │ ├── UnityAdsTestApp.java │ │ └── ui │ │ └── main │ │ ├── SectionsPagerAdapter.java │ │ └── UnityAdsFragment.java │ └── res │ ├── drawable │ ├── ic_launcher_background.xml │ ├── ic_launcher_foreground.xml │ ├── unityads_example_background.xml │ └── unityads_logo.png │ ├── layout │ ├── activity_unity_ads_test_app.xml │ └── fragment_unity_ads.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── values-w820dp │ └── dimens.xml │ └── values │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml ├── build.gradle ├── dokka.gradle ├── fatAar.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── nexusPublishing.gradle ├── qodana.yml ├── settings.gradle ├── unity-ads ├── .gitignore ├── artifactory.gradle ├── build.gradle ├── proguard-rules.pro ├── publishing.gradle └── src │ ├── androidTest │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── unity3d │ │ ├── ads │ │ └── test │ │ │ ├── EnvironmentTestSuite.java │ │ │ ├── HybridTestSuite.java │ │ │ ├── InstrumentationTestSuite.java │ │ │ ├── IntegrationTestSuite.java │ │ │ ├── LegacyTestSuite.java │ │ │ ├── TestUtilities.java │ │ │ ├── environment │ │ │ └── EnvironmentTest.java │ │ │ ├── hybrid │ │ │ ├── HybridTest.java │ │ │ ├── HybridTestActivity.java │ │ │ └── HybridTestModuleConfiguration.java │ │ │ ├── instrumentation │ │ │ ├── InstrumentationTestActivity.java │ │ │ └── services │ │ │ │ ├── ads │ │ │ │ ├── gmascar │ │ │ │ │ ├── GMAScarAdapterBridgeTest.java │ │ │ │ │ ├── GmaScarTestSuite.java │ │ │ │ │ ├── adapters │ │ │ │ │ │ └── ScarAdapterFactoryTest.java │ │ │ │ │ ├── bridges │ │ │ │ │ │ ├── AdapterStatusBridgeTest.java │ │ │ │ │ │ ├── InitializationStatusBridgeTest.java │ │ │ │ │ │ ├── InitializeListenerBridgeTest.java │ │ │ │ │ │ ├── MobileAdsBridgeLegacyTest.java │ │ │ │ │ │ └── MobileAdsBridgeTest.java │ │ │ │ │ ├── finder │ │ │ │ │ │ ├── GMAInitializerTest.java │ │ │ │ │ │ ├── PresenceDetectorTest.java │ │ │ │ │ │ └── ScarVersionFinderTest.java │ │ │ │ │ ├── handlers │ │ │ │ │ │ ├── BiddingSignalsHandlerTest.java │ │ │ │ │ │ ├── ScarBannerAdHandlerTest.java │ │ │ │ │ │ ├── ScarInterstitialAdHandlerTest.java │ │ │ │ │ │ └── ScarRewardedAdHandlerTest.java │ │ │ │ │ └── managers │ │ │ │ │ │ ├── BiddingBaseManagerTest.java │ │ │ │ │ │ └── BiddingEagerManagerTest.java │ │ │ │ ├── operation │ │ │ │ │ ├── AdOperationTests.java │ │ │ │ │ ├── BaseLoadModuleTests.java │ │ │ │ │ ├── LoadBannerModuleTests.java │ │ │ │ │ ├── LoadModuleDecoratorInitializationBufferTests.java │ │ │ │ │ ├── LoadModuleDecoratorTests.java │ │ │ │ │ ├── LoadModuleDecoratorTimeoutTests.java │ │ │ │ │ ├── LoadModuleTests.java │ │ │ │ │ ├── LoadOperationTests.java │ │ │ │ │ ├── OperationTestUtilities.java │ │ │ │ │ ├── ShowModuleDecoratorTimeoutTests.java │ │ │ │ │ └── ShowModuleTests.java │ │ │ │ └── webplayer │ │ │ │ │ ├── WebPlayerViewCacheTest.java │ │ │ │ │ └── WebPlayerViewSettingsCacheTest.java │ │ │ │ ├── banners │ │ │ │ ├── BannerErrorInfoTest.java │ │ │ │ └── BannerViewCacheTests.java │ │ │ │ ├── core │ │ │ │ ├── configuration │ │ │ │ │ └── InitializationNotificationCenterTest.java │ │ │ │ ├── device │ │ │ │ │ ├── DeviceInfoDataFactoryTest.java │ │ │ │ │ ├── DeviceInfoReaderBuilderTest.java │ │ │ │ │ ├── DeviceInfoReaderCompressorTest.java │ │ │ │ │ ├── DeviceInfoReaderExtendedTest.java │ │ │ │ │ ├── DeviceInfoReaderFilterProviderTest.java │ │ │ │ │ ├── DeviceInfoReaderPrivacyBuilderTest.java │ │ │ │ │ ├── DeviceInfoReaderWithExtrasTest.java │ │ │ │ │ ├── DeviceInfoReaderWithFilterTest.java │ │ │ │ │ ├── DeviceInfoReaderWithNonBehavioralFlagTest.java │ │ │ │ │ ├── DeviceInfoReaderWithPrivacyTest.java │ │ │ │ │ ├── DeviceInfoReaderWithRequestTypeTest.java │ │ │ │ │ ├── DeviceInfoReaderWithSessionIdTest.java │ │ │ │ │ ├── DeviceInfoReaderWithStorageInfoTest.java │ │ │ │ │ ├── GameSessionIdReaderTest.java │ │ │ │ │ ├── InMemoryAsyncTokenStorageTest.java │ │ │ │ │ ├── MinimalDeviceInfoReaderTest.java │ │ │ │ │ ├── NativeTokenGeneratorTest.java │ │ │ │ │ └── NativeTokenGeneratorWithPrivacyAwaitTest.java │ │ │ │ ├── misc │ │ │ │ │ └── IntervalTimerTest.java │ │ │ │ └── webview │ │ │ │ │ ├── WebViewUrlBuilderTest.java │ │ │ │ │ └── bridge │ │ │ │ │ ├── WebViewBridgeSharedObjectTests.java │ │ │ │ │ └── invocation │ │ │ │ │ └── WebViewBridgeInvocationRunnableTests.java │ │ │ │ └── store │ │ │ │ └── gpbl │ │ │ │ └── bridges │ │ │ │ └── PurchasesResultBridgeTest.java │ │ │ ├── integration │ │ │ ├── SDKMetricsTest.java │ │ │ └── banner │ │ │ │ └── BannerIntegrationTest.java │ │ │ └── legacy │ │ │ ├── AdUnitActivityTest.java │ │ │ ├── AdUnitActivityTestBaseClass.java │ │ │ ├── AdvertisingIdentifierTest.java │ │ │ ├── BroadcastTest.java │ │ │ ├── CacheTest.java │ │ │ ├── ClientPropertiesTest.java │ │ │ ├── ConfigurationTest.java │ │ │ ├── ConnectivityTest.java │ │ │ ├── DeviceTest.java │ │ │ ├── EnvironmentCheckTest.java │ │ │ ├── EventIdTest.java │ │ │ ├── InMemoryTokenStorageTest.java │ │ │ ├── InitializeThreadTest.java │ │ │ ├── InvocationTest.java │ │ │ ├── LifecycleListenerTest.java │ │ │ ├── LifecycleListenerTestActivity.java │ │ │ ├── LifecycleListenerTestBaseActivity.java │ │ │ ├── MetaDataTest.java │ │ │ ├── NativeCallbackTest.java │ │ │ ├── OpenAdvertisingIdentifierTest.java │ │ │ ├── PreferencesTest.java │ │ │ ├── PublicApiTest.java │ │ │ ├── RequestTest.java │ │ │ ├── SdkPropertiesTest.java │ │ │ ├── SensorInfoTest.java │ │ │ ├── StorageDiskTest.java │ │ │ ├── StorageGeneralTest.java │ │ │ ├── StorageMemoryTest.java │ │ │ ├── TestActivity.java │ │ │ ├── UtilitiesTest.java │ │ │ ├── VideoViewTest.java │ │ │ ├── VolumeChangeContentObserverTest.java │ │ │ ├── WebPlayerViewTest.java │ │ │ ├── WebRequestThreadPoolTest.java │ │ │ ├── WebViewAppTest.java │ │ │ ├── WebViewBridgeInterfaceTest.java │ │ │ ├── WebViewBridgeTest.java │ │ │ └── WebViewCallbackTest.java │ │ └── services │ │ ├── analytics │ │ ├── AcquisitionTypeTest.java │ │ ├── UnityAnalyticsTest.java │ │ └── mocks │ │ │ └── UnityAnalyticsMock.java │ │ └── core │ │ ├── request │ │ └── metrics │ │ │ └── MetricCommonTagsTest.java │ │ └── timer │ │ └── BaseTimerTest.java │ ├── main │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── unity3d │ │ ├── ads │ │ ├── IUnityAdsInitializationListener.java │ │ ├── IUnityAdsLoadListener.java │ │ ├── IUnityAdsShowListener.java │ │ ├── IUnityAdsTokenListener.java │ │ ├── UnityAds.java │ │ ├── UnityAdsBaseOptions.java │ │ ├── UnityAdsLoadOptions.java │ │ ├── UnityAdsShowOptions.java │ │ └── metadata │ │ │ ├── InAppPurchaseMetaData.java │ │ │ ├── MediationMetaData.java │ │ │ ├── MetaData.java │ │ │ └── PlayerMetaData.java │ │ └── services │ │ ├── SDKErrorHandler.kt │ │ ├── UnityAdsSDK.kt │ │ ├── UnityServices.kt │ │ ├── ads │ │ ├── IUnityAds.java │ │ ├── UnityAdsImplementation.java │ │ ├── adunit │ │ │ ├── AdUnitActivity.java │ │ │ ├── AdUnitActivityController.java │ │ │ ├── AdUnitError.java │ │ │ ├── AdUnitEvent.java │ │ │ ├── AdUnitMotionEvent.java │ │ │ ├── AdUnitOpen.java │ │ │ ├── AdUnitRelativeLayout.java │ │ │ ├── AdUnitSoftwareActivity.java │ │ │ ├── AdUnitTransparentActivity.java │ │ │ ├── AdUnitTransparentActivityController.java │ │ │ ├── AdUnitTransparentSoftwareActivity.java │ │ │ ├── AdUnitViewHandlerFactory.java │ │ │ ├── IAdUnitActivity.java │ │ │ ├── IAdUnitViewHandler.java │ │ │ ├── IAdUnitViewHandlerFactory.java │ │ │ ├── PermissionsEvent.java │ │ │ ├── VideoPlayerHandler.java │ │ │ ├── WebPlayerHandler.java │ │ │ └── WebViewHandler.java │ │ ├── api │ │ │ ├── AdUnit.java │ │ │ ├── GMAScar.java │ │ │ ├── Load.java │ │ │ ├── Measurements.java │ │ │ ├── Show.java │ │ │ ├── Token.java │ │ │ ├── Topics.java │ │ │ ├── VideoPlayer.java │ │ │ └── WebPlayer.java │ │ ├── configuration │ │ │ ├── AdsModuleConfiguration.java │ │ │ └── IAdsModuleConfiguration.java │ │ ├── gmascar │ │ │ ├── GMA.java │ │ │ ├── GMAScarAdapterBridge.java │ │ │ ├── adapters │ │ │ │ └── ScarAdapterFactory.java │ │ │ ├── bridges │ │ │ │ ├── AdapterStatusBridge.java │ │ │ │ ├── AdapterStatusStateBridge.java │ │ │ │ ├── InitializationStatusBridge.java │ │ │ │ ├── InitializeListenerBridge.java │ │ │ │ └── mobileads │ │ │ │ │ ├── IMobileAdsBridge.java │ │ │ │ │ ├── MobileAdsBridge.java │ │ │ │ │ ├── MobileAdsBridgeBase.java │ │ │ │ │ ├── MobileAdsBridgeFactory.java │ │ │ │ │ └── MobileAdsBridgeLegacy.java │ │ │ ├── finder │ │ │ │ ├── GMAInitializer.java │ │ │ │ ├── PresenceDetector.java │ │ │ │ ├── ScarAdapterVersion.java │ │ │ │ └── ScarVersionFinder.java │ │ │ ├── handlers │ │ │ │ ├── BiddingSignalsHandler.java │ │ │ │ ├── ScarAdHandlerBase.java │ │ │ │ ├── ScarBannerAdHandler.java │ │ │ │ ├── ScarInterstitialAdHandler.java │ │ │ │ ├── ScarRewardedAdHandler.java │ │ │ │ ├── SignalsHandler.java │ │ │ │ └── WebViewErrorHandler.java │ │ │ ├── listeners │ │ │ │ ├── IBiddingSignalsListener.java │ │ │ │ └── IInitializationStatusListener.java │ │ │ ├── managers │ │ │ │ ├── BiddingBaseManager.java │ │ │ │ ├── BiddingDisabledManager.java │ │ │ │ ├── BiddingEagerManager.java │ │ │ │ ├── BiddingManagerFactory.java │ │ │ │ └── IBiddingManager.java │ │ │ ├── models │ │ │ │ └── BiddingSignals.java │ │ │ └── utils │ │ │ │ ├── GMAEventSender.java │ │ │ │ ├── ScarConstants.java │ │ │ │ └── ScarRequestHandler.java │ │ ├── measurements │ │ │ ├── MeasurementErrors.kt │ │ │ ├── MeasurementEvents.kt │ │ │ ├── MeasurementsReceiver.kt │ │ │ ├── MeasurementsService.kt │ │ │ └── MeasurementsStatusReceiver.kt │ │ ├── operation │ │ │ ├── AdModule.java │ │ │ ├── AdOperation.java │ │ │ ├── IAdModule.java │ │ │ ├── IAdOperation.java │ │ │ ├── OperationState.java │ │ │ ├── load │ │ │ │ ├── BaseLoadModule.java │ │ │ │ ├── ILoadModule.java │ │ │ │ ├── ILoadOperation.java │ │ │ │ ├── LoadBannerModule.java │ │ │ │ ├── LoadBannerOperationState.java │ │ │ │ ├── LoadModule.java │ │ │ │ ├── LoadModuleDecorator.java │ │ │ │ ├── LoadModuleDecoratorInitializationBuffer.java │ │ │ │ ├── LoadModuleDecoratorTimeout.java │ │ │ │ ├── LoadOperation.java │ │ │ │ └── LoadOperationState.java │ │ │ └── show │ │ │ │ ├── IShowModule.java │ │ │ │ ├── IShowOperation.java │ │ │ │ ├── ShowModule.java │ │ │ │ ├── ShowModuleDecorator.java │ │ │ │ ├── ShowModuleDecoratorTimeout.java │ │ │ │ ├── ShowOperation.java │ │ │ │ └── ShowOperationState.java │ │ ├── token │ │ │ ├── AsyncTokenStorage.kt │ │ │ ├── INativeTokenGenerator.java │ │ │ ├── INativeTokenGeneratorListener.java │ │ │ ├── InMemoryAsyncTokenStorage.java │ │ │ ├── InMemoryTokenStorage.kt │ │ │ ├── NativeTokenGenerator.java │ │ │ ├── NativeTokenGeneratorWithPrivacyAwait.java │ │ │ ├── TokenError.java │ │ │ ├── TokenEvent.java │ │ │ └── TokenStorage.kt │ │ ├── topics │ │ │ ├── TopicsErrors.kt │ │ │ ├── TopicsEvents.kt │ │ │ ├── TopicsReceiver.kt │ │ │ ├── TopicsService.kt │ │ │ └── TopicsStatus.kt │ │ ├── video │ │ │ ├── VideoPlayerError.java │ │ │ ├── VideoPlayerEvent.java │ │ │ └── VideoPlayerView.java │ │ └── webplayer │ │ │ ├── WebPlayerBridgeInterface.java │ │ │ ├── WebPlayerError.java │ │ │ ├── WebPlayerEvent.java │ │ │ ├── WebPlayerEventBridge.java │ │ │ ├── WebPlayerSettingsCache.java │ │ │ ├── WebPlayerView.java │ │ │ └── WebPlayerViewCache.java │ │ ├── analytics │ │ ├── AcquisitionType.java │ │ ├── UnityAnalytics.java │ │ ├── core │ │ │ ├── api │ │ │ │ └── Analytics.java │ │ │ └── configuration │ │ │ │ └── AnalyticsModuleConfiguration.java │ │ └── interfaces │ │ │ ├── Analytics.java │ │ │ ├── AnalyticsError.java │ │ │ └── IAnalytics.java │ │ ├── banners │ │ ├── BannerErrorCode.java │ │ ├── BannerErrorInfo.java │ │ ├── BannerView.java │ │ ├── BannerViewCache.java │ │ ├── IUnityBannerListener.java │ │ ├── UnityBannerSize.kt │ │ ├── UnityBanners.java │ │ ├── api │ │ │ ├── Banner.java │ │ │ └── BannerListener.java │ │ ├── bridge │ │ │ └── BannerBridge.java │ │ ├── configuration │ │ │ └── BannersModuleConfiguration.java │ │ ├── properties │ │ │ └── BannerRefreshInfo.java │ │ └── view │ │ │ ├── BannerPosition.java │ │ │ ├── BannerWebPlayerContainer.java │ │ │ └── ScarBannerContainer.java │ │ ├── core │ │ ├── api │ │ │ ├── Broadcast.java │ │ │ ├── Cache.java │ │ │ ├── ClassDetection.java │ │ │ ├── Connectivity.java │ │ │ ├── DeviceInfo.java │ │ │ ├── DownloadLatestWebViewStatus.java │ │ │ ├── Intent.java │ │ │ ├── Lifecycle.java │ │ │ ├── Permissions.java │ │ │ ├── Preferences.java │ │ │ ├── Request.java │ │ │ ├── Resolve.java │ │ │ ├── Sdk.java │ │ │ ├── SensorInfo.java │ │ │ └── Storage.java │ │ ├── broadcast │ │ │ ├── BroadcastError.java │ │ │ ├── BroadcastEvent.java │ │ │ ├── BroadcastEventReceiver.java │ │ │ └── BroadcastMonitor.java │ │ ├── cache │ │ │ ├── CacheDirectory.java │ │ │ ├── CacheDirectoryType.java │ │ │ ├── CacheError.java │ │ │ ├── CacheEvent.java │ │ │ ├── CacheEventSender.kt │ │ │ ├── CacheThread.java │ │ │ └── CacheThreadHandler.java │ │ ├── configuration │ │ │ ├── AdsSdkInitializer.kt │ │ │ ├── Configuration.java │ │ │ ├── ConfigurationFailure.java │ │ │ ├── ConfigurationLoader.java │ │ │ ├── ConfigurationReader.java │ │ │ ├── ConfigurationRequestFactory.java │ │ │ ├── CoreModuleConfiguration.java │ │ │ ├── EnvironmentCheck.java │ │ │ ├── ErrorState.java │ │ │ ├── ExperimentAppliedRule.java │ │ │ ├── ExperimentObject.java │ │ │ ├── ExperimentObjects.java │ │ │ ├── Experiments.java │ │ │ ├── ExperimentsBase.java │ │ │ ├── ExperimentsReader.java │ │ │ ├── IConfigurationLoader.java │ │ │ ├── IConfigurationLoaderListener.java │ │ │ ├── IExperiments.java │ │ │ ├── IInitializationListener.java │ │ │ ├── IInitializationNotificationCenter.java │ │ │ ├── IInitializeEventsMetricSender.java │ │ │ ├── IModuleConfiguration.java │ │ │ ├── IPrivacyConfigurationListener.java │ │ │ ├── InitRequestType.java │ │ │ ├── InitializationNotificationCenter.java │ │ │ ├── InitializeEventsMetricSender.java │ │ │ ├── InitializeThread.java │ │ │ ├── PrivacyCallError.kt │ │ │ ├── PrivacyConfig.java │ │ │ ├── PrivacyConfigStatus.java │ │ │ ├── PrivacyConfigStorage.java │ │ │ └── PrivacyConfigurationLoader.java │ │ ├── connectivity │ │ │ ├── ConnectivityChangeReceiver.java │ │ │ ├── ConnectivityEvent.java │ │ │ ├── ConnectivityMonitor.java │ │ │ ├── ConnectivityNetworkCallback.java │ │ │ └── IConnectivityListener.java │ │ ├── device │ │ │ ├── AdvertisingId.java │ │ │ ├── Device.java │ │ │ ├── DeviceError.java │ │ │ ├── DeviceInfoEvent.kt │ │ │ ├── MimeTypes.java │ │ │ ├── OpenAdvertisingId.java │ │ │ ├── Storage.java │ │ │ ├── StorageError.java │ │ │ ├── StorageEvent.java │ │ │ ├── StorageManager.java │ │ │ ├── TokenType.java │ │ │ ├── VolumeChange.kt │ │ │ ├── VolumeChangeContentObserver.kt │ │ │ ├── VolumeChangeListener.kt │ │ │ ├── VolumeChangeMonitor.kt │ │ │ └── reader │ │ │ │ ├── DeviceInfoDataFactory.java │ │ │ │ ├── DeviceInfoReaderCompressor.java │ │ │ │ ├── DeviceInfoReaderCompressorWithMetrics.java │ │ │ │ ├── DeviceInfoReaderExtended.java │ │ │ │ ├── DeviceInfoReaderFilterProvider.java │ │ │ │ ├── DeviceInfoReaderWithAuid.kt │ │ │ │ ├── DeviceInfoReaderWithBehavioralFlag.java │ │ │ │ ├── DeviceInfoReaderWithExtras.java │ │ │ │ ├── DeviceInfoReaderWithFilter.java │ │ │ │ ├── DeviceInfoReaderWithLifecycle.java │ │ │ │ ├── DeviceInfoReaderWithMetrics.java │ │ │ │ ├── DeviceInfoReaderWithPrivacy.java │ │ │ │ ├── DeviceInfoReaderWithRequestType.java │ │ │ │ ├── DeviceInfoReaderWithSessionId.java │ │ │ │ ├── DeviceInfoReaderWithStorageInfo.java │ │ │ │ ├── GameSessionIdReader.java │ │ │ │ ├── HdrInfoReader.java │ │ │ │ ├── IDeviceInfoDataCompressor.java │ │ │ │ ├── IDeviceInfoDataContainer.java │ │ │ │ ├── IDeviceInfoReader.java │ │ │ │ ├── IGameSessionIdReader.java │ │ │ │ ├── IHdrInfoReader.java │ │ │ │ ├── JsonStorageKeyNames.java │ │ │ │ ├── MinimalDeviceInfoReader.java │ │ │ │ ├── builder │ │ │ │ ├── DeviceInfoReaderBuilder.java │ │ │ │ ├── DeviceInfoReaderBuilderWithExtras.java │ │ │ │ └── DeviceInfoReaderPrivacyBuilder.java │ │ │ │ └── pii │ │ │ │ ├── NonBehavioralFlag.kt │ │ │ │ ├── NonBehavioralFlagReader.kt │ │ │ │ ├── PiiDataProvider.java │ │ │ │ ├── PiiPrivacyMode.java │ │ │ │ └── PiiTrackingStatusReader.java │ │ ├── di │ │ │ ├── IServiceComponent.kt │ │ │ ├── IServiceProvider.kt │ │ │ ├── IServicesRegistry.kt │ │ │ ├── ServiceComponent.kt │ │ │ ├── ServiceFactory.kt │ │ │ ├── ServiceKey.kt │ │ │ ├── ServiceProvider.kt │ │ │ └── ServicesRegistry.kt │ │ ├── domain │ │ │ ├── ISDKDispatchers.kt │ │ │ ├── ResultExtensions.kt │ │ │ ├── SDKDispatchers.kt │ │ │ └── task │ │ │ │ ├── BaseParams.kt │ │ │ │ ├── BaseTask.kt │ │ │ │ ├── ConfigFileFromLocalStorage.kt │ │ │ │ ├── EmptyParams.kt │ │ │ │ ├── InitializationException.kt │ │ │ │ ├── InitializeSDK.kt │ │ │ │ ├── InitializeStateComplete.kt │ │ │ │ ├── InitializeStateConfig.kt │ │ │ │ ├── InitializeStateConfigWithLoader.kt │ │ │ │ ├── InitializeStateCreate.kt │ │ │ │ ├── InitializeStateCreateWithRemote.kt │ │ │ │ ├── InitializeStateError.kt │ │ │ │ ├── InitializeStateLoadCache.kt │ │ │ │ ├── InitializeStateLoadWeb.kt │ │ │ │ ├── InitializeStateNetworkError.kt │ │ │ │ ├── InitializeStateReset.kt │ │ │ │ └── MetricTask.kt │ │ ├── extensions │ │ │ ├── CoroutineExtensions.kt │ │ │ └── TaskExtensions.kt │ │ ├── lifecycle │ │ │ ├── CachedLifecycle.java │ │ │ ├── IAppActiveListener.java │ │ │ ├── IAppEventListener.java │ │ │ ├── LifecycleCache.java │ │ │ ├── LifecycleError.java │ │ │ ├── LifecycleEvent.java │ │ │ └── LifecycleListener.java │ │ ├── log │ │ │ ├── DeviceLog.java │ │ │ ├── DeviceLogEntry.java │ │ │ └── DeviceLogLevel.java │ │ ├── misc │ │ │ ├── EventSubject.java │ │ │ ├── IEventListener.java │ │ │ ├── IJsonStorageReader.java │ │ │ ├── IObserver.java │ │ │ ├── JsonFlattener.java │ │ │ ├── JsonFlattenerRules.java │ │ │ ├── JsonStorage.java │ │ │ ├── JsonStorageAggregator.java │ │ │ ├── Observable.java │ │ │ ├── Utilities.java │ │ │ └── ViewUtilities.java │ │ ├── network │ │ │ ├── core │ │ │ │ ├── CronetInitializer.kt │ │ │ │ ├── HttpClient.kt │ │ │ │ ├── LegacyHttpClient.kt │ │ │ │ └── OkHttp3Client.kt │ │ │ ├── mapper │ │ │ │ ├── HttpRequestToOkHttpRequest.kt │ │ │ │ ├── HttpRequestToWebRequest.kt │ │ │ │ └── WebRequestToHttpRequest.kt │ │ │ └── model │ │ │ │ ├── BodyType.kt │ │ │ │ ├── HttpRequest.kt │ │ │ │ ├── HttpResponse.kt │ │ │ │ └── RequestType.kt │ │ ├── preferences │ │ │ ├── AndroidPreferences.java │ │ │ └── PreferencesError.java │ │ ├── properties │ │ │ ├── ClientProperties.java │ │ │ ├── InitializationStatusReader.java │ │ │ ├── MadeWithUnityDetector.java │ │ │ ├── SdkProperties.java │ │ │ ├── Session.kt │ │ │ └── SessionIdReader.kt │ │ ├── reflection │ │ │ ├── GenericBridge.java │ │ │ └── GenericListenerProxy.java │ │ ├── request │ │ │ ├── CancelableThreadPoolExecutor.java │ │ │ ├── IResolveHostListener.java │ │ │ ├── IWebRequestListener.java │ │ │ ├── IWebRequestProgressListener.java │ │ │ ├── NetworkIOException.java │ │ │ ├── ResolveHostError.java │ │ │ ├── ResolveHostEvent.java │ │ │ ├── WebRequest.java │ │ │ ├── WebRequestError.java │ │ │ ├── WebRequestEvent.java │ │ │ ├── WebRequestRunnable.java │ │ │ ├── WebRequestThread.java │ │ │ └── metrics │ │ │ │ ├── AdOperationError.java │ │ │ │ ├── AdOperationMetric.java │ │ │ │ ├── InitMetric.java │ │ │ │ ├── Metric.kt │ │ │ │ ├── MetricCommonTags.java │ │ │ │ ├── MetricSender.kt │ │ │ │ ├── MetricSenderBase.kt │ │ │ │ ├── MetricSenderWithBatch.kt │ │ │ │ ├── MetricsContainer.kt │ │ │ │ ├── SDKMetrics.java │ │ │ │ ├── SDKMetricsSender.kt │ │ │ │ ├── ScarMetric.java │ │ │ │ └── TSIMetric.java │ │ ├── sensorinfo │ │ │ ├── SensorInfoError.java │ │ │ └── SensorInfoListener.java │ │ ├── timer │ │ │ ├── BaseTimer.java │ │ │ ├── DefaultIntervalTimerFactory.java │ │ │ ├── IBaseTimer.java │ │ │ ├── IIntervalTimer.java │ │ │ ├── IIntervalTimerFactory.java │ │ │ ├── IIntervalTimerListener.java │ │ │ ├── ITimerListener.java │ │ │ └── IntervalTimer.java │ │ └── webview │ │ │ ├── WebView.kt │ │ │ ├── WebViewApp.java │ │ │ ├── WebViewEventCategory.java │ │ │ ├── WebViewMetric.kt │ │ │ ├── WebViewUrlBuilder.java │ │ │ ├── WebViewWithCache.java │ │ │ └── bridge │ │ │ ├── CallbackStatus.java │ │ │ ├── IEventSender.kt │ │ │ ├── IInvocationCallbackInvoker.kt │ │ │ ├── INativeCallbackSubject.kt │ │ │ ├── IWebViewBridge.kt │ │ │ ├── IWebViewBridgeInvoker.java │ │ │ ├── IWebViewBridgeSharedObjectStore.java │ │ │ ├── IWebViewSharedObject.java │ │ │ ├── Invocation.java │ │ │ ├── NativeCallback.java │ │ │ ├── SharedInstances.kt │ │ │ ├── WebViewBridge.java │ │ │ ├── WebViewBridgeError.java │ │ │ ├── WebViewBridgeInterface.kt │ │ │ ├── WebViewBridgeInvoker.java │ │ │ ├── WebViewBridgeSharedObjectStore.java │ │ │ ├── WebViewCallback.java │ │ │ ├── WebViewExposed.java │ │ │ └── invocation │ │ │ ├── IWebViewBridgeInvocation.java │ │ │ ├── IWebViewBridgeInvocationCallback.java │ │ │ ├── WebViewBridgeInvocation.java │ │ │ ├── WebViewBridgeInvocationRunnable.java │ │ │ └── WebViewBridgeInvocationSingleThreadedExecutor.java │ │ └── store │ │ ├── StoreError.java │ │ ├── StoreEvent.java │ │ ├── StoreMonitor.java │ │ ├── core │ │ ├── StoreExceptionHandler.java │ │ ├── StoreLifecycleListener.java │ │ ├── StoreWebViewError.java │ │ ├── api │ │ │ └── Store.java │ │ └── configuration │ │ │ └── StoreModuleConfiguration.java │ │ ├── gpbl │ │ ├── BillingResultResponseCode.java │ │ ├── IBillingClientStateListener.java │ │ ├── IBillingResponse.java │ │ ├── StoreBilling.java │ │ ├── bridges │ │ │ ├── BillingResultBridge.java │ │ │ ├── CommonJsonResponseBridge.java │ │ │ ├── PurchaseBridge.java │ │ │ ├── PurchaseHistoryRecordBridge.java │ │ │ ├── PurchasesResultBridge.java │ │ │ ├── SkuDetailsBridge.java │ │ │ ├── SkuDetailsParamsBridge.java │ │ │ └── billingclient │ │ │ │ ├── BillingClientBuilderFactory.java │ │ │ │ ├── IBillingClient.java │ │ │ │ ├── IBillingClientBuilderBridge.java │ │ │ │ ├── common │ │ │ │ ├── BillingClientBridgeCommon.java │ │ │ │ └── BillingClientBuilderBridgeCommon.java │ │ │ │ ├── v3 │ │ │ │ └── BillingClientBridge.java │ │ │ │ └── v4 │ │ │ │ └── BillingClientBridge.java │ │ └── proxies │ │ │ ├── BillingClientStateListenerProxy.java │ │ │ ├── PurchaseHistoryResponseListenerProxy.java │ │ │ ├── PurchaseUpdatedListenerProxy.java │ │ │ ├── PurchasesResponseListenerProxy.java │ │ │ └── SkuDetailsResponseListenerProxy.java │ │ └── listeners │ │ ├── IBillingDataResponseListener.java │ │ ├── IPurchaseHistoryResponseListener.java │ │ ├── IPurchaseUpdatedResponseListener.java │ │ ├── IPurchasesResponseListener.java │ │ ├── ISkuDetailsResponseListener.java │ │ └── PurchasesResponseListener.java │ └── test │ └── java │ ├── android │ ├── text │ │ └── TextUtils.java │ └── util │ │ └── Log.java │ └── com │ └── unity3d │ ├── ads │ ├── UnityAdsLoadOptionsTest.java │ └── UnityAdsShowOptionsTest.java │ ├── services │ ├── SDKErrorHandlerTest.kt │ ├── ads │ │ ├── gmascar │ │ │ └── managers │ │ │ │ └── BiddingManagerFactoryTest.kt │ │ └── topics │ │ │ ├── TopicsReceiverTest.kt │ │ │ └── TopicsServiceTest.kt │ ├── banners │ │ └── UnityBannerSizeTest.kt │ ├── core │ │ ├── UnityServicesTest.kt │ │ ├── cache │ │ │ └── CacheDirectoryTest.kt │ │ ├── configuration │ │ │ ├── AdsSdkInitializerTest.kt │ │ │ ├── ConfigurationRequestFactoryTest.java │ │ │ ├── ExperimentObjectTest.java │ │ │ ├── ExperimentObjectsTest.java │ │ │ ├── ExperimentsReaderTest.java │ │ │ ├── ExperimentsTest.java │ │ │ ├── InitializeEventsMetricSenderTest.java │ │ │ ├── PrivacyConfigStatusTest.java │ │ │ ├── PrivacyConfigStorageTest.java │ │ │ ├── PrivacyConfigTest.java │ │ │ └── PrivacyConfigurationLoaderTest.java │ │ ├── device │ │ │ ├── DeviceInfoReaderWithAuidTest.kt │ │ │ ├── DeviceTest.kt │ │ │ └── pii │ │ │ │ ├── NonBehavioralFlagReaderTest.kt │ │ │ │ ├── NonBehavioralFlagTest.kt │ │ │ │ └── PiiTrackingStatusReaderTest.java │ │ ├── di │ │ │ └── ServicesRegistryTest.kt │ │ ├── domain │ │ │ ├── ResultExtensionsKtTest.kt │ │ │ └── task │ │ │ │ ├── ConfigFileFromLocalStorageTest.kt │ │ │ │ ├── InitializeSDKTest.kt │ │ │ │ ├── InitializeStateCompleteTest.kt │ │ │ │ ├── InitializeStateConfigTest.kt │ │ │ │ ├── InitializeStateConfigWithLoaderTest.kt │ │ │ │ ├── InitializeStateCreateTest.kt │ │ │ │ ├── InitializeStateCreateWithRemoteTest.kt │ │ │ │ ├── InitializeStateErrorTest.kt │ │ │ │ ├── InitializeStateLoadCacheTest.kt │ │ │ │ ├── InitializeStateLoadWebTest.kt │ │ │ │ ├── InitializeStateNetworkErrorTest.kt │ │ │ │ ├── InitializeStateResetTest.kt │ │ │ │ └── TestSDKDispatchers.kt │ │ ├── extensions │ │ │ └── TaskExtensionsTest.kt │ │ ├── measurements │ │ │ └── MeasurementsServiceTest.kt │ │ ├── misc │ │ │ ├── EventSubjectTest.java │ │ │ ├── JsonFlattenerTest.java │ │ │ ├── JsonStorageAggregatorTest.java │ │ │ └── UtilitiesTest.kt │ │ ├── network │ │ │ ├── core │ │ │ │ └── OkHttp3ClientTest.kt │ │ │ └── mapper │ │ │ │ └── HttpRequestToOkHttpRequestKtTest.kt │ │ ├── properties │ │ │ ├── SessionIdReaderTest.kt │ │ │ └── SessionTest.kt │ │ ├── request │ │ │ └── metrics │ │ │ │ ├── MetricSenderWithBatchTest.java │ │ │ │ └── MetricsContainerTest.java │ │ └── webview │ │ │ ├── InvocationTest.kt │ │ │ ├── NativeCallbackTests.kt │ │ │ └── bridge │ │ │ └── invocation │ │ │ └── WebViewBridgeInvocationTests.java │ └── store │ │ ├── core │ │ ├── StoreExceptionHandlerMatcher.java │ │ └── StoreExceptionHandlerTest.java │ │ └── gpbl │ │ └── proxies │ │ ├── PurchaseHistoryResponseListenerProxyTest.java │ │ ├── PurchaseUpdatedListenerProxyTest.java │ │ ├── PurchasesResponseListenerProxyTest.java │ │ └── SkuDetailsResponseListenerProxyTest.java │ └── utils │ └── corountine │ └── CoroutineNameUsed.kt ├── unity-scaradapter-2000 ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── unity3d │ │ ├── ads │ │ └── test │ │ │ └── InstrumentationTestSuite.java │ │ └── scar │ │ └── adapter │ │ └── v2000 │ │ ├── Constants.java │ │ ├── ScarAdapterTest.java │ │ └── signals │ │ ├── QueryInfoCallbackTest.java │ │ └── SignalsCollectorTest.java │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── unity3d │ └── scar │ └── adapter │ └── v2000 │ ├── ScarAdapter.java │ ├── scarads │ ├── ScarAdBase.java │ ├── ScarAdListener.java │ ├── ScarBannerAd.java │ ├── ScarBannerAdListener.java │ ├── ScarInterstitialAd.java │ ├── ScarInterstitialAdListener.java │ ├── ScarRewardedAd.java │ └── ScarRewardedAdListener.java │ └── signals │ ├── QueryInfoCallback.java │ └── SignalsCollector.java ├── unity-scaradapter-2100 ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ ├── androidTest │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── unity3d │ │ ├── ads │ │ └── test │ │ │ └── InstrumentationTestSuite.java │ │ └── scar │ │ └── adapter │ │ └── v2100 │ │ ├── ScarAdapterTest.java │ │ └── signals │ │ ├── QueryInfoCallbackTest.java │ │ └── SignalsCollectorTest.java │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── unity3d │ └── scar │ └── adapter │ └── v2100 │ ├── ScarAdapter.java │ ├── requests │ └── AdRequestFactory.java │ ├── scarads │ ├── ScarAdBase.java │ ├── ScarAdListener.java │ ├── ScarBannerAd.java │ ├── ScarBannerAdListener.java │ ├── ScarInterstitialAd.java │ ├── ScarInterstitialAdListener.java │ ├── ScarRewardedAd.java │ └── ScarRewardedAdListener.java │ └── signals │ ├── QueryInfoCallback.java │ └── SignalsCollector.java └── unity-scaradapter-common ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src ├── main ├── AndroidManifest.xml └── java │ └── com │ └── unity3d │ └── scar │ └── adapter │ └── common │ ├── DispatchGroup.java │ ├── GMAAdsError.java │ ├── GMAEvent.java │ ├── IAdsErrorHandler.java │ ├── IScarAdListenerWrapper.java │ ├── IScarAdapter.java │ ├── IScarBannerAdListenerWrapper.java │ ├── IScarInterstitialAdListenerWrapper.java │ ├── IScarRewardedAdListenerWrapper.java │ ├── IUnityAdsError.java │ ├── ScarAdapterBase.java │ ├── Utils.java │ ├── WebViewAdsError.java │ ├── requests │ └── RequestExtras.java │ ├── scarads │ ├── IScarAd.java │ ├── IScarFullScreenAd.java │ ├── IScarLoadListener.java │ ├── ScarAdMetadata.java │ └── UnityAdFormat.java │ └── signals │ ├── ISignalCallbackListener.java │ ├── ISignalCollectionListener.java │ ├── ISignalsCollector.java │ ├── SignalCallbackListener.java │ ├── SignalsCollectorBase.java │ ├── SignalsResult.java │ └── SignalsStorage.java └── test └── java └── com └── unity3d └── scar └── adapter └── common ├── DispatchGroupTest.java ├── GMAAdsErrorTest.java ├── SignalCallbackListenerTest.java └── SignalsStorageTest.java /.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | charset=utf-8 3 | end_of_line=lf 4 | insert_final_newline=false 5 | indent_style=space 6 | indent_size=4 7 | 8 | [*.java] 9 | indent_style=tab 10 | tab_width=4 11 | 12 | [{*.yml,*.yaml}] 13 | indent_style=space 14 | indent_size=2 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | local.properties 3 | .idea 4 | .DS_Store 5 | build 6 | captures 7 | testServerAddress.txt 8 | app/bin 9 | unity-ads/bin 10 | libs 11 | javadoc 12 | .settings 13 | .project 14 | .vscode 15 | .classpath 16 | *.iml 17 | fastlane/report.xml 18 | -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 2.3.1 -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Unity Advertisements copyright © 2023 Unity Technologies. 2 | This software is subject to, and made available under, the terms of service for Operate Solutions (see https://unity3d.com/legal/one-operate-services-terms-of-service), and is an "Operate Service" as defined therein. 3 | 4 | Your use of the Services constitutes your acceptance of such terms. Unless expressly provided otherwise, the software under this license is made available strictly on an "AS IS" BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Please review the terms of service for details on these and other terms and conditions. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Unity Ads Android Release Repository 2 | 3 | Welcome to the Unity Ads Android SDK Repository. 4 | 5 | ## Binaries 6 | 7 | Binaries can be found in the [releases tab](https://github.com/Unity-Technologies/unity-ads-android/releases). 8 | 9 | ## Integration Guide 10 | 11 | Integration guide can be found [here](https://unityads.unity3d.com/help/android/integration-guide-android). 12 | 13 | ## API Reference 14 | 15 | API Reference can be found [here](https://unityads.unity3d.com/help/android/api-android) 16 | 17 | ## License 18 | The license can be viewed [here](LICENSE) -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 33 5 | 6 | defaultConfig { 7 | applicationId "com.unity3d.ads.example" 8 | minSdkVersion 19 9 | targetSdkVersion 33 10 | versionCode = 4910 11 | versionName = "4.9.1" 12 | } 13 | 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | implementation "com.google.android.material:material:1.3.0" 24 | implementation "androidx.appcompat:appcompat:1.3.0" 25 | implementation "androidx.coordinatorlayout:coordinatorlayout:1.1.0" 26 | implementation 'androidx.transition:transition:1.4.1' 27 | implementation project(':unity-ads') 28 | } -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/rikshot/adt-bundle-mac-x86_64/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /app/src/ar/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/unity-ads-android/6bdba8b1d4f510a0d5b047dce7049368c0d6f307/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/main/java/com/unity3d/ads/example/UnityAdsTestApp.java: -------------------------------------------------------------------------------- 1 | package com.unity3d.ads.example; 2 | 3 | import android.os.Bundle; 4 | import androidx.viewpager.widget.ViewPager; 5 | import androidx.appcompat.app.AppCompatActivity; 6 | import com.google.android.material.tabs.TabLayout; 7 | import com.unity3d.ads.example.ui.main.SectionsPagerAdapter; 8 | 9 | public class UnityAdsTestApp extends AppCompatActivity { 10 | 11 | @Override 12 | protected void onCreate(Bundle savedInstanceState) { 13 | super.onCreate(savedInstanceState); 14 | setContentView(R.layout.activity_unity_ads_test_app); 15 | SectionsPagerAdapter sectionsPagerAdapter = new SectionsPagerAdapter(this, getSupportFragmentManager()); 16 | ViewPager viewPager = findViewById(R.id.view_pager); 17 | viewPager.setAdapter(sectionsPagerAdapter); 18 | TabLayout tabs = findViewById(R.id.tabs); 19 | tabs.setupWithViewPager(viewPager); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/unity3d/ads/example/ui/main/SectionsPagerAdapter.java: -------------------------------------------------------------------------------- 1 | package com.unity3d.ads.example.ui.main; 2 | 3 | import android.content.Context; 4 | import androidx.annotation.Nullable; 5 | import androidx.fragment.app.Fragment; 6 | import androidx.fragment.app.FragmentManager; 7 | import androidx.fragment.app.FragmentPagerAdapter; 8 | 9 | /** 10 | * A [FragmentPagerAdapter] that returns a fragment corresponding to 11 | * one of the sections/tabs/pages. 12 | */ 13 | public class SectionsPagerAdapter extends FragmentPagerAdapter { 14 | 15 | private final Context mContext; 16 | 17 | public SectionsPagerAdapter(Context context, FragmentManager fm) { 18 | super(fm); 19 | mContext = context; 20 | } 21 | 22 | @Override 23 | public Fragment getItem(int position) { 24 | // getItem is called to instantiate the fragment for the given page. 25 | // Return a UnityAdsFragment (defined as a static inner class below). 26 | return UnityAdsFragment.newInstance(position); 27 | } 28 | 29 | @Nullable 30 | @Override 31 | public CharSequence getPageTitle(int position) { 32 | return null; 33 | } 34 | 35 | @Override 36 | public int getCount() { 37 | // Show 1 total pages. 38 | return 1; 39 | } 40 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/unityads_example_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/unityads_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/unity-ads-android/6bdba8b1d4f510a0d5b047dce7049368c0d6f307/app/src/main/res/drawable/unityads_logo.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/unity-ads-android/6bdba8b1d4f510a0d5b047dce7049368c0d6f307/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/unity-ads-android/6bdba8b1d4f510a0d5b047dce7049368c0d6f307/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/unity-ads-android/6bdba8b1d4f510a0d5b047dce7049368c0d6f307/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/unity-ads-android/6bdba8b1d4f510a0d5b047dce7049368c0d6f307/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/unity-ads-android/6bdba8b1d4f510a0d5b047dce7049368c0d6f307/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/unity-ads-android/6bdba8b1d4f510a0d5b047dce7049368c0d6f307/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/unity-ads-android/6bdba8b1d4f510a0d5b047dce7049368c0d6f307/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/unity-ads-android/6bdba8b1d4f510a0d5b047dce7049368c0d6f307/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/unity-ads-android/6bdba8b1d4f510a0d5b047dce7049368c0d6f307/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/unity-ads-android/6bdba8b1d4f510a0d5b047dce7049368c0d6f307/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 16dp 6 | 16dp 7 | 8dp 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | UnityAds 2.0 3 | Initialize 4 | Interstitial: 5 | Rewarded: 6 | Banner: 7 | Load 8 | Show 9 | Hide 10 | UnityAdsTestApp 11 | Unity Ads Test App 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 12 | 13 |