@maccesar/titools 5.1.1 → 5.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.
- package/README.md +44 -12
- package/agents/ti-pro.md +4 -0
- package/commands/ti-audit.md +4 -0
- package/lib/config.js +2 -0
- package/package.json +1 -1
- package/skills/ti-admob-unified/SKILL.md +44 -0
- package/skills/ti-admob-unified/agents/openai.yaml +4 -0
- package/skills/ti-admob-unified/assets/example/app.js +1003 -0
- package/skills/ti-admob-unified/assets/example/lib/ads.js +618 -0
- package/skills/ti-admob-unified/assets/example/library-usage.js +104 -0
- package/skills/ti-admob-unified/references/api-reference.md +592 -0
- package/skills/ti-admob-unified/references/banners.md +435 -0
- package/skills/ti-admob-unified/references/contributing.md +228 -0
- package/skills/ti-admob-unified/references/dependencies.md +85 -0
- package/skills/ti-admob-unified/references/fullscreen.md +223 -0
- package/skills/ti-admob-unified/references/game-monetization.md +17 -0
- package/skills/ti-admob-unified/references/getting-started.md +275 -0
- package/skills/ti-admob-unified/references/index.md +30 -0
- package/skills/ti-admob-unified/references/integration.md +85 -0
- package/skills/ti-admob-unified/references/library.md +189 -0
- package/skills/ti-admob-unified/references/mediation.md +132 -0
- package/skills/ti-admob-unified/references/migration.md +255 -0
- package/skills/ti-admob-unified/references/module-changelog.md +54 -0
- package/skills/ti-admob-unified/references/module-license.txt +21 -0
- package/skills/ti-admob-unified/references/privacy.md +254 -0
- package/skills/ti-admob-unified/references/roadmap.md +146 -0
- package/skills/ti-admob-unified/references/source-notes.md +33 -0
- package/skills/ti-admob-unified/references/source-snapshot.json +440 -0
- package/skills/ti-admob-unified/references/third-party-notices.md +22 -0
- package/skills/ti-game/SKILL.md +10 -1
- package/skills/ti-game/references/api.md +10 -2
- package/skills/ti-game/references/debugging-performance.md +6 -0
- package/skills/ti-game/references/examples.md +11 -1
- package/skills/ti-game/references/patterns.md +24 -2
- package/skills/ti-game/references/physics.md +502 -0
- package/skills/ti-game/references/project-setup.md +23 -1
- package/skills/ti-game/references/recipes-action.md +46 -14
- package/skills/ti-game/references/recipes-adventure-effects.md +12 -1
- package/skills/ti-game/references/roadmap.md +2 -2
- package/skills/ti-game/references/tilemaps.md +2 -1
- package/skills/ti-game-assets/SKILL.md +53 -0
- package/skills/ti-game-assets/agents/openai.yaml +4 -0
- package/skills/ti-game-assets/references/alpha.md +26 -0
- package/skills/ti-game-assets/references/art-direction.md +37 -0
- package/skills/ti-game-assets/references/integration.md +49 -0
- package/skills/ti-game-assets/references/manifest.example.json +429 -0
- package/skills/ti-game-assets/references/manifest.md +39 -0
- package/skills/ti-game-assets/references/offline-audio.md +33 -0
- package/skills/ti-game-assets/references/prompts.md +33 -0
- package/skills/ti-game-assets/references/repeating-textures.md +17 -0
- package/skills/ti-game-assets/references/responsible-ads.md +31 -0
- package/skills/ti-game-assets/references/sound-assets.md +42 -0
- package/skills/ti-game-assets/references/vector-sources.md +21 -0
- package/skills/ti-game-assets/scripts/alpha_tools.py +160 -0
- package/skills/ti-game-assets/scripts/requirements.txt +1 -0
- package/skills/ti-game-assets/scripts/validate_manifest.py +267 -0
- package/skills/ti-synthengine/SKILL.md +37 -13
- package/skills/ti-synthengine/references/api.md +397 -31
- package/skills/ti-synthengine/references/audio-engine.md +235 -14
- package/skills/ti-synthengine/references/examples.md +396 -17
- package/skills/ti-synthengine/references/guide.md +331 -12
- package/skills/ti-synthengine/references/recipes.md +212 -22
- package/skills/ti-synthengine/references/recommendations.md +53 -16
- package/skills/ti-synthengine/references/sound-design.md +359 -15
- package/skills/ti-synthengine/references/source-notes.md +121 -0
- package/skills/ti-synthengine/references/source-snapshot.json +105 -0
- package/skills/ti-synthengine/references/stats-performance.json +2992 -0
- package/skills/ti-synthengine/references/stats-performance.md +38 -0
- package/skills/ti-synthengine/references/troubleshooting.md +61 -4
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
</div>
|
|
8
8
|
|
|
9
|
-
TiTools is a Titanium SDK toolkit for AI coding assistants. It ships
|
|
9
|
+
TiTools is a Titanium SDK toolkit for AI coding assistants. It ships 13 skills — 8 specialist skills (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`) plus 5 documentation-mirror skills (`ti-api`, `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos`) — a research agent, and reference files covering reuse and simplification, Titanium architecture, API reference, native how-tos, Alloy MVC, PurgeTSS styling and resource automation, UI/UX patterns, 2D games, and native sound synthesis.
|
|
10
10
|
|
|
11
11
|
The reference files are maintained against official documentation whenever an official source exists, so the assistant can retrieve current framework behavior instead of guessing from generic training data. As of v5.0.0 those sources are the Titanium SDK's own API definitions and the rewritten guides at [titaniumsdk.com](https://titaniumsdk.com). [Where the references come from](#where-the-references-come-from) has the detail.
|
|
12
12
|
|
|
@@ -36,7 +36,7 @@ The fastest way to get started with Claude Code. One command to add the marketpl
|
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
What you get:
|
|
39
|
-
- All
|
|
39
|
+
- All 13 TiTools skills (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`, `ti-api`, `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos`)
|
|
40
40
|
- ti-pro research agent
|
|
41
41
|
- Session hook that auto-detects Titanium projects (`tiapp.xml`, Alloy, PurgeTSS, `ti.game`, `ti.synthengine`)
|
|
42
42
|
- Slash commands: `/ti-check`, `/ti-new-screen`, `/ti-audit`
|
|
@@ -70,7 +70,7 @@ claude # or gemini, or codex
|
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
What gets installed:
|
|
73
|
-
- The
|
|
73
|
+
- The 13 TiTools skills to `~/.agents/skills/`
|
|
74
74
|
- ti-pro agent for Claude Code
|
|
75
75
|
- Platform symlinks for Claude Code (Gemini CLI and Codex CLI auto-discover from `~/.agents/skills/` — no symlinks needed)
|
|
76
76
|
- Knowledge index in your project's `AGENTS.md`/`CLAUDE.md`/`GEMINI.md`
|
|
@@ -179,7 +179,9 @@ The knowledge index is based on the latest Titanium SDK documentation. If your p
|
|
|
179
179
|
| purgetss | Alloy styling + asset automation | Utility classes; Alloy/Classic branding, images, colors, fonts and modules |
|
|
180
180
|
| ti-ui | UI/UX patterns | Complex layouts, ListViews, platform UI |
|
|
181
181
|
| ti-game | 2D games with the `ti.game` module | Sprites, physics, tile layers, wall jumps, pathfinding, text/performance HUDs, particles, camera |
|
|
182
|
-
| ti-
|
|
182
|
+
| ti-game-assets | Visual and sound assets | Image generation/editing, synthesis variants, stereo placement, alpha cleanup, manifests, parallax and complete exports |
|
|
183
|
+
| ti-synthengine | Sound design with `ti.synthengine` | Tones, chords, retro/UI effects, alarms, sweeps, patterns, ADSR envelopes, resonant filters, FM, detune, binaural positioning, engine statistics, mixing and troubleshooting |
|
|
184
|
+
| ti-admob-unified | Advertising, privacy and mediation | Official `ti.admob.unified` guides, copy-ready library, banners/fullscreen, UMP/ATT and selected-provider configuration |
|
|
183
185
|
| ti-api | Complete Titanium API reference | Looking up properties, methods, events |
|
|
184
186
|
| ti-guides | SDK fundamentals | tiapp.xml, Hyperloop, distribution, JDK/Xcode compatibility, release notes |
|
|
185
187
|
| ti-howtos | Native feature integration | Location, push, media, platform APIs |
|
|
@@ -187,10 +189,11 @@ The knowledge index is based on the latest Titanium SDK documentation. If your p
|
|
|
187
189
|
| alloy-howtos | Alloy CLI, configuration, debugging | alloy.jmk, config.json, custom XML tags |
|
|
188
190
|
|
|
189
191
|
Notes:
|
|
190
|
-
- The first
|
|
192
|
+
- The first eight (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`) are specialist workflow skills reflecting TiTools' Titanium conventions and native-module contracts.
|
|
191
193
|
- `ti-reuse-first` runs before the others. It asks whether a thing needs to exist and what already does it — a search order that stops at the first rung that holds — and sweeps an existing `app/` for near-identical controllers, single-listener events, wrappers around one call, and layout recomputed in JavaScript. It is deliberately two-sided: it says when adding a module or a Widget is the right answer, so the bias does not simply invert.
|
|
192
194
|
- `ti-game` documents the `ti.game` native module (2D sprite engine on OpenGL ES 2.0, Android and iOS). Its API reference was verified against the module source and tracks upstream `main` (the module ships features ahead of its manifest version); it applies to Alloy and Classic projects alike and does not depend on PurgeTSS.
|
|
193
|
-
- `ti-synthengine` translates aesthetic sound requests into strict, production-ready JavaScript for the cross-platform `ti.synthengine` 1.0.0 module.
|
|
195
|
+
- `ti-synthengine` translates aesthetic sound requests into strict, production-ready JavaScript for the cross-platform `ti.synthengine` 1.0.0 beta module. Eight references preserve official documentation, accompanied by raw statistics benchmark trials; curated recipes add retro effects, xylophone interaction, memory pads, polyphony and timer ownership. The reviewed source includes eleven public methods with optional diagnostics; feature detection remains necessary for older beta binaries. Maintenance notes and a hash manifest distinguish the reviewed working tree from its base commit and published packages, track preserved navigation and state audit limits.
|
|
196
|
+
- `ti-game-assets` treats images and sounds as essential game assets. It coordinates integrated `image_gen` artwork with `ti-synthengine` sound design, variants and stereo placement, and ships Pillow helpers for conservative alpha cleanup and per-world visual/audio manifests.
|
|
194
197
|
- The latter five are documentation-mirror skills, audited against official sources via the internal `titools-skill-auditor`. See [Where the references come from](#where-the-references-come-from).
|
|
195
198
|
- `purgetss` reference files are audited against the official PurgeTSS documentation and against the package source (the CLI and the generated `utilities.tss`), but its workflow conventions are opinionated.
|
|
196
199
|
|
|
@@ -274,7 +277,7 @@ TiTools provides slash commands for common tasks. Both channels ship them: the p
|
|
|
274
277
|
These commands automatically invoke the relevant skills:
|
|
275
278
|
- `/ti-check` reads `tiapp.xml`, validates declared native modules, and reports project health
|
|
276
279
|
- `/ti-new-screen` uses `ti-expert` + `purgetss` to create properly structured files
|
|
277
|
-
- `/ti-audit` routes all
|
|
280
|
+
- `/ti-audit` routes all 13 skills: the reuse sweep first, core Titanium checks always, Alloy/PurgeTSS checks when detected, integration how-tos when used, `ti-game-assets` checks for game asset workflows, and `ti-game` / `ti-synthengine` / `ti-admob-unified` checks when those modules are declared
|
|
278
281
|
|
|
279
282
|
---
|
|
280
283
|
|
|
@@ -318,6 +321,8 @@ All skills include automatic project detection to ensure compatibility:
|
|
|
318
321
|
| ti-expert | Alloy vs Classic | Checks for `app/` (Alloy) vs `Resources/` (Classic) structure |
|
|
319
322
|
| ti-ui | Titanium projects | Checks for `tiapp.xml` (both Alloy and Classic) |
|
|
320
323
|
| ti-game | ti.game module | Checks for `<module>ti.game</module>` in `tiapp.xml` or `require('ti.game')` |
|
|
324
|
+
| ti-game-assets | Game art/sound workflows | Reads asset inventories, generation/export workflows and requested visual or sound assets; no module install required for drawings |
|
|
325
|
+
| ti-admob-unified | ti.admob.unified and mediation | Declared core/complement modules or requested ad/privacy/provider integration |
|
|
321
326
|
| ti-synthengine | ti.synthengine module | Checks for `<module>ti.synthengine</module>` in `tiapp.xml` or `require('ti.synthengine')` |
|
|
322
327
|
|
|
323
328
|
Why this matters:
|
|
@@ -333,11 +338,12 @@ Why this matters:
|
|
|
333
338
|
| --- | --- |
|
|
334
339
|
| Whether to build it at all | `ti-reuse-first`, first |
|
|
335
340
|
| Architecture and UI | `ti-expert`, `ti-ui`, `purgetss` when configured |
|
|
336
|
-
|
|
|
341
|
+
| Game assets | `ti-game-assets` for visual and sound creation, preparation and integration |
|
|
342
|
+
| Native modules | `ti-game`, `ti-synthengine`, `ti-admob-unified` when declared or requested |
|
|
337
343
|
| Exact SDK/API guidance | `ti-api`, `ti-guides`, `ti-howtos` |
|
|
338
344
|
| Alloy MVC and tooling | `alloy-guides`, `alloy-howtos` for Alloy projects |
|
|
339
345
|
|
|
340
|
-
All
|
|
346
|
+
All thirteen ship with TiTools; no second skill package is required.
|
|
341
347
|
|
|
342
348
|
---
|
|
343
349
|
|
|
@@ -502,14 +508,37 @@ Key rules:
|
|
|
502
508
|
|
|
503
509
|
---
|
|
504
510
|
|
|
511
|
+
### ti-game-assets
|
|
512
|
+
|
|
513
|
+
Create game art and sound assets as a coherent set: transparent HD masters or strict logical-grid pixel art, animation states, three-layer parallax, synthesized effects/music/ambience, related sound variants and screen-position stereo. `ti-game` owns native game behavior and `ti-synthengine` owns the sound contract; the asset skill coordinates both.
|
|
514
|
+
|
|
515
|
+
For the processing helpers and development tests, install Python dependencies in a virtual environment:
|
|
516
|
+
|
|
517
|
+
```bash
|
|
518
|
+
python3 -m venv /tmp/titools-assets-env
|
|
519
|
+
/tmp/titools-assets-env/bin/pip install -r skills/ti-game-assets/scripts/requirements.txt
|
|
520
|
+
TITOOLS_ASSETS_PYTHON=/tmp/titools-assets-env/bin/python npm test
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
Raster drawing generation/editing uses integrated `image_gen`. Authored SVG/procedural pipelines preserve editable sources and deterministically export PNG; offline synthesis can generate WAV. The bundled Python helpers validate alpha, SVG provenance, hashes and WAV headers/payloads. Cleaning writes new files and requires a reviewed protected region or an explicit defined-edge trial. Sound recipes remain source assets even without recorded audio files. Guides cover seamless texture/audio loops and responsible ad transitions through the separate `ti-admob-unified` skill. Technical checks, visual inspection and device listening are reported separately.
|
|
524
|
+
|
|
525
|
+
### ti-admob-unified
|
|
526
|
+
|
|
527
|
+
Integrate César's `ti.admob.unified` module in Alloy or Classic using its official documentation for installation, API, UMP/ATT, privacy options, banner layout, fullscreen lifecycle and mediation. The skill includes the official copy-ready application library and guides for AppLovin, Meta, InMobi, Unity and Liftoff. The module's first public 1.0.0 release is under preparation at this snapshot.
|
|
528
|
+
|
|
529
|
+
Source commit, per-file hashes and rebased links are recorded. Future updates use the maintainer auditor's source map and the read-only check `node scripts/verify-module-snapshot.mjs --source /path/to/ti.admob.unified`; new, changed or removed docs are reported before updating. Community guidance remains separate from official mirrors.
|
|
530
|
+
|
|
531
|
+
Installing an adapter does not configure a publisher account or prove delivery. The skill distinguishes build/linking, Google test ads, each provider's test delivery and physical-device acceptance; it preserves the game's selected frequency policy instead of enabling every format.
|
|
532
|
+
|
|
505
533
|
### ti-synthengine
|
|
506
534
|
|
|
507
|
-
Cross-platform sound design and synthesis with the native `ti.synthengine` 1.0.0 module for Android and iOS.
|
|
535
|
+
Cross-platform sound design and synthesis with the native `ti.synthengine` 1.0.0 beta module for Android and iOS.
|
|
508
536
|
|
|
509
537
|
When it activates:
|
|
510
538
|
- `tiapp.xml` declares `ti.synthengine`, or code calls `require('ti.synthengine')`
|
|
511
539
|
- The app needs generated UI feedback, game cues, retro/chiptune effects, alarms, chords, pads, noise percussion, sweeps, panning, or vibrato
|
|
512
540
|
- A synth call returns `false`, the first sound glitches, a pattern stops, a chord pumps, or output changes after a route switch
|
|
541
|
+
- The app needs voice/queue/rejection counters, optional render-load/output meters, or help interpreting host benchmark evidence
|
|
513
542
|
|
|
514
543
|
Example prompts:
|
|
515
544
|
```
|
|
@@ -527,6 +556,7 @@ Key rules:
|
|
|
527
556
|
- `playTone` accepts `note` or `frequency`, never both; `playChord` accepts `notes` or `frequencies`, never both
|
|
528
557
|
- `duration` includes attack, the full-level middle, and release, so explicit envelope times must intersect correctly
|
|
529
558
|
- Use `frequencyEnd` for sweeps, `panEnd` for stereo movement, and `lfoFreq`/`lfoDepth` for pitch vibrato
|
|
559
|
+
- Binaural headphone positioning uses `spatialX`/`spatialY` from -1 to 1, without pan fields. Omit both to keep stereo; check installed coordinate limits because older 1.0.0 builds lack this beta addition
|
|
530
560
|
- Curated recipes cover retro effects, playable xylophone gestures, four-pad memory cues, controlled waveform comparisons, layered chords and cancellable repetition
|
|
531
561
|
- Start after the first layout settles, keep one lifecycle owner, check Boolean returns, and call `shutdown()` on cleanup
|
|
532
562
|
|
|
@@ -627,7 +657,7 @@ Behavior depends on where you run it:
|
|
|
627
657
|
| With `--local` flag | Installs skills locally to `./.agents/skills/` in the current project |
|
|
628
658
|
|
|
629
659
|
What it does:
|
|
630
|
-
- Installs the
|
|
660
|
+
- Installs the 13 TiTools skills (global or local depending on context)
|
|
631
661
|
- Installs ti-pro agent for Claude Code
|
|
632
662
|
- Installs the `/ti-check`, `/ti-new-screen` and `/ti-audit` slash commands into `~/.claude/commands/`
|
|
633
663
|
- Detects installed AI platforms and lets you choose which to link (only Claude Code needs platform symlinks; Gemini CLI and Codex CLI auto-discover from `~/.agents/skills/`)
|
|
@@ -836,7 +866,9 @@ This pattern is documented across four bundled TiTools skills: `ti-ui`, `ti-expe
|
|
|
836
866
|
| purgetss | Setup + Critical Rules | 34 files (Classic compatibility, grid, animations, icons, class-index, SVG pipeline, etc.) |
|
|
837
867
|
| ti-ui | UI Rules + Platform Diffs | 14 files (layouts, lists, gestures, etc.) |
|
|
838
868
|
| ti-game | Native 2D Game Workflow | 9 files (API, setup, patterns, recipes, tile maps, debugging, roadmap) |
|
|
839
|
-
| ti-
|
|
869
|
+
| ti-game-assets | Visual and Sound Assets | 10 guides and a manifest example; alpha and contract validation scripts |
|
|
870
|
+
| ti-admob-unified | Unified Advertising | 11 official module guides, source/hash update checks, official example library and game integration guidance |
|
|
871
|
+
| ti-synthengine | Native Sound Synthesis | 10 Markdown references (8 official, curated recipes, maintenance notes), raw statistics trials and a source hash manifest |
|
|
840
872
|
|
|
841
873
|
---
|
|
842
874
|
|
package/agents/ti-pro.md
CHANGED
|
@@ -7,7 +7,9 @@ skills:
|
|
|
7
7
|
- purgetss
|
|
8
8
|
- ti-ui
|
|
9
9
|
- ti-game
|
|
10
|
+
- ti-game-assets
|
|
10
11
|
- ti-synthengine
|
|
12
|
+
- ti-admob-unified
|
|
11
13
|
- ti-api
|
|
12
14
|
- ti-guides
|
|
13
15
|
- ti-howtos
|
|
@@ -29,8 +31,10 @@ When invoked, research complex topics by consulting the applicable skills from t
|
|
|
29
31
|
- `ti-expert` - Architecture, patterns, conventions
|
|
30
32
|
- `purgetss` - Utility-first styling classes (optional add-on; use when the project already has it or the user asks about it)
|
|
31
33
|
- `ti-ui` - UI/UX patterns, layouts, gestures
|
|
34
|
+
- `ti-game-assets` - Visual and sound asset contracts, raster generation, alpha/export validation, synthesis variants and stereo coordination when assets are involved
|
|
32
35
|
- `ti-game` - Native `ti.game` architecture and API when the module is declared
|
|
33
36
|
- `ti-synthengine` - Native sound synthesis and strict `ti.synthengine` contract when the module is declared
|
|
37
|
+
- `ti-admob-unified` - Official unified advertising/privacy/mediation module contract and provider setup when declared or requested
|
|
34
38
|
- `ti-api`, `ti-guides`, `ti-howtos` - Exact Titanium APIs, SDK fundamentals and native integrations
|
|
35
39
|
- `alloy-guides`, `alloy-howtos` - Alloy MVC, CLI, configuration and compiler workflows when the project is Alloy
|
|
36
40
|
|
package/commands/ti-audit.md
CHANGED
|
@@ -25,6 +25,10 @@ Native-module audit:
|
|
|
25
25
|
10. If the project declares `ti.game`, invoke `ti-game` — check for sprites moved from timers instead of native properties, levels sized from `Ti.Platform.displayCaps` instead of the `resize` event, sprites added one by one instead of in one array, and timers or sounds left running when the window closes.
|
|
26
26
|
11. If the project declares `ti.synthengine`, invoke `ti-synthengine` — check strict option names and types, mutually exclusive pitch fields, valid envelope intersections, checked Boolean results, one clear lifecycle owner, delayed startup after layout, app-owned timer cancellation, and `shutdown()` cleanup.
|
|
27
27
|
|
|
28
|
+
12. If the project has game art/sound inventories or asset-generation/export workflows, invoke `ti-game-assets` — check contracts per set, master provenance/transparency, protected alpha cleanup, frame/pivot alignment, complete derived exports, parallax layers, sound variants and semantic event bindings. Consult `ti-game` and `ti-synthengine` equally in their applicable domains; do not require module installation or new sounds for an image-only task.
|
|
29
|
+
|
|
30
|
+
13. If the project declares `ti.admob.unified`/mediation complements or implements an ad flow through this module, invoke `ti-admob-unified` — verify official module APIs, consent/request eligibility/initialization, test IDs, banner layout and refresh ownership, deliberate fullscreen presentation, callback cleanup and selected-provider mappings. Separate linking, Google test ads, provider delivery and physical acceptance. In games preserve native pause/audio/input ownership and the existing frequency policy.
|
|
31
|
+
|
|
28
32
|
If a conditional skill does not apply, record it as `not applicable` with the detected reason instead of inventing findings from it.
|
|
29
33
|
|
|
30
34
|
Report findings grouped by severity: critical, warning, info.
|
package/lib/config.js
CHANGED
package/package.json
CHANGED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ti-admob-unified
|
|
3
|
+
description: "Use when a Titanium app declares ti.admob.unified or its mediation complements, imports require('ti.admob.unified'), or asks to integrate/configure AdMob banners, interstitials, rewarded or app-open ads, UMP/ATT, privacy options, lifecycle, ad frequency or AppLovin, Meta, InMobi, Unity and Liftoff mediation with this module. Applies to Alloy and Classic on Android/iOS."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ti.admob.unified — ads, privacy and providers
|
|
7
|
+
|
|
8
|
+
Integrate César's unified Titanium module using its official documentation and maintained application library. The local **1.0.0** contract is preparing for its first public release; do not claim a public release or usable production demand from these snapshots. Sources are pinned to **`5b4cbf9347a51c4f959dc262ac1500f82f28b4a0`**, copied 2026-10-11. See `references/source-snapshot.json` for paths/hashes and [references/source-notes.md](references/source-notes.md) for provenance and update checks. Check the installed build and current sources when behavior differs.
|
|
9
|
+
|
|
10
|
+
## Required workflow
|
|
11
|
+
|
|
12
|
+
Read the relevant references before proposing calls or configuration. Do not infer this API from old `ti.admob`, `ti.android.admob` or raw Google SDK examples.
|
|
13
|
+
|
|
14
|
+
| Task | Read first |
|
|
15
|
+
| --- | --- |
|
|
16
|
+
| Install artifacts, app IDs, platform settings, first test request | [references/getting-started.md](references/getting-started.md) |
|
|
17
|
+
| Ownership, navigation, layout, refresh, Alloy/Classic integration | [references/integration.md](references/integration.md), [references/library.md](references/library.md) |
|
|
18
|
+
| Exact factories/methods/options/events/constants/payloads | [references/api-reference.md](references/api-reference.md) |
|
|
19
|
+
| Consent-first startup, ATT, privacy options, request eligibility | [references/privacy.md](references/privacy.md) |
|
|
20
|
+
| Fixed/adaptive banners, real reserved layout and pause/cleanup | [references/banners.md](references/banners.md) |
|
|
21
|
+
| Interstitial/rewarded/app-open load/show, rewards and cleanup | [references/fullscreen.md](references/fullscreen.md) |
|
|
22
|
+
| Select/install providers, publisher accounts, mappings, diagnostics | [references/mediation.md](references/mediation.md), [references/dependencies.md](references/dependencies.md) |
|
|
23
|
+
| Replace legacy modules or internal builds | [references/migration.md](references/migration.md) |
|
|
24
|
+
| Unsupported formats, extending providers, license/distribution | [references/roadmap.md](references/roadmap.md), [references/contributing.md](references/contributing.md), [references/third-party-notices.md](references/third-party-notices.md) |
|
|
25
|
+
| Game experience and frequency decisions | [references/game-monetization.md](references/game-monetization.md), plus fullscreen/privacy |
|
|
26
|
+
|
|
27
|
+
Cite factual guidance with `[source: references/<file>.md]`. If the relevant source is unavailable, mark the claim `FROM_MEMORY (unverified):` and do not invent a method or provider setting.
|
|
28
|
+
|
|
29
|
+
## Integration invariants
|
|
30
|
+
|
|
31
|
+
- Inspect `tiapp.xml`, installed artifacts, project type and existing ad owner before adding another boundary. Use `ti-guides`/`ti-howtos`, Alloy or UI skills as applicable.
|
|
32
|
+
- Prefer the official copy-ready `assets/example/lib/ads.js`: copy unchanged to Alloy `app/lib/ads.js` or Classic `Resources/lib/ads.js`. Its documentation imports `require('lib/ads')`; preserve its path and provenance. `assets/example/library-usage.js` and `assets/example/app.js` are official integration evidence, not navigation templates to paste wholesale.
|
|
33
|
+
- Follow the documented UMP → request eligibility → initialization sequence. `canRequestAds()` is the gate, not ATT status or a guessed personalization flag. Resolve requested ATT separately; do not request it without an actual use case. Preserve privacy options and named-listener cleanup.
|
|
34
|
+
- Application IDs and ad-unit IDs are different. Use documented test IDs during development; do not switch to production IDs as an incidental fix.
|
|
35
|
+
- Native activity/app lifecycle and SDK banner refresh belong to the module/Google. The app owns tab/window coverage and reserved layout. Do not add refresh timers or duplicate background handlers for banners.
|
|
36
|
+
- Separate loading from deliberate fullscreen presentation. Do not show from a load callback. Coordinate game clock/audio/inputs and ad ownership; handle no-fill, failed presentation, actual close and destroyed screens without repeated ads or late navigation.
|
|
37
|
+
- Install only selected mediation complements on each target platform. All application calls use `ti.admob.unified`. Configure provider accounts and AdMob mappings; neither a packaged adapter nor `ready` diagnostics nor a Google test ad proves provider delivery. Do not invent placeholder keys, manual provider initializers or an `enableMediation` option.
|
|
38
|
+
- Consult the roadmap before suggesting native ads, rewarded interstitial or a network outside the distributed set. Supporting several formats does not justify enabling all of them in a game.
|
|
39
|
+
|
|
40
|
+
## Acceptance
|
|
41
|
+
|
|
42
|
+
Report separately: source/contract review, configuration/build/linking, Google test-ad behavior, each selected provider's own test delivery, and physical-device lifecycle/layout/visual acceptance. Use Ad Inspector as documented and re-check current Google/provider setup guidance before live configuration. A reported impression or passing stand-in test does not certify visible creative content or consent propagation. Do not click production ads to test delivery. No account creation, credentials, live ad activation or publishing is implied by ordinary integration work.
|
|
43
|
+
|
|
44
|
+
For games, use `ti-game` for native pause/cleanup and `ti-game-assets` for audiovisual assets. Respect the existing game's presentation policy; defaults and quotas are product choices to measure, not optimal values certified by this module.
|