aso: competitors, suggest and audit from official data; ASO card on the Growth tab
- aso competitors: top apps per keyword from the iTunes Search API (name, developer, rating count, release / update dates, localized genre), coverage gaps (words of 2+ developers), new entrants vs the last snapshot (.storebound/aso/competitors/) - aso suggest: candidates from own text, competitor names, localized category names and Apple Ads keyword suggestions (POST /v1/suggestions/keywords/query, relative 0-100 popularity, only with credentials); 100-byte keyword field per locale as a diff, --write marks it a draft that check --aso and aso audit report - aso audit: check --aso, free keyword room, rank trend arrows, gaps, Play short description / density, App Store conversion, PPO / Play experiment ideas, next 3 actions - MCP: read-only aso_competitors, aso_suggest, aso_audit; desktop ASO card (visx rank chart) - docs: README, aso-basics, store-pitfalls (Search API order, no Play search API), CHANGELOG; demo-app listing files; tests on recorded Search API and mocked Ads answers
This commit is contained in:
parent
143325c033
commit
7e26941ffc
29 changed files with 2090 additions and 36 deletions
343
tests/fixtures/aso/search-grocery-list-us.json
vendored
Normal file
343
tests/fixtures/aso/search-grocery-list-us.json
vendored
Normal file
|
|
@ -0,0 +1,343 @@
|
|||
{
|
||||
"resultCount": 6,
|
||||
"results": [
|
||||
{
|
||||
"isGameCenterEnabled": false,
|
||||
"features": [
|
||||
"iosUniversal"
|
||||
],
|
||||
"advisories": [],
|
||||
"supportedDevices": [
|
||||
"iPhone15-iPhone15"
|
||||
],
|
||||
"kind": "software",
|
||||
"artistViewUrl": "https://apps.apple.com/us/developer/id1000000001?uo=4",
|
||||
"artworkUrl60": "https://example.com/art60.png",
|
||||
"artworkUrl100": "https://example.com/art100.png",
|
||||
"artworkUrl512": "https://example.com/art512.png",
|
||||
"screenshotUrls": [],
|
||||
"ipadScreenshotUrls": [],
|
||||
"appletvScreenshotUrls": [],
|
||||
"trackCensoredName": "Basket: Grocery Shopping List",
|
||||
"trackViewUrl": "https://apps.apple.com/us/app/id6400000901?uo=4",
|
||||
"trackContentRating": "4+",
|
||||
"contentAdvisoryRating": "4+",
|
||||
"averageUserRating": 4.6,
|
||||
"averageUserRatingForCurrentVersion": 4.6,
|
||||
"userRatingCountForCurrentVersion": 80000,
|
||||
"languageCodesISO2A": [
|
||||
"EN"
|
||||
],
|
||||
"fileSizeBytes": "52428800",
|
||||
"sellerUrl": "https://example.com",
|
||||
"formattedPrice": "Free",
|
||||
"trackId": 6400000901,
|
||||
"trackName": "Basket: Grocery Shopping List",
|
||||
"genreIds": [
|
||||
"6007",
|
||||
"6024"
|
||||
],
|
||||
"genres": [
|
||||
"Productivity",
|
||||
"Shopping"
|
||||
],
|
||||
"primaryGenreName": "Productivity",
|
||||
"primaryGenreId": 6007,
|
||||
"releaseDate": "2012-05-11T07:00:00Z",
|
||||
"currentVersionReleaseDate": "2026-09-11T16:20:00Z",
|
||||
"sellerName": "Example Studio A",
|
||||
"bundleId": "com.example.basket",
|
||||
"artistId": 1000000001,
|
||||
"artistName": "Example Studio A",
|
||||
"isVppDeviceBasedLicensingEnabled": true,
|
||||
"currency": "USD",
|
||||
"description": "Placeholder description.",
|
||||
"price": 0.0,
|
||||
"releaseNotes": "Bug fixes.",
|
||||
"minimumOsVersion": "16.0",
|
||||
"version": "3.2.1",
|
||||
"wrapperType": "software",
|
||||
"userRatingCount": 80000
|
||||
},
|
||||
{
|
||||
"isGameCenterEnabled": false,
|
||||
"features": [
|
||||
"iosUniversal"
|
||||
],
|
||||
"advisories": [],
|
||||
"supportedDevices": [
|
||||
"iPhone15-iPhone15"
|
||||
],
|
||||
"kind": "software",
|
||||
"artistViewUrl": "https://apps.apple.com/us/developer/id1000000002?uo=4",
|
||||
"artworkUrl60": "https://example.com/art60.png",
|
||||
"artworkUrl100": "https://example.com/art100.png",
|
||||
"artworkUrl512": "https://example.com/art512.png",
|
||||
"screenshotUrls": [],
|
||||
"ipadScreenshotUrls": [],
|
||||
"appletvScreenshotUrls": [],
|
||||
"trackCensoredName": "Pantry Grocery Shopping List",
|
||||
"trackViewUrl": "https://apps.apple.com/us/app/id6400000902?uo=4",
|
||||
"trackContentRating": "4+",
|
||||
"contentAdvisoryRating": "4+",
|
||||
"averageUserRating": 4.6,
|
||||
"averageUserRatingForCurrentVersion": 4.6,
|
||||
"userRatingCountForCurrentVersion": 52000,
|
||||
"languageCodesISO2A": [
|
||||
"EN"
|
||||
],
|
||||
"fileSizeBytes": "52428800",
|
||||
"sellerUrl": "https://example.com",
|
||||
"formattedPrice": "Free",
|
||||
"trackId": 6400000902,
|
||||
"trackName": "Pantry Grocery Shopping List",
|
||||
"genreIds": [
|
||||
"6024"
|
||||
],
|
||||
"genres": [
|
||||
"Shopping"
|
||||
],
|
||||
"primaryGenreName": "Shopping",
|
||||
"primaryGenreId": 6024,
|
||||
"releaseDate": "2009-08-14T07:00:00Z",
|
||||
"currentVersionReleaseDate": "2026-09-15T10:00:00Z",
|
||||
"sellerName": "Example Studio B",
|
||||
"bundleId": "com.example.pantry",
|
||||
"artistId": 1000000002,
|
||||
"artistName": "Example Studio B",
|
||||
"isVppDeviceBasedLicensingEnabled": true,
|
||||
"currency": "USD",
|
||||
"description": "Placeholder description.",
|
||||
"price": 0.0,
|
||||
"releaseNotes": "Bug fixes.",
|
||||
"minimumOsVersion": "16.0",
|
||||
"version": "3.2.1",
|
||||
"wrapperType": "software",
|
||||
"userRatingCount": 52000
|
||||
},
|
||||
{
|
||||
"isGameCenterEnabled": false,
|
||||
"features": [
|
||||
"iosUniversal"
|
||||
],
|
||||
"advisories": [],
|
||||
"supportedDevices": [
|
||||
"iPhone15-iPhone15"
|
||||
],
|
||||
"kind": "software",
|
||||
"artistViewUrl": "https://apps.apple.com/us/developer/id1000000003?uo=4",
|
||||
"artworkUrl60": "https://example.com/art60.png",
|
||||
"artworkUrl100": "https://example.com/art100.png",
|
||||
"artworkUrl512": "https://example.com/art512.png",
|
||||
"screenshotUrls": [],
|
||||
"ipadScreenshotUrls": [],
|
||||
"appletvScreenshotUrls": [],
|
||||
"trackCensoredName": "Example Notes",
|
||||
"trackViewUrl": "https://apps.apple.com/us/app/id6400000101?uo=4",
|
||||
"trackContentRating": "4+",
|
||||
"contentAdvisoryRating": "4+",
|
||||
"averageUserRating": 4.6,
|
||||
"averageUserRatingForCurrentVersion": 4.6,
|
||||
"userRatingCountForCurrentVersion": 50,
|
||||
"languageCodesISO2A": [
|
||||
"EN"
|
||||
],
|
||||
"fileSizeBytes": "52428800",
|
||||
"sellerUrl": "https://example.com",
|
||||
"formattedPrice": "Free",
|
||||
"trackId": 6400000101,
|
||||
"trackName": "Example Notes",
|
||||
"genreIds": [
|
||||
"6007"
|
||||
],
|
||||
"genres": [
|
||||
"Productivity"
|
||||
],
|
||||
"primaryGenreName": "Productivity",
|
||||
"primaryGenreId": 6007,
|
||||
"releaseDate": "2025-01-02T08:00:00Z",
|
||||
"currentVersionReleaseDate": "2026-10-01T08:00:00Z",
|
||||
"sellerName": "Example",
|
||||
"bundleId": "com.example.notes",
|
||||
"artistId": 1000000003,
|
||||
"artistName": "Example",
|
||||
"isVppDeviceBasedLicensingEnabled": true,
|
||||
"currency": "USD",
|
||||
"description": "Placeholder description.",
|
||||
"price": 0.0,
|
||||
"releaseNotes": "Bug fixes.",
|
||||
"minimumOsVersion": "16.0",
|
||||
"version": "3.2.1",
|
||||
"wrapperType": "software",
|
||||
"userRatingCount": 50
|
||||
},
|
||||
{
|
||||
"isGameCenterEnabled": false,
|
||||
"features": [
|
||||
"iosUniversal"
|
||||
],
|
||||
"advisories": [],
|
||||
"supportedDevices": [
|
||||
"iPhone15-iPhone15"
|
||||
],
|
||||
"kind": "software",
|
||||
"artistViewUrl": "https://apps.apple.com/us/developer/id1000000004?uo=4",
|
||||
"artworkUrl60": "https://example.com/art60.png",
|
||||
"artworkUrl100": "https://example.com/art100.png",
|
||||
"artworkUrl512": "https://example.com/art512.png",
|
||||
"screenshotUrls": [],
|
||||
"ipadScreenshotUrls": [],
|
||||
"appletvScreenshotUrls": [],
|
||||
"trackCensoredName": "Cartful: Shared Grocery List",
|
||||
"trackViewUrl": "https://apps.apple.com/us/app/id6400000903?uo=4",
|
||||
"trackContentRating": "4+",
|
||||
"contentAdvisoryRating": "4+",
|
||||
"averageUserRating": 4.6,
|
||||
"averageUserRatingForCurrentVersion": 4.6,
|
||||
"userRatingCountForCurrentVersion": 21000,
|
||||
"languageCodesISO2A": [
|
||||
"EN"
|
||||
],
|
||||
"fileSizeBytes": "52428800",
|
||||
"sellerUrl": "https://example.com",
|
||||
"formattedPrice": "Free",
|
||||
"trackId": 6400000903,
|
||||
"trackName": "Cartful: Shared Grocery List",
|
||||
"genreIds": [
|
||||
"6007"
|
||||
],
|
||||
"genres": [
|
||||
"Productivity"
|
||||
],
|
||||
"primaryGenreName": "Productivity",
|
||||
"primaryGenreId": 6007,
|
||||
"releaseDate": "2012-07-21T07:00:00Z",
|
||||
"currentVersionReleaseDate": "2026-05-28T07:00:00Z",
|
||||
"sellerName": "Example Studio C",
|
||||
"bundleId": "com.example.cartful",
|
||||
"artistId": 1000000004,
|
||||
"artistName": "Example Studio C",
|
||||
"isVppDeviceBasedLicensingEnabled": true,
|
||||
"currency": "USD",
|
||||
"description": "Placeholder description.",
|
||||
"price": 0.0,
|
||||
"releaseNotes": "Bug fixes.",
|
||||
"minimumOsVersion": "16.0",
|
||||
"version": "3.2.1",
|
||||
"wrapperType": "software",
|
||||
"userRatingCount": 21000
|
||||
},
|
||||
{
|
||||
"isGameCenterEnabled": false,
|
||||
"features": [
|
||||
"iosUniversal"
|
||||
],
|
||||
"advisories": [],
|
||||
"supportedDevices": [
|
||||
"iPhone15-iPhone15"
|
||||
],
|
||||
"kind": "software",
|
||||
"artistViewUrl": "https://apps.apple.com/us/developer/id1000000005?uo=4",
|
||||
"artworkUrl60": "https://example.com/art60.png",
|
||||
"artworkUrl100": "https://example.com/art100.png",
|
||||
"artworkUrl512": "https://example.com/art512.png",
|
||||
"screenshotUrls": [],
|
||||
"ipadScreenshotUrls": [],
|
||||
"appletvScreenshotUrls": [],
|
||||
"trackCensoredName": "Cartful Recipes",
|
||||
"trackViewUrl": "https://apps.apple.com/us/app/id6400000904?uo=4",
|
||||
"trackContentRating": "4+",
|
||||
"contentAdvisoryRating": "4+",
|
||||
"averageUserRating": 4.6,
|
||||
"averageUserRatingForCurrentVersion": 4.6,
|
||||
"userRatingCountForCurrentVersion": 900,
|
||||
"languageCodesISO2A": [
|
||||
"EN"
|
||||
],
|
||||
"fileSizeBytes": "52428800",
|
||||
"sellerUrl": "https://example.com",
|
||||
"formattedPrice": "Free",
|
||||
"trackId": 6400000904,
|
||||
"trackName": "Cartful Recipes",
|
||||
"genreIds": [
|
||||
"6023"
|
||||
],
|
||||
"genres": [
|
||||
"Food & Drink"
|
||||
],
|
||||
"primaryGenreName": "Food & Drink",
|
||||
"primaryGenreId": 6023,
|
||||
"releaseDate": "2018-03-03T07:00:00Z",
|
||||
"currentVersionReleaseDate": "2026-02-01T07:00:00Z",
|
||||
"sellerName": "Example Studio C",
|
||||
"bundleId": "com.example.cartful.recipes",
|
||||
"artistId": 1000000005,
|
||||
"artistName": "Example Studio C",
|
||||
"isVppDeviceBasedLicensingEnabled": true,
|
||||
"currency": "USD",
|
||||
"description": "Placeholder description.",
|
||||
"price": 0.0,
|
||||
"releaseNotes": "Bug fixes.",
|
||||
"minimumOsVersion": "16.0",
|
||||
"version": "3.2.1",
|
||||
"wrapperType": "software",
|
||||
"userRatingCount": 900
|
||||
},
|
||||
{
|
||||
"isGameCenterEnabled": false,
|
||||
"features": [
|
||||
"iosUniversal"
|
||||
],
|
||||
"advisories": [],
|
||||
"supportedDevices": [
|
||||
"iPhone15-iPhone15"
|
||||
],
|
||||
"kind": "software",
|
||||
"artistViewUrl": "https://apps.apple.com/us/developer/id1000000006?uo=4",
|
||||
"artworkUrl60": "https://example.com/art60.png",
|
||||
"artworkUrl100": "https://example.com/art100.png",
|
||||
"artworkUrl512": "https://example.com/art512.png",
|
||||
"screenshotUrls": [],
|
||||
"ipadScreenshotUrls": [],
|
||||
"appletvScreenshotUrls": [],
|
||||
"trackCensoredName": "Packing Planner: Travel Lists",
|
||||
"trackViewUrl": "https://apps.apple.com/us/app/id6400000905?uo=4",
|
||||
"trackContentRating": "4+",
|
||||
"contentAdvisoryRating": "4+",
|
||||
"averageUserRating": 4.6,
|
||||
"averageUserRatingForCurrentVersion": 4.6,
|
||||
"userRatingCountForCurrentVersion": 1200,
|
||||
"languageCodesISO2A": [
|
||||
"EN"
|
||||
],
|
||||
"fileSizeBytes": "52428800",
|
||||
"sellerUrl": "https://example.com",
|
||||
"formattedPrice": "Free",
|
||||
"trackId": 6400000905,
|
||||
"trackName": "Packing Planner: Travel Lists",
|
||||
"genreIds": [
|
||||
"6003"
|
||||
],
|
||||
"genres": [
|
||||
"Travel"
|
||||
],
|
||||
"primaryGenreName": "Travel",
|
||||
"primaryGenreId": 6003,
|
||||
"releaseDate": "2016-06-09T07:00:00Z",
|
||||
"currentVersionReleaseDate": "2026-08-29T07:00:00Z",
|
||||
"sellerName": "Example Studio D",
|
||||
"bundleId": "com.example.packing",
|
||||
"artistId": 1000000006,
|
||||
"artistName": "Example Studio D",
|
||||
"isVppDeviceBasedLicensingEnabled": true,
|
||||
"currency": "USD",
|
||||
"description": "Placeholder description.",
|
||||
"price": 0.0,
|
||||
"releaseNotes": "Bug fixes.",
|
||||
"minimumOsVersion": "16.0",
|
||||
"version": "3.2.1",
|
||||
"wrapperType": "software",
|
||||
"userRatingCount": 1200
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue