01Run it
Replace the <placeholders> with your own values, or use the builder below.
p202 app install simulate <registration-id> --click <click>02What you get
--json, --csv or --ndjson for scripts, or -q for ids only. An AI agent gets compact JSON without asking. All output formats03Build your command
Pick values and the command line writes itself, quoted and ready to paste.
p202 app install simulateSet flags below; the command updates as you type.
04Flags
4 flags, plus the global flags every command takes.
| Flag | What it does |
|---|---|
| --clickstringrequired | The click the install comes from (from p202 click list) |
| --delayint · default 5 | Seconds from the click to the store click |
| --install-uuidstring | The install's id (default: a new one); reuse one to see the duplicate answer |
| --testbool | Send it as a test install (counts only under accept_test_signals) |
05How it works
Reads the registration (its app token and package), mints the click's install token, and posts the install the Android SDK would send to POST /apps/installs — with Google's timestamps placed seconds after the click — then prints the intake's answer. The install is real: an attributed one records the install conversion on the click.
Resend with the same --install-uuid to see the duplicate answer; --test marks it a test install (it counts only when the registration accepts test signals).
06For agents
Running this from an agent
- Read the same facts as JSON:
p202 commands app install simulate --json. - With
AI_AGENT,CLAUDECODEor another agent variable set, output is compact JSON and errors arrive on stderr as a JSON envelope with ahint. - Exit codes: 0 ok, 1 bad input, 2 auth, 3 network, 4 server error, 5 partial failure.
- This command writes. Add
--stagedto record it as a proposal a person applies withp202 change apply.
{
"path": "p202 app install simulate",
"use": "simulate <registration-id> --click <click-id>",
"short": "Post an SDK-shaped install for a real click, as a device would",
"long": "Reads the registration (its app token and package), mints the click's install token,\nand posts the install the Android SDK would send to POST /apps/installs — with Google's\ntimestamps placed seconds after the click — then prints the intake's answer. The install\nis real: an attributed one records the install conversion on the click.\n\nResend with the same --install-uuid to see the duplicate answer; --test marks it a test\ninstall (it counts only when the registration accepts test signals).",
"runnable": true,
"flags": [
{
"name": "click",
"type": "string",
"default": "",
"usage": "The click the install comes from (from `p202 click list`)",
"required": false
},
{
"name": "delay",
"type": "int",
"default": "5",
"usage": "Seconds from the click to the store click",
"required": false
},
{
"name": "install-uuid",
"type": "string",
"default": "",
"usage": "The install's id (default: a new one); reuse one to see the duplicate answer",
"required": false
},
{
"name": "test",
"type": "bool",
"default": "false",
"usage": "Send it as a test install (counts only under accept_test_signals)",
"required": false
}
]
}