Skip to content

Technical Plugin GoogleAds_IMA

Daniel Neto edited this page Oct 29, 2026 · 1 revision

Technical: GoogleAds_IMA plugin

Integrates VAST advertising with the player's IMA rendering path.

Audience: developers, advanced administrators and AI-assisted diagnosis. Plugin catalog.

Source baseline

  • Review date: 2026-10-29. Method: static source analysis; runtime/provider behavior was not exercised.
  • Code ownership: independently versioned plugin repository.
  • Reported version: 5.8.
  • Source revision: d99f83ab9685cbd79bdf5357e50730af50786b02.
  • Entry class file: GoogleAds_IMA.php.

Confirm the installed plugin version independently of the Streamer version. Configuration defaults below are not a dump of this installation's saved settings.

Dependencies

Plugin Required by declaration Source reason
AD_Server Optional Optional alternate/fallback ad rendering integration

Hook integration

Override Implementation
getTags() GoogleAds_IMA.php:23
getDataObjectDeprecated() GoogleAds_IMA.php:88
getDataObjectAdvanced() GoogleAds_IMA.php:92
getHeadCode() GoogleAds_IMA.php:222
afterVideoJS() GoogleAds_IMA.php:253
profileTabName($users_id) GoogleAds_IMA.php:313
profileTabContent($users_id) GoogleAds_IMA.php:319
getPermissionsOptions() GoogleAds_IMA.php:402
getPluginMenu() GoogleAds_IMA.php:426

Configuration assignments

These are direct assignments inside getEmptyDataObject(), not evaluated effective defaults. Stored plugins.object_data, globals, structured values and conditional branches may alter runtime behavior. Private/default credential values are omitted.

Field Literal default or expression type Literal source label/help Evidence
adTagUrl Computed/structured; inspect source AD Tag URL: AD Tag URL source
adTagUrlForKids Computed/structured; inspect source AD Tag URL For Kids: This will be used when the video is made for kids source
doNotShowAdsForPaidUsers true Do not show ads for paid users source
disableVastProxy true Disable VAST Proxy: By default, external VAST URLs are proxied through your server to avoid CORS issues. Disable this if ads are not playing and your ad server supports direct browser access. source
prerollLive true Pre Roll Live Stream source
start true Show AD on Start source
mid25Percent true Show AD on 25% of the video source
mid50Percent true Show AD on 50% of the video source
mid75Percent true Show AD on 75% of the video source
end true Show AD at the end of the video source
timeIntervalInSeconds Computed/structured; inspect source Show AD in a specific time source
preAdTagUrl '' Pre AD Tag: This Tag will be played on the first position for any AD request source
usersCanSetTheirOwnVideoAdsVASTURL false Users can set their own video Ads VAST URL source

Files and request surface

This inventory distinguishes implementation files from an API specification. Includes, templates, callbacks and CLI workers are not interchangeable HTTP endpoints. Request-field names below are direct source references, not a complete schema or permission declaration.

File Source role Direct request fields observed
GoogleAds_IMA.php plugin entry class optionalAdTagUrl, u, videoName
VMAP.php PHP page/include/worker; inspect caller cleanKey, encodedPass, ifa, ifa_type, json, lat, liveLink, live_servers_id, lon, optionalAdTagUrl, pass, u_paln, user, videos_id, vmap_id
index.php PHP page/include/worker; inspect caller —
profileTabContent.php PHP page/include/worker; inspect caller —
profileTabName.php PHP page/include/worker; inspect caller —
saveVASTADSURL.json.php JSON entry point; inspect caller and guard VASTADSURL
vastProxy.php PHP page/include/worker; inspect caller url

Data and migrations

No CREATE TABLE names were extracted from available plugin SQL. The plugin can still use core tables, PHP-created schema or another component's data. Apply installation/update behavior through the owning plugin; this reference is not a script for running historical migrations manually.

Main-file named symbols

Visibility and implementation semantics must be checked in source. Nonempty string defaults are represented as . This is a symbol reference, not a stable public API promise.

Function or method Source
getPluginDependencies() 15
getTags() 23
getDescription() 31
getName() 39
getPluginVersion() 44
shouldProxyVastURL($url) 49
getVastProxyURL($url) 72
getUUID() 82
getDataObjectDeprecated() 88
getDataObjectAdvanced() 92
getEmptyDataObject() 113
isToShowAds() 199
getHeadCode() 222
afterVideoJS() 253
profileTabName($users_id) 313
profileTabContent($users_id) 319
getUserVASTADSURL($users_id, $OptionalADTagURL = 0) 325
setUserVASTADSURL($users_id, $value) 343
getUserVASTADSURLFromVideos_idOrDefault($videos_id, $OptionalADTagURL = 0) 352
getPermissionsOptions() 402
canSetAdsVASTURL() 413
getPluginMenu() 426

Supporting PHP declarations

These symbols are grouped by source file; inspect the class declaration and visibility before calling them.

VMAP.php

Named symbol Source
format($seconds) 13
processTimeOffset() 21

vastProxy.php

Named symbol Source
googleAdsImaRewriteWrappedVastUris($content) 9

Diagnostics and validation

  1. Check the installed/enabled version and the dependencies/settings above.
  2. Identify the actual failing page, request, callback or worker and correlate its timestamp with the AVideo log.
  3. Follow the linked method and caller. Check business-state changes and output artifacts as well as HTTP status.
  4. Reproduce the relevant workflow in a test environment. External provider, Encoder, live-server, storage, payment and authenticated flows require their real integrations.

Shared diagnostic workflow. This page is not a security audit or a claim of end-to-end validation.

Clone this wiki locally