.class public final Lcom/unity3d/services/ads/UnityAdsImplementation; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Lcom/unity3d/services/ads/IUnityAds; # static fields .field private static configuration:Lcom/unity3d/services/core/configuration/Configuration; .field private static instance:Lcom/unity3d/services/ads/IUnityAds; .field private static webViewBridgeInvoker:Lcom/unity3d/services/core/webview/bridge/WebViewBridgeInvoker; # direct methods .method public static synthetic $r8$lambda$HV0ABH1qBP8SIKga7jvPIugwIao(Lcom/unity3d/ads/IUnityAdsTokenListener;)V .locals 0 .line 0 invoke-static {p0}, Lcom/unity3d/services/ads/UnityAdsImplementation;->lambda$getToken$0(Lcom/unity3d/ads/IUnityAdsTokenListener;)V return-void .end method .method static constructor ()V .locals 1 .line 44 new-instance v0, Lcom/unity3d/services/core/webview/bridge/WebViewBridgeInvoker; invoke-direct {v0}, Lcom/unity3d/services/core/webview/bridge/WebViewBridgeInvoker;->()V sput-object v0, Lcom/unity3d/services/ads/UnityAdsImplementation;->webViewBridgeInvoker:Lcom/unity3d/services/core/webview/bridge/WebViewBridgeInvoker; return-void .end method .method public constructor ()V .locals 0 .line 42 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static getInstance()Lcom/unity3d/services/ads/IUnityAds; .locals 1 sget-object v0, Lcom/unity3d/services/ads/UnityAdsImplementation;->instance:Lcom/unity3d/services/ads/IUnityAds; if-nez v0, :cond_0 .line 49 new-instance v0, Lcom/unity3d/services/ads/UnityAdsImplementation; invoke-direct {v0}, Lcom/unity3d/services/ads/UnityAdsImplementation;->()V sput-object v0, Lcom/unity3d/services/ads/UnityAdsImplementation;->instance:Lcom/unity3d/services/ads/IUnityAds; :cond_0 sget-object v0, Lcom/unity3d/services/ads/UnityAdsImplementation;->instance:Lcom/unity3d/services/ads/IUnityAds; return-object v0 .end method .method private handleShowError(Lcom/unity3d/ads/IUnityAdsShowListener;Ljava/lang/String;Lcom/unity3d/ads/UnityAds$UnityAdsShowError;Ljava/lang/String;)V .locals 3 const-class v0, Lcom/unity3d/services/core/request/metrics/SDKMetricsSender; .line 193 invoke-static {v0}, Lcom/unity3d/services/core/misc/Utilities;->getService(Ljava/lang/Class;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/unity3d/services/core/request/metrics/SDKMetricsSender; const-wide/16 v1, 0x0 .line 194 invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v1 invoke-static {p3, v1}, Lcom/unity3d/services/core/request/metrics/AdOperationMetric;->newAdShowFailure(Lcom/unity3d/ads/UnityAds$UnityAdsShowError;Ljava/lang/Long;)Lcom/unity3d/services/core/request/metrics/Metric; move-result-object v1 invoke-interface {v0, v1}, Lcom/unity3d/services/core/request/metrics/SDKMetricsSender;->sendMetricWithInitState(Lcom/unity3d/services/core/request/metrics/Metric;)V if-nez p1, :cond_0 return-void .line 196 :cond_0 invoke-interface {p1, p2, p3, p4}, Lcom/unity3d/ads/IUnityAdsShowListener;->onUnityAdsShowFailure(Ljava/lang/String;Lcom/unity3d/ads/UnityAds$UnityAdsShowError;Ljava/lang/String;)V return-void .end method .method private static synthetic lambda$getToken$0(Lcom/unity3d/ads/IUnityAdsTokenListener;)V .locals 1 const/4 v0, 0x0 .line 263 invoke-interface {p0, v0}, Lcom/unity3d/ads/IUnityAdsTokenListener;->onUnityAdsTokenReady(Ljava/lang/String;)V return-void .end method .method public static setConfiguration(Lcom/unity3d/services/core/configuration/Configuration;)V .locals 0 sput-object p0, Lcom/unity3d/services/ads/UnityAdsImplementation;->configuration:Lcom/unity3d/services/core/configuration/Configuration; return-void .end method # virtual methods .method public getDebugMode()Z .locals 1 .line 216 invoke-static {}, Lcom/unity3d/services/UnityServices;->getDebugMode()Z move-result v0 return v0 .end method .method public getToken()Ljava/lang/String; .locals 4 .annotation build Landroidx/annotation/Nullable; .end annotation const-class v0, Lcom/unity3d/ads/core/configuration/AlternativeFlowReader; .line 232 invoke-static {v0}, Lcom/unity3d/services/core/misc/Utilities;->getService(Ljava/lang/Class;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/unity3d/ads/core/configuration/AlternativeFlowReader; .line 233 invoke-virtual {v0}, Lcom/unity3d/ads/core/configuration/AlternativeFlowReader;->invoke()Z move-result v0 if-eqz v0, :cond_0 .line 234 sget-object v0, Lcom/unity3d/services/UnityAdsSDK;->INSTANCE:Lcom/unity3d/services/UnityAdsSDK; invoke-virtual {v0}, Lcom/unity3d/services/UnityAdsSDK;->getToken()Ljava/lang/String; move-result-object v0 return-object v0 :cond_0 const-class v0, Lcom/unity3d/services/ads/token/TokenStorage; .line 236 invoke-static {v0}, Lcom/unity3d/services/core/misc/Utilities;->getService(Ljava/lang/Class;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/unity3d/services/ads/token/TokenStorage; .line 238 invoke-interface {v0}, Lcom/unity3d/services/ads/token/TokenStorage;->getToken()Ljava/lang/String; move-result-object v0 const/4 v1, 0x0 if-eqz v0, :cond_3 .line 239 invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z move-result v2 if-eqz v2, :cond_1 goto :goto_0 :cond_1 sget-object v2, Lcom/unity3d/services/ads/UnityAdsImplementation;->configuration:Lcom/unity3d/services/core/configuration/Configuration; if-nez v2, :cond_2 .line 243 new-instance v2, Lcom/unity3d/services/core/configuration/ConfigurationReader; invoke-direct {v2}, Lcom/unity3d/services/core/configuration/ConfigurationReader;->()V invoke-virtual {v2}, Lcom/unity3d/services/core/configuration/ConfigurationReader;->getCurrentConfiguration()Lcom/unity3d/services/core/configuration/Configuration; move-result-object v2 .line 244 :cond_2 invoke-static {}, Lcom/unity3d/services/ads/gmascar/managers/BiddingManagerFactory;->getInstance()Lcom/unity3d/services/ads/gmascar/managers/BiddingManagerFactory; move-result-object v3 invoke-virtual {v2}, Lcom/unity3d/services/core/configuration/Configuration;->getExperiments()Lcom/unity3d/services/core/configuration/IExperiments; move-result-object v2 invoke-virtual {v3, v1, v2}, Lcom/unity3d/services/ads/gmascar/managers/BiddingManagerFactory;->createManager(Lcom/unity3d/ads/IUnityAdsTokenListener;Lcom/unity3d/services/core/configuration/IExperiments;)Lcom/unity3d/services/ads/gmascar/managers/BiddingBaseManager; move-result-object v1 .line 245 invoke-virtual {v1}, Lcom/unity3d/services/ads/gmascar/managers/BiddingBaseManager;->start()V .line 246 invoke-virtual {v1, v0}, Lcom/unity3d/services/ads/gmascar/managers/BiddingBaseManager;->getFormattedToken(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 return-object v0 :cond_3 :goto_0 return-object v1 .end method .method public getToken(Lcom/unity3d/ads/IUnityAdsTokenListener;)V .locals 3 .param p1 # Lcom/unity3d/ads/IUnityAdsTokenListener; .annotation build Landroidx/annotation/Nullable; .end annotation .end param const-class v0, Lcom/unity3d/ads/core/configuration/AlternativeFlowReader; .line 252 invoke-static {v0}, Lcom/unity3d/services/core/misc/Utilities;->getService(Ljava/lang/Class;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/unity3d/ads/core/configuration/AlternativeFlowReader; .line 253 invoke-virtual {v0}, Lcom/unity3d/ads/core/configuration/AlternativeFlowReader;->invoke()Z move-result v0 if-eqz v0, :cond_0 .line 254 sget-object v0, Lcom/unity3d/services/UnityAdsSDK;->INSTANCE:Lcom/unity3d/services/UnityAdsSDK; invoke-virtual {v0, p1}, Lcom/unity3d/services/UnityAdsSDK;->getToken(Lcom/unity3d/ads/IUnityAdsTokenListener;)V goto :goto_0 :cond_0 if-nez p1, :cond_1 const-string p1, "Please provide non-null listener to UnityAds.GetToken method" .line 258 invoke-static {p1}, Lcom/unity3d/services/core/log/DeviceLog;->info(Ljava/lang/String;)V return-void .line 260 :cond_1 invoke-static {}, Lcom/unity3d/services/core/properties/ClientProperties;->getApplicationContext()Landroid/content/Context; move-result-object v0 if-nez v0, :cond_2 .line 262 new-instance v0, Lcom/unity3d/services/ads/UnityAdsImplementation$$ExternalSyntheticLambda0; invoke-direct {v0, p1}, Lcom/unity3d/services/ads/UnityAdsImplementation$$ExternalSyntheticLambda0;->(Lcom/unity3d/ads/IUnityAdsTokenListener;)V invoke-static {v0}, Lcom/unity3d/services/core/misc/Utilities;->wrapCustomerListener(Ljava/lang/Runnable;)V return-void :cond_2 const-class v0, Lcom/unity3d/services/ads/token/AsyncTokenStorage; .line 266 invoke-static {v0}, Lcom/unity3d/services/core/misc/Utilities;->getService(Ljava/lang/Class;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/unity3d/services/ads/token/AsyncTokenStorage; sget-object v1, Lcom/unity3d/services/ads/UnityAdsImplementation;->configuration:Lcom/unity3d/services/core/configuration/Configuration; if-nez v1, :cond_3 .line 267 new-instance v1, Lcom/unity3d/services/core/configuration/ConfigurationReader; invoke-direct {v1}, Lcom/unity3d/services/core/configuration/ConfigurationReader;->()V invoke-virtual {v1}, Lcom/unity3d/services/core/configuration/ConfigurationReader;->getCurrentConfiguration()Lcom/unity3d/services/core/configuration/Configuration; move-result-object v1 .line 268 :cond_3 invoke-static {}, Lcom/unity3d/services/ads/gmascar/managers/BiddingManagerFactory;->getInstance()Lcom/unity3d/services/ads/gmascar/managers/BiddingManagerFactory; move-result-object v2 invoke-virtual {v1}, Lcom/unity3d/services/core/configuration/Configuration;->getExperiments()Lcom/unity3d/services/core/configuration/IExperiments; move-result-object v1 invoke-virtual {v2, p1, v1}, Lcom/unity3d/services/ads/gmascar/managers/BiddingManagerFactory;->createManager(Lcom/unity3d/ads/IUnityAdsTokenListener;Lcom/unity3d/services/core/configuration/IExperiments;)Lcom/unity3d/services/ads/gmascar/managers/BiddingBaseManager; move-result-object p1 .line 269 invoke-virtual {p1}, Lcom/unity3d/services/ads/gmascar/managers/BiddingBaseManager;->start()V .line 271 invoke-interface {v0, p1}, Lcom/unity3d/services/ads/token/AsyncTokenStorage;->getToken(Lcom/unity3d/services/ads/gmascar/managers/IBiddingManager;)V :goto_0 return-void .end method .method public getVersion()Ljava/lang/String; .locals 1 .line 96 invoke-static {}, Lcom/unity3d/services/UnityServices;->getVersion()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public initialize(Landroid/content/Context;Ljava/lang/String;ZLcom/unity3d/ads/IUnityAdsInitializationListener;)V .locals 0 .line 64 invoke-static {}, Lcom/unity3d/services/core/log/DeviceLog;->entered()V .line 66 invoke-static {p1, p2, p3, p4}, Lcom/unity3d/services/UnityServices;->initialize(Landroid/content/Context;Ljava/lang/String;ZLcom/unity3d/ads/IUnityAdsInitializationListener;)V return-void .end method .method public isInitialized()Z .locals 1 .line 76 invoke-static {}, Lcom/unity3d/services/UnityServices;->isInitialized()Z move-result v0 return v0 .end method .method public isSupported()Z .locals 1 .line 86 invoke-static {}, Lcom/unity3d/services/UnityServices;->isSupported()Z move-result v0 return v0 .end method .method public load(Ljava/lang/String;Lcom/unity3d/ads/UnityAdsLoadOptions;Lcom/unity3d/ads/IUnityAdsLoadListener;)V .locals 4 .param p1 # Ljava/lang/String; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .param p2 # Lcom/unity3d/ads/UnityAdsLoadOptions; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p3 # Lcom/unity3d/ads/IUnityAdsLoadListener; .annotation build Landroidx/annotation/Nullable; .end annotation .end param const-class v0, Lcom/unity3d/ads/core/configuration/AlternativeFlowReader; .line 221 invoke-static {v0}, Lcom/unity3d/services/core/misc/Utilities;->getService(Ljava/lang/Class;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/unity3d/ads/core/configuration/AlternativeFlowReader; .line 222 invoke-virtual {v0}, Lcom/unity3d/ads/core/configuration/AlternativeFlowReader;->invoke()Z move-result v0 if-eqz v0, :cond_0 .line 223 sget-object v0, Lcom/unity3d/services/UnityAdsSDK;->INSTANCE:Lcom/unity3d/services/UnityAdsSDK; const/4 v1, 0x0 invoke-virtual {v0, p1, p2, p3, v1}, Lcom/unity3d/services/UnityAdsSDK;->load(Ljava/lang/String;Lcom/unity3d/ads/UnityAdsLoadOptions;Lcom/unity3d/ads/IUnityAdsLoadListener;Lcom/unity3d/services/banners/UnityBannerSize;)Lkotlinx/coroutines/Job; goto :goto_0 :cond_0 sget-object v0, Lcom/unity3d/services/ads/UnityAdsImplementation;->configuration:Lcom/unity3d/services/core/configuration/Configuration; if-nez v0, :cond_1 .line 225 new-instance v0, Lcom/unity3d/services/core/configuration/Configuration; invoke-direct {v0}, Lcom/unity3d/services/core/configuration/Configuration;->()V .line 226 :cond_1 invoke-static {}, Lcom/unity3d/services/ads/operation/load/LoadModule;->getInstance()Lcom/unity3d/services/ads/operation/load/ILoadModule; move-result-object v1 sget-object v2, Lcom/unity3d/services/ads/UnityAdsImplementation;->webViewBridgeInvoker:Lcom/unity3d/services/core/webview/bridge/WebViewBridgeInvoker; new-instance v3, Lcom/unity3d/services/ads/operation/load/LoadOperationState; invoke-direct {v3, p1, p3, p2, v0}, Lcom/unity3d/services/ads/operation/load/LoadOperationState;->(Ljava/lang/String;Lcom/unity3d/ads/IUnityAdsLoadListener;Lcom/unity3d/ads/UnityAdsLoadOptions;Lcom/unity3d/services/core/configuration/Configuration;)V invoke-interface {v1, v2, v3}, Lcom/unity3d/services/ads/operation/IAdModule;->executeAdOperation(Lcom/unity3d/services/core/webview/bridge/IWebViewBridgeInvoker;Ljava/lang/Object;)V :goto_0 return-void .end method .method public setDebugMode(Z)V .locals 0 .line 206 invoke-static {p1}, Lcom/unity3d/services/UnityServices;->setDebugMode(Z)V return-void .end method .method public show(Landroid/app/Activity;Ljava/lang/String;)V .locals 2 .line 106 new-instance v0, Lcom/unity3d/ads/UnityAdsShowOptions; invoke-direct {v0}, Lcom/unity3d/ads/UnityAdsShowOptions;->()V const/4 v1, 0x0 invoke-virtual {p0, p1, p2, v0, v1}, Lcom/unity3d/services/ads/UnityAdsImplementation;->show(Landroid/app/Activity;Ljava/lang/String;Lcom/unity3d/ads/UnityAdsShowOptions;Lcom/unity3d/ads/IUnityAdsShowListener;)V return-void .end method .method public show(Landroid/app/Activity;Ljava/lang/String;Lcom/unity3d/ads/IUnityAdsShowListener;)V .locals 1 .line 117 new-instance v0, Lcom/unity3d/ads/UnityAdsShowOptions; invoke-direct {v0}, Lcom/unity3d/ads/UnityAdsShowOptions;->()V invoke-virtual {p0, p1, p2, v0, p3}, Lcom/unity3d/services/ads/UnityAdsImplementation;->show(Landroid/app/Activity;Ljava/lang/String;Lcom/unity3d/ads/UnityAdsShowOptions;Lcom/unity3d/ads/IUnityAdsShowListener;)V return-void .end method .method public show(Landroid/app/Activity;Ljava/lang/String;Lcom/unity3d/ads/UnityAdsShowOptions;Lcom/unity3d/ads/IUnityAdsShowListener;)V .locals 9 .param p1 # Landroid/app/Activity; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .param p2 # Ljava/lang/String; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .param p3 # Lcom/unity3d/ads/UnityAdsShowOptions; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .param p4 # Lcom/unity3d/ads/IUnityAdsShowListener; .annotation build Landroidx/annotation/Nullable; .end annotation .end param const-class v0, Lcom/unity3d/ads/core/configuration/AlternativeFlowReader; .line 130 invoke-static {v0}, Lcom/unity3d/services/core/misc/Utilities;->getService(Ljava/lang/Class;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/unity3d/ads/core/configuration/AlternativeFlowReader; .line 131 invoke-virtual {v0}, Lcom/unity3d/ads/core/configuration/AlternativeFlowReader;->invoke()Z move-result v0 if-eqz v0, :cond_0 .line 132 sget-object p1, Lcom/unity3d/services/UnityAdsSDK;->INSTANCE:Lcom/unity3d/services/UnityAdsSDK; new-instance v0, Lcom/unity3d/services/ads/UnityAdsImplementation$1; invoke-direct {v0, p0, p4}, Lcom/unity3d/services/ads/UnityAdsImplementation$1;->(Lcom/unity3d/services/ads/UnityAdsImplementation;Lcom/unity3d/ads/IUnityAdsShowListener;)V invoke-virtual {p1, p2, p3, v0}, Lcom/unity3d/services/UnityAdsSDK;->show(Ljava/lang/String;Lcom/unity3d/ads/UnityAdsShowOptions;Lcom/unity3d/ads/core/data/model/Listeners;)Lkotlinx/coroutines/Job; goto :goto_0 .line 167 :cond_0 invoke-virtual {p0}, Lcom/unity3d/services/ads/UnityAdsImplementation;->isSupported()Z move-result v0 if-nez v0, :cond_1 const-string p1, "Unity Ads is not supported for this device" .line 169 sget-object p3, Lcom/unity3d/ads/UnityAds$UnityAdsShowError;->NOT_INITIALIZED:Lcom/unity3d/ads/UnityAds$UnityAdsShowError; invoke-direct {p0, p4, p2, p3, p1}, Lcom/unity3d/services/ads/UnityAdsImplementation;->handleShowError(Lcom/unity3d/ads/IUnityAdsShowListener;Ljava/lang/String;Lcom/unity3d/ads/UnityAds$UnityAdsShowError;Ljava/lang/String;)V return-void .line 172 :cond_1 invoke-virtual {p0}, Lcom/unity3d/services/ads/UnityAdsImplementation;->isInitialized()Z move-result v0 if-nez v0, :cond_2 .line 173 sget-object p1, Lcom/unity3d/ads/UnityAds$UnityAdsShowError;->NOT_INITIALIZED:Lcom/unity3d/ads/UnityAds$UnityAdsShowError; const-string p3, "[UnityAds] SDK not initialized" invoke-direct {p0, p4, p2, p1, p3}, Lcom/unity3d/services/ads/UnityAdsImplementation;->handleShowError(Lcom/unity3d/ads/IUnityAdsShowListener;Ljava/lang/String;Lcom/unity3d/ads/UnityAds$UnityAdsShowError;Ljava/lang/String;)V return-void :cond_2 if-nez p1, :cond_3 const-string p1, "Activity must not be null" .line 178 sget-object p3, Lcom/unity3d/ads/UnityAds$UnityAdsShowError;->INVALID_ARGUMENT:Lcom/unity3d/ads/UnityAds$UnityAdsShowError; invoke-direct {p0, p4, p2, p3, p1}, Lcom/unity3d/services/ads/UnityAdsImplementation;->handleShowError(Lcom/unity3d/ads/IUnityAdsShowListener;Ljava/lang/String;Lcom/unity3d/ads/UnityAds$UnityAdsShowError;Ljava/lang/String;)V return-void :cond_3 if-nez p2, :cond_4 .line 182 sget-object p1, Lcom/unity3d/ads/UnityAds$UnityAdsShowError;->INVALID_ARGUMENT:Lcom/unity3d/ads/UnityAds$UnityAdsShowError; const-string p2, "[UnityAds] Placement ID cannot be null" const-string p3, "" invoke-direct {p0, p4, p3, p1, p2}, Lcom/unity3d/services/ads/UnityAdsImplementation;->handleShowError(Lcom/unity3d/ads/IUnityAdsShowListener;Ljava/lang/String;Lcom/unity3d/ads/UnityAds$UnityAdsShowError;Ljava/lang/String;)V return-void :cond_4 sget-object v0, Lcom/unity3d/services/ads/UnityAdsImplementation;->configuration:Lcom/unity3d/services/core/configuration/Configuration; if-nez v0, :cond_5 .line 186 new-instance v0, Lcom/unity3d/services/core/configuration/Configuration; invoke-direct {v0}, Lcom/unity3d/services/core/configuration/Configuration;->()V :cond_5 move-object v6, v0 .line 187 invoke-static {p1}, Lcom/unity3d/services/core/properties/ClientProperties;->setActivity(Landroid/app/Activity;)V .line 188 invoke-static {}, Lcom/unity3d/services/ads/operation/show/ShowModule;->getInstance()Lcom/unity3d/services/ads/operation/show/IShowModule; move-result-object v0 invoke-static {}, Lcom/unity3d/services/core/webview/WebViewApp;->getCurrentApp()Lcom/unity3d/services/core/webview/WebViewApp; move-result-object v7 new-instance v8, Lcom/unity3d/services/ads/operation/show/ShowOperationState; move-object v1, v8 move-object v2, p2 move-object v3, p4 move-object v4, p1 move-object v5, p3 invoke-direct/range {v1 .. v6}, Lcom/unity3d/services/ads/operation/show/ShowOperationState;->(Ljava/lang/String;Lcom/unity3d/ads/IUnityAdsShowListener;Landroid/app/Activity;Lcom/unity3d/ads/UnityAdsShowOptions;Lcom/unity3d/services/core/configuration/Configuration;)V invoke-interface {v0, v7, v8}, Lcom/unity3d/services/ads/operation/IAdModule;->executeAdOperation(Lcom/unity3d/services/core/webview/bridge/IWebViewBridgeInvoker;Ljava/lang/Object;)V :goto_0 return-void .end method