PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.25
Advanced Ads – Ad Manager & AdSense v2.0.25
2.0.25 2.0.24 2.0.23 2.0.22 2.0.21 1.38.0 1.39.0 1.39.1 1.39.2 1.39.3 1.39.4 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.40.0 1.40.1 1.40.2 1.41.0 1.42.0 1.42.1 1.42.2 1.43.0 1.44.0 1.44.1 1.45.0 1.45.1 1.46.0 1.47.0 1.47.1 1.47.2 1.47.3 1.47.4 1.47.5 1.48.0 1.48.1 1.49.0 1.5.0 1.5.0.1 1.5.1 1.5.2 1.5.2.1 1.5.4 1.5.4.1 1.5.5 1.50.0 1.51.0 1.51.1 1.51.2 1.51.3 1.52.0 1.52.1 1.52.2 1.52.3 1.52.4 1.53.0 1.53.1 1.53.2 1.54.0 1.54.1 1.55.0 1.56.0 1.56.1 1.56.2 1.56.3 1.56.4 1.6 1.6.1 1.6.10 1.6.10.1 1.6.10.2 1.6.11 1.6.11.1 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.17.1 1.6.17.2 1.6.2 1.6.2.1 1.6.3 1.6.4 1.6.4.1 1.6.5 1.6.6 1.6.6.1 1.6.7 1.6.7.1 1.6.8 1.6.8.1 1.6.8.2 1.6.8.3 1.6.9 1.6.9.1 1.6.9.2 1.6.9.3 1.6.9.4 1.7 1.7.0.1 1.7.0.2 1.7.0.3 1.7.1 1.7.1.1 1.7.1.2 1.7.1.3 1.7.1.4 1.7.1.5 1.7.10 trunk 1.7.11 1.0.1 1.7.12 1.0.2 1.7.13 1.0.3 1.7.14 1.1.0 1.7.15 1.1.1 1.7.16 1.1.2 1.7.17 1.1.3 1.7.18 1.10 1.7.19 1.10.1 1.7.2 1.10.10 1.7.2.1 1.10.11 1.7.20 1.10.12 1.7.21 1.10.2 1.7.22 1.10.3 1.7.23 1.10.4 1.7.24 1.10.5 1.7.25 1.10.6 1.7.3 1.10.7 1.7.4 1.10.8 1.7.4.1 1.10.9 1.7.4.2 1.11 1.7.4.3 1.11.1 1.7.4.4 1.11.2 1.7.4.5 1.12 1.7.5 1.13 1.7.5.1 1.13.1 1.7.6 1.13.2 1.7.7 1.13.3 1.7.8 1.13.4 1.7.9 1.13.5 1.7.9.1 1.13.6 1.7.9.2 1.13.7 1.7.9.3 1.13.8 1.8 1.14 1.8.1 1.14.1 1.8.10 1.14.10 1.8.11 1.14.11 1.8.12 1.14.2 1.8.13 1.14.3 1.8.14 1.14.4 1.8.15 1.14.5 1.8.16 1.14.6 1.8.17 1.14.7 1.8.18 1.14.8 1.8.19 1.14.9 1.8.2 1.15 1.8.20 1.16 1.8.21 1.16.1 1.8.22 1.17 1.8.23 1.17.1 1.8.24 1.17.10 1.8.25 1.17.10-rc.1 1.8.26 1.17.11 1.8.27 1.17.12 1.8.28 1.17.12-rc.1 1.8.29 1.17.2 1.8.3 1.17.3 1.8.30 1.17.4 1.8.4 1.17.5 1.8.5 1.17.6 1.8.6 1.17.7 1.8.7 1.17.8 1.8.8 1.17.9 1.8.9 1.17.9-beta.1 1.9 1.18.0 2.0.0 1.19.0 2.0.1 1.19.1 2.0.10 1.2 2.0.11 1.2.1 2.0.12 1.2.2 2.0.13 1.2.3 2.0.14 1.2.4 2.0.15 1.2.5 2.0.16 1.2.6 2.0.17 1.2.7 2.0.18 1.20.0 2.0.19 1.20.0-rc.1 2.0.2 1.20.0-rc.2 2.0.20 1.20.1 2.0.3 1.20.2 2.0.4 1.20.3 2.0.5 1.21.0 2.0.6 1.21.1 2.0.7 1.22.0 2.0.8 1.22.1 2.0.9 1.22.2 1.23.0 1.23.1 1.23.2 1.24.0 1.24.1 1.24.2 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.29.0 1.29.1 1.3 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 1.3.18 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.30.0 1.30.1 1.30.2 1.30.2-rc.1 1.30.3 1.30.4 1.30.4-rc.1 1.30.5 1.31.0 1.31.1 1.32.0 1.32.0-rc.1 1.33.0 1.33.1 1.33.2 1.34.0 1.35.0 1.35.1 1.36.0 1.36.1 1.36.2 1.36.3 1.37.0 1.37.1 1.37.2
advanced-ads / src / admin / screen-licenses / addon-catalog.js
advanced-ads / src / admin / screen-licenses Last commit date
components 2 days ago hooks 2 days ago License.jsx 2 days ago addon-catalog.js 2 days ago route.jsx 2 days ago utils.js 2 days ago
addon-catalog.js
183 lines
1 /**
2 * WordPress Dependencies
3 */
4 import { __ } from '@wordpress/i18n';
5
6 /**
7 * Display metadata for license add-on ids (matches PHP ADDON_PLUGIN_FILES keys).
8 *
9 * @type {Record<string, { title: string, description: string, learnMore: string, manualUrl: string, iconId: string }>}
10 */
11 export const LICENSE_ADDON_CATALOG = {
12 pro: {
13 title: __( 'Advanced Ads Pro', 'advanced-ads' ),
14 description: __(
15 'Take the monetization of your website to the next level.',
16 'advanced-ads'
17 ),
18 learnMore:
19 'https://wpadvancedads.com/add-ons/advanced-ads-pro/?utm_source=advancedads&utm_medium=in-plugin&utm_campaign=a2-in_plugin-licenses_addons-pro_addon_learn_more',
20 manualUrl:
21 'https://wpadvancedads.com/manual/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons-manual',
22 iconId: 'pro',
23 },
24 responsive: {
25 title: __( 'AMP Ads', 'advanced-ads' ),
26 description: __(
27 'Integrate your ads on AMP (Accelerated Mobile Pages) and auto-convert your Google AdSense ad units for enhanced mobile performance.',
28 'advanced-ads'
29 ),
30 learnMore:
31 'https://wpadvancedads.com/add-ons/responsive-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons',
32 manualUrl:
33 'https://wpadvancedads.com/manual/ads-on-amp-pages/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons-manual',
34 iconId: 'ampads',
35 },
36 gam: {
37 title: __( 'Google Ad Manager Integration', 'advanced-ads' ),
38 description: __(
39 'Simplify the process of implementing ad units from Google Ad Manager swiftly and without errors.',
40 'advanced-ads'
41 ),
42 learnMore:
43 'https://wpadvancedads.com/add-ons/google-ad-manager/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons',
44 manualUrl:
45 'https://wpadvancedads.com/manual/google-ad-manager-integration-manual/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons-manual',
46 iconId: 'gam',
47 },
48 layer: {
49 title: __( 'PopUp and Layer Ads', 'advanced-ads' ),
50 description: __(
51 'Capture attention with customizable pop-ups that ensure your ads and messages get noticed.',
52 'advanced-ads'
53 ),
54 learnMore:
55 'https://wpadvancedads.com/add-ons/popup-and-layer-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons',
56 manualUrl:
57 'https://wpadvancedads.com/manual/popup-and-layer-ads-documentation/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons-manual',
58 iconId: 'popuplayer',
59 },
60 selling: {
61 title: __( 'Selling Ads', 'advanced-ads' ),
62 description: __(
63 "Earn more money by enabling advertisers to buy ad space directly on your site's frontend.",
64 'advanced-ads'
65 ),
66 learnMore:
67 'https://wpadvancedads.com/add-ons/selling-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons',
68 manualUrl:
69 'https://wpadvancedads.com/manual/selling-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons-manual',
70 iconId: 'sellingads',
71 },
72 sticky: {
73 title: __( 'Sticky Ads', 'advanced-ads' ),
74 description: __(
75 'Increase click rates by anchoring ads in sticky positions above, alongside, or below your website.',
76 'advanced-ads'
77 ),
78 learnMore:
79 'https://wpadvancedads.com/add-ons/sticky-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons',
80 manualUrl:
81 'https://wpadvancedads.com/manual/sticky-ads-documentation/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons-manual',
82 iconId: 'stickyads',
83 },
84 tracking: {
85 title: __( 'Tracking', 'advanced-ads' ),
86 description: __(
87 'Monitor your ad performance to maximize your revenue.',
88 'advanced-ads'
89 ),
90 learnMore:
91 'https://wpadvancedads.com/add-ons/tracking/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons',
92 manualUrl:
93 'https://wpadvancedads.com/manual/tracking-documentation/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons-manual',
94 iconId: 'tracking',
95 },
96 };
97
98 /** Manual installation guide (zip upload via Plugins screen). */
99 export const MANUAL_INSTALL_GUIDE_URL =
100 'https://wpadvancedads.com/manual/how-to-install-an-add-on/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-manual-install';
101
102 /**
103 * @param {string} [addonId] Short add-on id for campaign tracking.
104 * @return {string} Manual install documentation URL.
105 */
106 export function getManualInstallGuideUrl( addonId = '' ) {
107 if ( ! addonId ) {
108 return MANUAL_INSTALL_GUIDE_URL;
109 }
110
111 const url = new URL( MANUAL_INSTALL_GUIDE_URL );
112 url.searchParams.set( 'addon', addonId );
113 return url.toString();
114 }
115
116 /** @type {string[]} Default All Access add-on ids when shop omits addons[]. */
117 export const ALL_ACCESS_ADDON_IDS = [
118 'pro',
119 'responsive',
120 'gam',
121 'layer',
122 'selling',
123 'sticky',
124 'tracking',
125 ];
126
127 /**
128 * @param {string} addonId License add-on id.
129 * @return {string} Icon URL under plugin assets.
130 */
131 export function getAddonIconUrl( addonId ) {
132 const catalog = LICENSE_ADDON_CATALOG[ addonId ];
133 const iconId = catalog?.iconId ?? addonId;
134 const base = advancedAds?.endpoints?.assetsUrl ?? '';
135
136 return `${ base }assets/img/add-ons/aa-addons-icons-${ iconId }.svg`;
137 }
138
139 /**
140 * Build list rows for the Included add-ons UI.
141 *
142 * @param {Object} license Rich license row.
143 * @return {Array<object>} Array of formatted add-on rows for rendering in the UI.
144 */
145 export function getIncludedAddonsForLicense( license ) {
146 const bundleUrl = String( license?.download_url ?? '' );
147 const fromApi = Array.isArray( license?.addons ) ? license.addons : [];
148
149 const entries =
150 fromApi.length > 0
151 ? fromApi
152 .map( ( row ) => ( {
153 id: String( row?.name ?? '' ).trim(),
154 downloadUrl: String( row?.download_url ?? '' ).trim(),
155 } ) )
156 .filter( ( row ) => row.id )
157 : ALL_ACCESS_ADDON_IDS.map( ( id ) => ( {
158 id,
159 downloadUrl: bundleUrl,
160 } ) );
161
162 return entries.map( ( { id, downloadUrl } ) => {
163 const meta = LICENSE_ADDON_CATALOG[ id ] ?? {
164 title: id,
165 description: '',
166 learnMore:
167 'https://wpadvancedads.com/add-ons/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons',
168 manualUrl:
169 'https://wpadvancedads.com/manual/?utm_source=advanced-ads&utm_medium=link&utm_campaign=licenses-add-ons-manual',
170 };
171
172 return {
173 id,
174 title: meta.title,
175 description: meta.description,
176 learnMore: meta.learnMore,
177 manualUrl: meta.manualUrl,
178 icon: getAddonIconUrl( id ),
179 downloadUrl,
180 };
181 } );
182 }
183