admanagekit-mcp-server 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,6 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerCodeGenerationTools = registerCodeGenerationTools;
4
4
  const zod_1 = require("zod");
5
5
  const templates_js_1 = require("../utils/templates.js");
6
+ // Mirrors config/AdLoadingStrategy.kt. All four values are valid for every
7
+ // strategy field — the schema previously omitted FRESH_WITH_CACHE_FALLBACK
8
+ // entirely and restricted native ads to two of the four.
9
+ const AD_LOADING_STRATEGIES = [
10
+ "ON_DEMAND",
11
+ "ONLY_CACHE",
12
+ "HYBRID",
13
+ "FRESH_WITH_CACHE_FALLBACK",
14
+ ];
6
15
  function registerCodeGenerationTools(server) {
7
16
  // Tool 7: generate_config
8
17
  server.tool("generate_config", "Generate AdManageKitConfig setup code for your Application class. Produces complete configuration including ad initialization, billing setup, and loading strategies.", {
@@ -30,13 +39,9 @@ function registerCodeGenerationTools(server) {
30
39
  .boolean()
31
40
  .optional()
32
41
  .describe("Enable performance tracking"),
33
- interstitial_strategy: zod_1.z
34
- .enum(["ON_DEMAND", "ONLY_CACHE", "HYBRID"])
35
- .optional(),
36
- app_open_strategy: zod_1.z
37
- .enum(["ON_DEMAND", "ONLY_CACHE", "HYBRID"])
38
- .optional(),
39
- native_strategy: zod_1.z.enum(["ON_DEMAND", "HYBRID"]).optional(),
42
+ interstitial_strategy: zod_1.z.enum(AD_LOADING_STRATEGIES).optional(),
43
+ app_open_strategy: zod_1.z.enum(AD_LOADING_STRATEGIES).optional(),
44
+ native_strategy: zod_1.z.enum(AD_LOADING_STRATEGIES).optional(),
40
45
  interstitial_auto_reload: zod_1.z.boolean().optional(),
41
46
  app_open_auto_reload: zod_1.z.boolean().optional(),
42
47
  rewarded_auto_reload: zod_1.z.boolean().optional(),
@@ -102,7 +107,7 @@ function registerCodeGenerationTools(server) {
102
107
  .optional()
103
108
  .describe("For interstitial: how to show the ad"),
104
109
  loading_strategy: zod_1.z
105
- .enum(["ON_DEMAND", "ONLY_CACHE", "HYBRID"])
110
+ .enum(AD_LOADING_STRATEGIES)
106
111
  .optional()
107
112
  .describe("Loading strategy to use"),
108
113
  use_caching: zod_1.z
@@ -171,12 +176,16 @@ function registerCodeGenerationTools(server) {
171
176
  "setup",
172
177
  "purchase",
173
178
  "subscribe",
179
+ "offers",
174
180
  "consumable",
175
181
  "subscription_management",
182
+ "account_hold",
176
183
  "expiry_verification",
177
184
  "complete",
178
185
  ])
179
- .describe("Which billing scenario to generate code for"),
186
+ .describe("Which billing scenario to generate code for. 'offers' covers multi-offer paywalls " +
187
+ "(enumerating offers, buying a specific one, savings badges, trial eligibility); " +
188
+ "'account_hold' covers declined-payment detection and Play's recovery flow."),
180
189
  products: zod_1.z
181
190
  .array(zod_1.z.object({
182
191
  product_id: zod_1.z.string(),
@@ -235,7 +244,7 @@ function registerCodeGenerationTools(server) {
235
244
  .optional()
236
245
  .describe("For native_template: NativeAdTemplate value (e.g., MATERIAL3)"),
237
246
  loading_strategy: zod_1.z
238
- .enum(["ON_DEMAND", "ONLY_CACHE", "HYBRID"])
247
+ .enum(AD_LOADING_STRATEGIES)
239
248
  .optional(),
240
249
  with_callbacks: zod_1.z.boolean().optional(),
241
250
  show_mode: zod_1.z
@@ -1 +1 @@
1
- {"version":3,"file":"code-generation.js","sourceRoot":"","sources":["../../src/tools/code-generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-generation.js","sourceRoot":"","sources":["../../src/tools/code-generation.ts"],"names":[],"mappings":";;AAmBA,kEAoSC;AAtTD,6BAAwB;AACxB,wDAK+B;AAE/B,2EAA2E;AAC3E,2EAA2E;AAC3E,yDAAyD;AACzD,MAAM,qBAAqB,GAAG;IAC5B,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,2BAA2B;CACnB,CAAC;AAEX,SAAgB,2BAA2B,CAAC,MAAiB;IAC3D,0BAA0B;IAC1B,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,uKAAuK,EACvK;QACE,QAAQ,EAAE,OAAC;aACR,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aACxB,QAAQ,EAAE;aACV,OAAO,CAAC,QAAQ,CAAC;aACjB,QAAQ,CAAC,mCAAmC,CAAC;QAChD,QAAQ,EAAE,OAAC;aACR,MAAM,CAAC;YACN,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAChE,gBAAgB,EAAE,OAAC;iBAChB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,4BAA4B,CAAC;YACzC,UAAU,EAAE,OAAC;iBACV,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,2CAA2C,CAAC;YACxD,kBAAkB,EAAE,OAAC;iBAClB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iCAAiC,CAAC;YAC9C,mBAAmB,EAAE,OAAC;iBACnB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,6BAA6B,CAAC;YAC1C,qBAAqB,EAAE,OAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE;YAC/D,iBAAiB,EAAE,OAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE;YAC3D,eAAe,EAAE,OAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE;YACzD,wBAAwB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAChD,oBAAoB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC5C,oBAAoB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC5C,OAAO,EAAE,OAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,uBAAuB,CAAC;YACpC,gBAAgB,EAAE,OAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,qBAAqB,CAAC;YAClC,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SAC/D,CAAC;aACD,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;KACf,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,IAAA,6BAAc,EAAC;YAC1B,QAAQ;YACR,GAAG,QAAQ;SACZ,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,SAAS,QAAQ,KAAK,IAAI,UAAU;iBAC3C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,kCAAkC;IAClC,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,uIAAuI,EACvI;QACE,OAAO,EAAE,OAAC;aACP,IAAI,CAAC;YACJ,cAAc;YACd,QAAQ;YACR,cAAc;YACd,eAAe;YACf,cAAc;YACd,iBAAiB;YACjB,UAAU;YACV,UAAU;SACX,CAAC;aACD,QAAQ,CAAC,qCAAqC,CAAC;QAClD,QAAQ,EAAE,OAAC;aACR,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aACxB,QAAQ,EAAE;aACV,OAAO,CAAC,QAAQ,CAAC;aACjB,QAAQ,CAAC,mCAAmC,CAAC;QAChD,UAAU,EAAE,OAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0CAA0C,CAAC;QACvD,OAAO,EAAE,OAAC;aACP,MAAM,CAAC;YACN,YAAY,EAAE,OAAC;iBACZ,IAAI,CAAC;gBACJ,OAAO;gBACP,YAAY;gBACZ,aAAa;gBACb,SAAS;gBACT,aAAa;aACd,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,sCAAsC,CAAC;YACnD,gBAAgB,EAAE,OAAC;iBAChB,IAAI,CAAC,qBAAqB,CAAC;iBAC3B,QAAQ,EAAE;iBACV,QAAQ,CAAC,yBAAyB,CAAC;YACtC,WAAW,EAAE,OAAC;iBACX,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,gCAAgC,CAAC;YAC7C,QAAQ,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,mEAAmE,CACpE;YACH,WAAW,EAAE,OAAC;iBACX,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,oCAAoC,CAAC;YACjD,cAAc,EAAE,OAAC;iBACd,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;YAC7D,cAAc,EAAE,OAAC;iBACd,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,qDAAqD,CAAC;YAClE,iBAAiB,EAAE,OAAC;iBACjB,MAAM,CAAC;gBACN,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACrC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAChC,oBAAoB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC5C,CAAC;iBACD,QAAQ,EAAE;YACb,kBAAkB,EAAE,OAAC;iBAClB,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CAAC,2CAA2C,CAAC;YACxD,WAAW,EAAE,OAAC;iBACX,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,6BAA6B,CAAC;SAC3C,CAAC;aACD,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;KACf,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,IAAA,oCAAqB,EAAC;YACjC,OAAO;YACP,QAAQ;YACR,UAAU;YACV,GAAG,OAAO;SACX,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,SAAS,QAAQ,KAAK,IAAI,UAAU;iBAC3C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,gCAAgC;IAChC,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,yJAAyJ,EACzJ;QACE,QAAQ,EAAE,OAAC;aACR,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aACxB,QAAQ,EAAE;aACV,OAAO,CAAC,QAAQ,CAAC;aACjB,QAAQ,CAAC,mCAAmC,CAAC;QAChD,QAAQ,EAAE,OAAC;aACR,IAAI,CAAC;YACJ,OAAO;YACP,UAAU;YACV,WAAW;YACX,QAAQ;YACR,YAAY;YACZ,yBAAyB;YACzB,cAAc;YACd,qBAAqB;YACrB,UAAU;SACX,CAAC;aACD,QAAQ,CACP,oFAAoF;YAClF,kFAAkF;YAClF,4EAA4E,CAC/E;QACH,QAAQ,EAAE,OAAC;aACR,KAAK,CACJ,OAAC,CAAC,MAAM,CAAC;YACP,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;YACtB,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAC1C,QAAQ,EAAE,OAAC;iBACR,IAAI,CAAC;gBACJ,YAAY;gBACZ,gBAAgB;gBAChB,kBAAkB;gBAClB,YAAY;aACb,CAAC;iBACD,QAAQ,EAAE;YACb,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACnC,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,gCAAgC,CAAC;KAC9C,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzC,MAAM,IAAI,GAAG,IAAA,kCAAmB,EAAC;YAC/B,QAAQ;YACR,QAAQ;YACR,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,SAAS,QAAQ,KAAK,IAAI,UAAU;iBAC3C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,iCAAiC;IACjC,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,sLAAsL,EACtL;QACE,SAAS,EAAE,OAAC;aACT,IAAI,CAAC;YACJ,QAAQ;YACR,iBAAiB;YACjB,cAAc;YACd,eAAe;YACf,cAAc;YACd,cAAc;YACd,oBAAoB;YACpB,gBAAgB;YAChB,eAAe;YACf,iBAAiB;SAClB,CAAC;aACD,QAAQ,CAAC,qCAAqC,CAAC;QAClD,UAAU,EAAE,OAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,uCAAuC,CAAC;QACpD,OAAO,EAAE,OAAC;aACP,MAAM,CAAC;YACN,QAAQ,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,+DAA+D,CAChE;YACH,gBAAgB,EAAE,OAAC;iBAChB,IAAI,CAAC,qBAAqB,CAAC;iBAC3B,QAAQ,EAAE;YACb,cAAc,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACtC,SAAS,EAAE,OAAC;iBACT,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;iBACrD,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;SAC1D,CAAC;aACD,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;KACf,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,IAAA,kCAAmB,EAAC;YAC/B,SAAS;YACT,UAAU;YACV,GAAG,OAAO;SACX,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,iBAAiB,IAAI,UAAU;iBACtC;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -46,6 +46,12 @@ function generateConfigKotlin(o) {
46
46
  : `"${types_js_1.TEST_AD_UNITS.app_open}"`;
47
47
  const imports = [
48
48
  "import android.app.Application",
49
+ "import android.content.pm.PackageManager",
50
+ "import android.os.Handler",
51
+ "import android.os.Looper",
52
+ "import com.google.android.libraries.ads.mobile.sdk.MobileAds",
53
+ "import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig",
54
+ "import com.i2hammad.admanagekit.admob.AppOpenManager",
49
55
  "import com.i2hammad.admanagekit.config.AdManageKitConfig",
50
56
  ];
51
57
  if (o.interstitial_strategy ||
@@ -54,16 +60,15 @@ function generateConfigKotlin(o) {
54
60
  imports.push("import com.i2hammad.admanagekit.config.AdLoadingStrategy");
55
61
  }
56
62
  if (o.billing) {
57
- imports.push("import com.i2hammad.admanagekit.core.BillingConfig");
63
+ imports.push("import com.i2hammad.admanagekit.billing.AppPurchase");
64
+ imports.push("import com.i2hammad.admanagekit.billing.PurchaseItem");
58
65
  imports.push("import com.i2hammad.admanagekit.billing.BillingPurchaseProvider");
66
+ imports.push("import com.i2hammad.admanagekit.core.BillingConfig");
59
67
  }
60
- if (o.app_open_ad_unit !== undefined || true) {
61
- imports.push("import com.i2hammad.admanagekit.admob.AppOpenManager");
62
- }
63
- return `${imports.join("\n")}
68
+ return `${imports.sort().join("\n")}
64
69
 
65
70
  class MyApp : Application() {
66
- private lateinit var appOpenManager: AppOpenManager
71
+ private var appOpenManager: AppOpenManager? = null
67
72
 
68
73
  override fun onCreate() {
69
74
  super.onCreate()
@@ -74,13 +79,61 @@ ${configLines.join("\n")}
74
79
  }
75
80
  ${o.billing
76
81
  ? `
77
- // Set up billing provider
78
- BillingConfig.setPurchaseProvider(BillingPurchaseProvider())
82
+ initBilling()
79
83
  `
80
84
  : ""}
81
- // Initialize app open ads
82
- appOpenManager = AppOpenManager(this, ${appOpenUnit})
85
+ initAds()
83
86
  }
87
+
88
+ /**
89
+ * Since v4.2.0 AdManageKit runs on the Next-Gen Google Mobile Ads SDK, which
90
+ * removed the legacy SDK's silent lazy-init. MobileAds.initialize() must be
91
+ * called explicitly once before any ad request — AdManageKit does not do it
92
+ * for you, because it does not own your consent flow.
93
+ */
94
+ private fun initAds() {
95
+ val config = InitializationConfig.Builder(readApplicationIdFromManifest()).build()
96
+
97
+ // initialize() is blocking, so keep it off the main thread or it can ANR.
98
+ Thread {
99
+ MobileAds.initialize(this, config)
100
+
101
+ // Construct AppOpenManager only after initialize() returns. It registers
102
+ // a lifecycle observer that can fire a load immediately, and the Next-Gen
103
+ // SDK rejects requests made before initialization completes.
104
+ Handler(Looper.getMainLooper()).post {
105
+ appOpenManager = AppOpenManager(this, ${appOpenUnit})
106
+ }
107
+ }.start()
108
+ }
109
+
110
+ /**
111
+ * The Next-Gen SDK does not read the manifest tag automatically like the
112
+ * legacy SDK did, so the application id must be supplied explicitly.
113
+ */
114
+ private fun readApplicationIdFromManifest(): String {
115
+ val appInfo = packageManager.getApplicationInfo(packageName, PackageManager.GET_META_DATA)
116
+ return appInfo.metaData.getString("com.google.android.gms.ads.APPLICATION_ID")
117
+ ?: error("Missing com.google.android.gms.ads.APPLICATION_ID meta-data in AndroidManifest.xml")
118
+ }${o.billing
119
+ ? `
120
+
121
+ private fun initBilling() {
122
+ // A library AAR is always compiled with BuildConfig.DEBUG = false, so the
123
+ // host app must inject its own build state. Call this BEFORE initBilling().
124
+ AppPurchase.getInstance().setDebugMode(BuildConfig.DEBUG)
125
+
126
+ val products = listOf(
127
+ PurchaseItem("remove_ads", AppPurchase.TYPE_IAP.PURCHASE, PurchaseItem.PurchaseCategory.REMOVE_ADS),
128
+ PurchaseItem("premium_monthly", AppPurchase.TYPE_IAP.SUBSCRIPTION),
129
+ PurchaseItem("premium_yearly", AppPurchase.TYPE_IAP.SUBSCRIPTION)
130
+ )
131
+ AppPurchase.getInstance().initBilling(this, products)
132
+
133
+ // Lets every ad component skip loading for paying users.
134
+ BillingConfig.setPurchaseProvider(BillingPurchaseProvider())
135
+ }`
136
+ : ""}
84
137
  }`;
85
138
  }
86
139
  function generateConfigJava(o) {
@@ -101,10 +154,17 @@ function generateConfigJava(o) {
101
154
  configLines.push(` AdManageKitConfig.INSTANCE.setNativeLoadingStrategy(AdLoadingStrategy.${o.native_strategy});`);
102
155
  const appOpenUnit = o.app_open_ad_unit || types_js_1.TEST_AD_UNITS.app_open;
103
156
  return `import android.app.Application;
157
+ import android.content.pm.PackageManager;
158
+ import android.os.Handler;
159
+ import android.os.Looper;
160
+ import java.util.Arrays;
161
+ import java.util.List;
162
+ import com.google.android.libraries.ads.mobile.sdk.MobileAds;
163
+ import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig;
104
164
  import com.i2hammad.admanagekit.config.AdManageKitConfig;
105
165
  import com.i2hammad.admanagekit.config.AdLoadingStrategy;
106
166
  import com.i2hammad.admanagekit.admob.AppOpenManager;
107
- ${o.billing ? "import com.i2hammad.admanagekit.core.BillingConfig;\nimport com.i2hammad.admanagekit.billing.BillingPurchaseProvider;\n" : ""}
167
+ ${o.billing ? "import com.i2hammad.admanagekit.billing.AppPurchase;\nimport com.i2hammad.admanagekit.billing.PurchaseItem;\nimport com.i2hammad.admanagekit.billing.BillingPurchaseProvider;\nimport com.i2hammad.admanagekit.core.BillingConfig;\n" : ""}
108
168
  public class MyApp extends Application {
109
169
  private AppOpenManager appOpenManager;
110
170
 
@@ -114,10 +174,67 @@ public class MyApp extends Application {
114
174
 
115
175
  // Configure AdManageKit
116
176
  ${configLines.join("\n")}
117
- ${o.billing ? "\n // Set up billing provider\n BillingConfig.INSTANCE.setPurchaseProvider(new BillingPurchaseProvider());\n" : ""}
118
- // Initialize app open ads
119
- appOpenManager = new AppOpenManager(this, "${appOpenUnit}");
177
+ ${o.billing ? "\n initBilling();\n" : ""}
178
+ initAds();
179
+ }
180
+
181
+ /**
182
+ * Since v4.2.0 AdManageKit runs on the Next-Gen Google Mobile Ads SDK, which
183
+ * removed the legacy SDK's silent lazy-init. MobileAds.initialize() must be
184
+ * called explicitly once before any ad request.
185
+ */
186
+ private void initAds() {
187
+ InitializationConfig config =
188
+ new InitializationConfig.Builder(readApplicationIdFromManifest()).build();
189
+
190
+ // initialize() is blocking, so keep it off the main thread or it can ANR.
191
+ new Thread(() -> {
192
+ MobileAds.initialize(this, config);
193
+
194
+ // Construct AppOpenManager only after initialize() returns — it registers a
195
+ // lifecycle observer that can request an ad immediately, and the Next-Gen SDK
196
+ // rejects requests made before initialization completes.
197
+ new Handler(Looper.getMainLooper()).post(() ->
198
+ appOpenManager = new AppOpenManager(this, "${appOpenUnit}"));
199
+ }).start();
120
200
  }
201
+
202
+ /**
203
+ * The Next-Gen SDK does not read the manifest tag automatically like the
204
+ * legacy SDK did, so the application id must be supplied explicitly.
205
+ */
206
+ private String readApplicationIdFromManifest() {
207
+ try {
208
+ android.content.pm.ApplicationInfo info = getPackageManager()
209
+ .getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
210
+ String id = info.metaData.getString("com.google.android.gms.ads.APPLICATION_ID");
211
+ if (id == null) {
212
+ throw new IllegalStateException(
213
+ "Missing com.google.android.gms.ads.APPLICATION_ID meta-data in AndroidManifest.xml");
214
+ }
215
+ return id;
216
+ } catch (PackageManager.NameNotFoundException e) {
217
+ throw new IllegalStateException(e);
218
+ }
219
+ }${o.billing
220
+ ? `
221
+
222
+ private void initBilling() {
223
+ // A library AAR is always compiled with BuildConfig.DEBUG = false, so the
224
+ // host app must inject its own build state. Call this BEFORE initBilling().
225
+ AppPurchase.getInstance().setDebugMode(BuildConfig.DEBUG);
226
+
227
+ List<PurchaseItem> products = Arrays.asList(
228
+ new PurchaseItem("remove_ads", AppPurchase.TYPE_IAP.PURCHASE,
229
+ PurchaseItem.PurchaseCategory.REMOVE_ADS),
230
+ new PurchaseItem("premium_monthly", AppPurchase.TYPE_IAP.SUBSCRIPTION),
231
+ new PurchaseItem("premium_yearly", AppPurchase.TYPE_IAP.SUBSCRIPTION));
232
+ AppPurchase.getInstance().initBilling(this, products);
233
+
234
+ // Lets every ad component skip loading for paying users.
235
+ BillingConfig.INSTANCE.setPurchaseProvider(new BillingPurchaseProvider());
236
+ }`
237
+ : ""}
121
238
  }`;
122
239
  }
123
240
  function generateAdIntegration(options) {
@@ -449,18 +566,24 @@ function generateBillingCode(options) {
449
566
  return generateBillingPurchase();
450
567
  case "subscribe":
451
568
  return generateBillingSubscribe();
569
+ case "offers":
570
+ return generateBillingOffers();
452
571
  case "consumable":
453
572
  return generateBillingConsumable();
454
573
  case "subscription_management":
455
574
  return generateBillingSubscriptionMgmt();
575
+ case "account_hold":
576
+ return generateBillingAccountHold();
456
577
  case "expiry_verification":
457
578
  return generateBillingExpiryVerification();
458
579
  case "complete":
459
580
  return [
460
581
  generateBillingSetup(options),
461
582
  generateBillingPurchase(),
583
+ generateBillingOffers(),
462
584
  generateBillingConsumable(),
463
585
  generateBillingSubscriptionMgmt(),
586
+ generateBillingAccountHold(),
464
587
  ].join("\n\n// ---\n\n");
465
588
  default:
466
589
  return `// Unknown billing scenario: ${scenario}`;
@@ -487,6 +610,12 @@ function generateBillingSetup(o) {
487
610
  })
488
611
  .join(",\n");
489
612
  return `import com.i2hammad.admanagekit.billing.*
613
+ import com.i2hammad.admanagekit.core.BillingConfig
614
+
615
+ // A library AAR is always compiled with BuildConfig.DEBUG = false, so the host
616
+ // app must inject its own build state. In debug builds this routes purchase()/
617
+ // subscribe() to the dev bottom sheet. Call this BEFORE initBilling().
618
+ AppPurchase.getInstance().setDebugMode(BuildConfig.DEBUG)
490
619
 
491
620
  // Define products
492
621
  val products = listOf(
@@ -497,12 +626,39 @@ ${productLines}
497
626
  AppPurchase.getInstance().initBilling(application, products)
498
627
 
499
628
  // Set up billing provider for ad suppression
500
- BillingConfig.setPurchaseProvider(BillingPurchaseProvider())`;
629
+ BillingConfig.setPurchaseProvider(BillingPurchaseProvider())
630
+
631
+ // Optional but recommended: hashed identifiers Google uses for fraud detection.
632
+ // Never pass raw emails or user ids; max 64 characters.
633
+ AppPurchase.getInstance().setObfuscatedAccountId(sha256(userId))
634
+
635
+ // Diagnose an empty paywall — reports which product ids Play declined and why.
636
+ // Register BEFORE initBilling().
637
+ AppPurchase.getInstance().setProductDetailsListener(object : ProductDetailsListener {
638
+ override fun onProductDetailsLoaded(
639
+ productType: String,
640
+ loaded: List<ProductDetails>,
641
+ unfetched: List<UnfetchedProduct>,
642
+ ) {
643
+ unfetched.forEach { Log.e("Billing", "\${it.productId}: status \${it.statusCode}") }
644
+ }
645
+
646
+ override fun onProductDetailsFailed(productType: String, responseCode: Int, debugMessage: String?) {
647
+ Log.e("Billing", "\$productType query failed: \$responseCode \$debugMessage")
648
+ }
649
+ })`;
501
650
  }
502
651
  function generateBillingPurchase() {
503
652
  return `// Purchase a product
504
653
  AppPurchase.getInstance().purchase(activity, "remove_ads")
505
654
 
655
+ // If the product has multiple offers (a launch discount, a rental, a
656
+ // limited-quantity drop), buy the specific one instead — see the
657
+ // "offers" scenario.
658
+ AppPurchase.getInstance().getBestOneTimeOffer("remove_ads")?.let { offer ->
659
+ AppPurchase.getInstance().purchase(activity, offer)
660
+ }
661
+
506
662
  // Check purchase status
507
663
  if (AppPurchase.getInstance().isPurchased()) {
508
664
  // User has premium access
@@ -519,15 +675,115 @@ AppPurchase.getInstance().setPurchaseHistoryListener(object : PurchaseHistoryLis
519
675
  })`;
520
676
  }
521
677
  function generateBillingSubscribe() {
522
- return `// Subscribe
523
- AppPurchase.getInstance().subscribe(activity, "premium_monthly")
678
+ return `val billing = AppPurchase.getInstance()
679
+
680
+ // Simple case — one offer on the product. The library picks the offer for you:
681
+ // the id configured as PurchaseItem.trialId, otherwise Play's LAST offer.
682
+ billing.subscribe(activity, "premium_monthly")
683
+
684
+ // If the product has more than one offer (base plan + free trial + intro offer),
685
+ // the line above can charge for a plan the user did not pick. Pass the offer
686
+ // explicitly instead — see the "offers" scenario for a full paywall.
687
+ val offers = billing.getOffers("premium_monthly")
688
+ billing.subscribe(activity, offers[selectedIndex])
524
689
 
525
690
  // Check subscription state
526
- val state = AppPurchase.getInstance().getSubscriptionState("premium_monthly")
527
- when (state) {
691
+ when (billing.getSubscriptionState("premium_monthly")) {
528
692
  SubscriptionState.ACTIVE -> showPremiumUI()
529
- SubscriptionState.CANCELLED -> showRenewalPrompt()
693
+ SubscriptionState.CANCELLED -> showRenewalPrompt() // Still has access
694
+ SubscriptionState.ON_HOLD -> showFixPaymentPrompt() // Payment declined — no access
530
695
  SubscriptionState.EXPIRED -> showSubscribeButton()
696
+ else -> showSubscribeButton()
697
+ }`;
698
+ }
699
+ function generateBillingOffers() {
700
+ return `val billing = AppPurchase.getInstance()
701
+
702
+ // A subscription product usually carries several offers — a base plan, a free
703
+ // trial, an introductory discount. Play returns only the ones THIS account is
704
+ // eligible for, so the list is already personalized.
705
+ for (offer in billing.getOffers("premium_monthly")) {
706
+ Log.d("IAP", "\${offer.basePlanId}/\${offer.offerId} " +
707
+ "trial=\${offer.isFreeTrial} intro=\${offer.introPrice} base=\${offer.basePrice}")
708
+ }
709
+
710
+ // Find a specific offer rather than relying on list order
711
+ billing.getIntroOffer("premium_monthly") // first with an intro price
712
+ billing.getTrialOffer("premium_monthly") // first with a free trial
713
+ billing.getOfferByBasePlanId("premium_yearly", "yearly") // by base plan id
714
+ billing.getOfferByTag("premium_yearly", "popular") // by Play Console offer tag
715
+ billing.getBestValueOffer("premium_yearly") // lowest cost per month
716
+ billing.getCheapestFirstCycleOffer("premium_yearly") // cheapest way in
717
+
718
+ // Render an offer without hand-parsing ProductDetails or ISO-8601 periods
719
+ val offer = billing.getBaseOffer("premium_yearly") ?: return
720
+
721
+ priceLabel.text = offer.basePrice // "\$59.99"
722
+ cycleLabel.text = BillingPeriod.formatOf(offer.billingPeriod) // "1 year"
723
+ perMonthLabel.text = AppPurchase.formatPrice(offer.pricePerMonthMicros, offer.currencyCode)
724
+ todayLabel.text = offer.firstCyclePrice // "Free", "\$1.99" or "\$59.99"
725
+
726
+ // "Save 50%" badge — compares BASE offers, so trial/intro phases don't distort it
727
+ val savings = billing.getSavingsPercent("premium_monthly", "premium_yearly")
728
+ savingsBadge.isVisible = savings > 0
729
+ savingsBadge.text = "Save \$savings%"
730
+
731
+ // Only promise a trial this account can actually claim, or Play charges immediately
732
+ subscribeButton.text = if (billing.isEligibleForFreeTrial("premium_monthly")) {
733
+ "Start free trial"
734
+ } else {
735
+ "Subscribe"
736
+ }
737
+
738
+ // Buy exactly the offer the user tapped
739
+ subscribeButton.setOnClickListener { billing.subscribe(activity, offer) }
740
+
741
+ // One-time products can carry multiple offers too (discounts, rentals,
742
+ // pre-orders, limited quantity)
743
+ billing.getBestOneTimeOffer("remove_ads")?.let { oneTime ->
744
+ price.text = oneTime.formattedPrice
745
+ badge.isVisible = oneTime.isDiscounted
746
+ badge.text = "-\${oneTime.effectiveDiscountPercent}%"
747
+ buyButton.isEnabled = !oneTime.isSoldOut && oneTime.isValidAt()
748
+ buyButton.setOnClickListener { billing.purchase(activity, oneTime) }
749
+ }
750
+
751
+ // NOTE: localize periods with BillingPeriod.parse(iso) and pair unit + count with
752
+ // your own plurals resources. BillingPeriod.formatOf() is English-only.`;
753
+ }
754
+ function generateBillingAccountHold() {
755
+ return `val billing = AppPurchase.getInstance()
756
+
757
+ // When Play cannot charge a subscriber, the subscription enters ACCOUNT HOLD.
758
+ // The purchase record still exists, but the user has NOT paid.
759
+ // Detected client-side since v4.4.0 — it used to need server-side verification.
760
+ if (billing.hasSubscriptionOnHold()) {
761
+ // Play shows the user an in-app flow to fix their payment method.
762
+ // Google recommends calling this on foreground entry for subscription apps.
763
+ billing.showInAppMessages(activity, object : InAppMessageListener {
764
+ override fun onSubscriptionRecovered(purchaseToken: String) {
765
+ // AppPurchase already refreshed its state — isPurchased() is correct here.
766
+ refreshPremiumUi()
767
+ }
768
+
769
+ override fun onNoActionNeeded() { }
770
+ })
771
+ }
772
+
773
+ // Per-subscription check
774
+ val subscription = billing.getSubscription("premium_monthly")
775
+ if (subscription?.isSuspended == true) {
776
+ showFixPaymentPrompt()
777
+ }
778
+
779
+ // IMPORTANT: isSubscriptionActive() returns false during account hold, which is
780
+ // what Google requires — an on-hold user must not keep premium access. If your
781
+ // app deliberately keeps serving these users, check isSuspended() explicitly.
782
+
783
+ // A plan change the user started but has not paid for yet. The CURRENT plan
784
+ // remains the entitlement in force until it completes.
785
+ if (billing.hasPendingSubscriptionChange()) {
786
+ showPlanChangePendingBanner()
531
787
  }`;
532
788
  }
533
789
  function generateBillingConsumable() {
@@ -545,27 +801,44 @@ AppPurchase.getInstance().setPurchaseHistoryListener(object : PurchaseHistoryLis
545
801
  })`;
546
802
  }
547
803
  function generateBillingSubscriptionMgmt() {
548
- return `// Check subscription state
549
- val state = AppPurchase.getInstance().getSubscriptionState("premium_monthly")
550
- when (state) {
804
+ return `val billing = AppPurchase.getInstance()
805
+
806
+ // Check subscription state
807
+ when (billing.getSubscriptionState("premium_monthly")) {
551
808
  SubscriptionState.ACTIVE -> showPremiumUI()
552
- SubscriptionState.CANCELLED -> showRenewalPrompt() // Still has access until period ends
809
+ SubscriptionState.CANCELLED -> showRenewalPrompt() // Still has access until period ends
810
+ SubscriptionState.ON_HOLD -> showFixPaymentPrompt() // Payment declined — no access (v4.4.0+)
553
811
  SubscriptionState.EXPIRED -> showSubscribeButton()
812
+ else -> showSubscribeButton()
554
813
  }
555
814
 
556
815
  // Upgrade subscription
557
- AppPurchase.getInstance().upgradeSubscription(activity, "premium_yearly")
816
+ billing.upgradeSubscription(activity, "premium_yearly")
558
817
 
559
818
  // Downgrade subscription
560
- AppPurchase.getInstance().downgradeSubscription(activity, "premium_basic")
819
+ billing.downgradeSubscription(activity, "premium_basic")
561
820
 
562
821
  // Full control with proration mode
563
- AppPurchase.getInstance().changeSubscription(
822
+ billing.changeSubscription(
564
823
  activity,
565
824
  "premium_monthly", // from
566
825
  "premium_yearly", // to
567
826
  SubscriptionReplacementMode.CHARGE_PRORATED_PRICE
568
- )`;
827
+ )
828
+
829
+ // Upgrade onto a SPECIFIC offer of the new plan. The overloads above let the
830
+ // library resolve the offer, which may not be the one the user selected.
831
+ val target = billing.getOfferByBasePlanId("premium_yearly", "yearly")
832
+ val current = billing.getSubscription("premium_monthly")
833
+ if (target != null && current != null) {
834
+ billing.updateSubscription(
835
+ activity,
836
+ "premium_yearly",
837
+ target.offerToken,
838
+ current.purchaseToken,
839
+ AppPurchase.SubscriptionReplacementMode.CHARGE_PRORATED_PRICE
840
+ )
841
+ }`;
569
842
  }
570
843
  function generateBillingExpiryVerification() {
571
844
  return `// Set up server-side verification callback
@@ -593,21 +866,65 @@ AppPurchase.getInstance().verifySubscription("premium_monthly",
593
866
  )`;
594
867
  }
595
868
  function generateBillingJava(o) {
596
- return `// Billing setup (Java)
869
+ return `// ─── Setup ───────────────────────────────────────────────────
870
+ // A library AAR is always compiled with BuildConfig.DEBUG = false, so the host
871
+ // app must inject its own build state. Call this BEFORE initBilling().
872
+ AppPurchase.getInstance().setDebugMode(BuildConfig.DEBUG);
873
+
597
874
  List<PurchaseItem> products = Arrays.asList(
598
- new PurchaseItem("remove_ads", TYPE_IAP.PURCHASE, PurchaseCategory.REMOVE_ADS),
599
- new PurchaseItem("premium_monthly", "free_trial", TYPE_IAP.SUBSCRIPTION)
875
+ new PurchaseItem("remove_ads", AppPurchase.TYPE_IAP.PURCHASE,
876
+ PurchaseItem.PurchaseCategory.REMOVE_ADS),
877
+ new PurchaseItem("premium_monthly", AppPurchase.TYPE_IAP.SUBSCRIPTION),
878
+ new PurchaseItem("premium_yearly", AppPurchase.TYPE_IAP.SUBSCRIPTION)
600
879
  );
601
880
 
602
881
  AppPurchase.getInstance().initBilling(getApplication(), products);
603
882
  BillingConfig.INSTANCE.setPurchaseProvider(new BillingPurchaseProvider());
604
883
 
605
- // Purchase
884
+ // ─── Purchase ────────────────────────────────────────────────
606
885
  AppPurchase.getInstance().purchase(activity, "remove_ads");
607
886
 
608
- // Check status
609
887
  if (AppPurchase.getInstance().isPurchased()) {
610
888
  // User has premium access
889
+ }
890
+
891
+ // ─── Offers ──────────────────────────────────────────────────
892
+ // A subscription usually has several offers. subscribe(activity, id) resolves
893
+ // the offer itself and may not pick the one the user tapped — pass it directly.
894
+ AppPurchase billing = AppPurchase.getInstance();
895
+ List<OfferInfo> offers = billing.getOffers("premium_monthly");
896
+ billing.subscribe(activity, offers.get(selectedIndex));
897
+
898
+ OfferInfo base = billing.getBaseOffer("premium_yearly");
899
+ if (base != null) {
900
+ priceLabel.setText(base.getBasePrice());
901
+ cycleLabel.setText(BillingPeriod.formatOf(base.getBillingPeriod()));
902
+ perMonthLabel.setText(
903
+ AppPurchase.formatPrice(base.getPricePerMonthMicros(), base.getCurrencyCode()));
904
+ }
905
+
906
+ int savings = billing.getSavingsPercent("premium_monthly", "premium_yearly");
907
+ if (savings > 0) {
908
+ savingsBadge.setText("Save " + savings + "%");
909
+ }
910
+
911
+ // Only promise a trial this account can actually claim
912
+ subscribeButton.setText(
913
+ billing.isEligibleForFreeTrial("premium_monthly") ? "Start free trial" : "Subscribe");
914
+
915
+ // ─── Account hold ────────────────────────────────────────────
916
+ // isSubscriptionActive() returns false during account hold — the user's payment
917
+ // was declined and they must not keep premium access.
918
+ if (billing.hasSubscriptionOnHold()) {
919
+ billing.showInAppMessages(activity, new InAppMessageListener() {
920
+ @Override
921
+ public void onSubscriptionRecovered(@NonNull String purchaseToken) {
922
+ refreshPremiumUi();
923
+ }
924
+
925
+ @Override
926
+ public void onNoActionNeeded() { }
927
+ });
611
928
  }`;
612
929
  }
613
930
  function generateComposeCode(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "admanagekit-mcp-server",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "MCP server for AdManageKit Android library - documentation lookup and code generation",
5
5
  "main": "dist/index.js",
6
6
  "bin": {