Class POBCacheManager
-
- All Implemented Interfaces:
public class POBCacheManagerImplementation of the cache manager class, responsible for caching Profile info, requesting service script for OM SDK, etc.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public interfacePOBCacheManager.UserAgentListenerInterface definition to notify about the result of user agent fetch.
public interfacePOBCacheManager.ProfileResultListenerInterface definition to notify about the result of profile fetch.
-
Field Summary
Fields Modifier and Type Field Description public StringpublisherId
-
Constructor Summary
Constructors Constructor Description POBCacheManager(Context context, POBNetworkHandler networkHandler)Constructor
-
Method Summary
Modifier and Type Method Description StringgetPublisherId()Return the cached publisher id. voidloadAssets()Loads assets required by OW SDK voidloadSDKConfig()Starts a background load of MRAID SDK config when allowed (TTL / in-flight rules in POBSdkConfigHelper). voidloadInternalServiceJS(@NonNull() POBMeasurementProvider.POBScriptListener listener)Loads the local omid.js from the assets and stores it inside OMID_JS_CONTENT, function uses loadLocalOmidScript internally to load the omid. booleanverifyCrashAnalyticsStatus()Check CrashAnalytics status for all the profiles. booleangetAppInstallStatus()Check app install status for all the profiles. voidloadMraidJs()To read mraid. voidloadOpenWrapJs()To read openwrap. JSONObjectgetAppStatusSchemes()Returns the last successfully loaded appInstallStatus.androidfor MRAID app status usage (e.g.StringgetMraidJs()To read mraid. StringgetOpenWrapJs()To read openwrap. voidgenerateUserAgent(@NonNull() POBCacheManager.UserAgentListener listener)This method fetch the user agent from WebSettings and save it for future reference. StringfetchUserAgent()voidfetchProfileConfigs(@NonNull() Context context, @NonNull() OpenWrapSDKConfig sdkConfig)This method will request the profile configurations from the server and cache them. POBProfileInfogetProfileInfo(@NonNull() String profileInfoKey)Function is used to return the cached profileInfo associated with the profileInfoKey voidsaveReceivedBid(@NonNull() JSONObject rawBidJson)Save the raw bid json in received bids queue. voidsaveRenderedBid(@NonNull() JSONObject rawBidJson)Save the raw bid json in rendered bids queue. JSONArraygetCachedBidResponses()-
-
Constructor Detail
-
POBCacheManager
POBCacheManager(Context context, POBNetworkHandler networkHandler)
Constructor- Parameters:
context- Context
-
-
Method Detail
-
getPublisherId
@Nullable() String getPublisherId()
Return the cached publisher id.
- Returns:
Publisher Id.
-
loadAssets
void loadAssets()
Loads assets required by OW SDK
-
loadSDKConfig
void loadSDKConfig()
Starts a background load of MRAID SDK config when allowed (TTL / in-flight rules in POBSdkConfigHelper). Intended for com.pubmatic.sdk.common.OpenWrapSDKInitializerImpl
-
loadInternalServiceJS
void loadInternalServiceJS(@NonNull() POBMeasurementProvider.POBScriptListener listener)
Loads the local omid.js from the assets and stores it inside OMID_JS_CONTENT, function uses loadLocalOmidScript internally to load the omid.js script
- Parameters:
listener- Instance of POBMeasurementProvider.POBScriptListener which is used to give scriptReceived callback
-
verifyCrashAnalyticsStatus
boolean verifyCrashAnalyticsStatus()
Check CrashAnalytics status for all the profiles.
- Returns:
true if CrashAnalytics is enabled for all the profiles, false otherwise.
-
getAppInstallStatus
boolean getAppInstallStatus()
Check app install status for all the profiles. If any profile disables the feature, we disable it for all the profiles. Uses cached value when profiles have been fetched/updated; otherwise computes from current profile map (e.g. before first profile fetch, or in tests).
- Returns:
true if app install status is enabled for all profiles, false otherwise.
-
loadMraidJs
void loadMraidJs()
To read mraid.js content from the assets folder and store it into mraidJsContent
-
loadOpenWrapJs
void loadOpenWrapJs()
To read openwrap.js content from the assets folder and store it into openWrapJsContent
-
getAppStatusSchemes
@Nullable() JSONObject getAppStatusSchemes()
Returns the last successfully loaded
appInstallStatus.androidfor MRAID app status usage (e.g. bidimp.ext.owsdkand app-install status checks in the web rendering module). Does not trigger a network request; refreshes are driven by loadSDKConfig (e.g. from SDK init).
-
getMraidJs
@Nullable() String getMraidJs()
To read mraid.js content from the assets folder and store it into mraidJsContent
- Returns:
POB_MRAID_JS content.
-
getOpenWrapJs
@Nullable() String getOpenWrapJs()
To read openwrap.js content from the assets folder and store it into openWrapJsContent
- Returns:
OPENWRAP_JS content.
-
generateUserAgent
void generateUserAgent(@NonNull() POBCacheManager.UserAgentListener listener)
This method fetch the user agent from WebSettings and save it for future reference. And return the callback. If not found then just return user-agent using System.getProperty("http.agent"). It will return empty string in case unable to fetch the user-agent at all.
-
fetchUserAgent
@NonNull()@WorkerThread() String fetchUserAgent()
-
fetchProfileConfigs
void fetchProfileConfigs(@NonNull() Context context, @NonNull() OpenWrapSDKConfig sdkConfig)
This method will request the profile configurations from the server and cache them. If the build is a release build, it will also check and toggle the CrashAnalytics status based on the fetched profiles.
- Parameters:
context- The context of the application.sdkConfig- The SDK configuration containing the publisher ID and profile IDs.
-
getProfileInfo
@Nullable() POBProfileInfo getProfileInfo(@NonNull() String profileInfoKey)
Function is used to return the cached profileInfo associated with the profileInfoKey
- Parameters:
profileInfoKey- The profileInfo key associated with the profile and the version- Returns:
The POBProfileInfo associated with the profileInfoKey
-
saveReceivedBid
void saveReceivedBid(@NonNull() JSONObject rawBidJson)
Save the raw bid json in received bids queue. Remove the oldest one if size of queue is 3.
- Parameters:
rawBidJson- of ad response.
-
saveRenderedBid
void saveRenderedBid(@NonNull() JSONObject rawBidJson)
Save the raw bid json in rendered bids queue. Remove the oldest one if size of queue is 3.
- Parameters:
rawBidJson- of ad response.
-
getCachedBidResponses
@NonNull() JSONArray getCachedBidResponses()
- Returns:
the JSONArray consisting of receivedBids and renderedBids.
-
-
-
-