[supply] "Google Api Error: Invalid request - Your icon does not apply the new icon specification" when uploading an app icon for a new store listing
markmuniz opened this issue · comments
New Issue Checklist
- Updated fastlane to the latest version
- I read the Contribution Guidelines
- I read docs.fastlane.tools
- I searched for existing GitHub issues
Issue Description
Running supply
to upload an app icon will fail if the store listing did not previously have an app icon. This is reproducible on existing store listings by deleting an app icon, or by creating a new app listing. It does not appear to be an issue with the app icon, since I can manually upload the file to the Google Play console. It seems as though others are having the same issue.
Steps to recreate:
- Delete the app icon from the Google Play Store Listing. It doesn't appear that the app icon can be deleted for the default language once it has been added, so you may have to try to delete the icon for a second language if available.
- Run
supply
to upload the app icon. The error occurs.
Command executed
fastlane supply run --package_name {PACKAGE_NAME} --json_key {PATH_TO_JSON_KEY} --skip_upload_aab true --skip_upload_screenshots true --skip_upload_changelogs true --skip_upload_metadata true --version_code {VERSION_CODE}
Complete output when running fastlane, including the stack trace and command used
fastlane supply run --package_name {PACKAGE_NAME} --json_key {PATH_TO_JSON_KEY} --skip_upload_aab true --skip_upload_screenshots true --skip_upload_changelogs true --skip_upload_metadata true --version_code {VERSION_CODE} [✔] 🚀 [13:50:47]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile+------------------------------------+---------------------------------------------------+
| Summary for supply 2.206.2 |
+------------------------------------+---------------------------------------------------+
| package_name | package_name |
| json_key | json_key |
| skip_upload_aab | true |
| skip_upload_screenshots | true |
| skip_upload_changelogs | true |
| skip_upload_metadata | true |
| version_code | version_code |
| release_status | completed |
| track | production |
| metadata_path | ./fastlane/metadata/android |
| skip_upload_apk | false |
| skip_upload_images | false |
| track_promote_release_status | completed |
| validate_only | false |
| check_superseded_tracks | false |
| timeout | 300 |
| deactivate_on_promote | true |
| changes_not_sent_for_review | false |
| rescue_changes_not_sent_for_review | true |
| ack_bundle_installation_warning | false |
+------------------------------------+---------------------------------------------------+[13:50:50]: Preparing to upload for language 'en-CA'...
[13:50:51]: Uploading image file ./fastlane/metadata/android/en-CA/images/featureGraphic.jpg...
[13:50:53]: Uploading image file ./fastlane/metadata/android/en-CA/images/icon.png...
[13:50:55]: Preparing to upload for language 'en-GB'...
[13:50:55]: Uploading image file ./fastlane/metadata/android/en-GB/images/featureGraphic.jpg...
[13:50:57]: Uploading image file ./fastlane/metadata/android/en-GB/images/icon.png...
[13:50:59]: Preparing to upload for language 'en-US'...
[13:50:59]: Uploading image file ./fastlane/metadata/android/en-US/images/featureGraphic.jpg...
[13:51:02]: Uploading image file ./fastlane/metadata/android/en-US/images/icon.png...
[13:51:03]: Preparing to upload for language 'fr-CA'...
[13:51:04]: Uploading image file ./fastlane/metadata/android/fr-CA/images/featureGraphic.jpg...
[13:51:06]: Uploading image file ./fastlane/metadata/android/fr-CA/images/icon.png...
[13:51:07]: Uploading all changes to Google Play...[!] Google Api Error: Invalid request - Your icon does not apply the new icon specification. Please follow the instructions at https://developer.android.com/google-play/resources/icon-design-specifications#api. On June 17, this API will automatically apply the new specification.
Environment
✅ fastlane environment ✅
Stack
Key | Value |
---|---|
OS | 11.6.5 |
Ruby | 2.6.3 |
Bundler? | false |
Git | git version 2.32.0 (Apple Git-132) |
Installation Source | /usr/local/bin/fastlane |
Host | macOS 11.6.5 (20G527) |
Ruby Lib Dir | /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib |
OpenSSL Version | LibreSSL 2.8.3 |
Is contained | false |
Is homebrew | false |
Is installed via Fabric.app | false |
Xcode Path | /Applications/Xcode.app/Contents/Developer/ |
Xcode Version | 13.2.1 |
Swift Version | 5.5.2 |
System Locale
Variable | Value | |
---|---|---|
LANG | en_US.UTF-8 | |
LC_ALL | ||
LANGUAGE |
fastlane gems
Gem | Version | Update-Status |
---|---|---|
fastlane | 2.206.2 |
Loaded fastlane plugins:
No plugins Loaded
Loaded gems
Gem | Version |
---|---|
did_you_mean | 1.3.0 |
rouge | 2.0.7 |
xcpretty | 0.3.0 |
terminal-notifier | 2.0.0 |
unicode-display_width | 1.7.0 |
terminal-table | 1.8.0 |
plist | 3.5.0 |
CFPropertyList | 2.3.6 |
public_suffix | 4.0.5 |
addressable | 2.8.0 |
multipart-post | 2.0.0 |
word_wrap | 1.0.0 |
optparse | 0.1.1 |
tty-screen | 0.8.1 |
tty-cursor | 0.7.1 |
tty-spinner | 0.9.3 |
artifactory | 3.0.15 |
babosa | 1.0.3 |
colored | 1.2 |
highline | 2.0.3 |
commander | 4.6.0 |
excon | 0.76.0 |
faraday | 1.0.1 |
unf_ext | 0.0.7.7 |
unf | 0.1.4 |
domain_name | 0.5.20190701 |
http-cookie | 1.0.3 |
faraday-cookie_jar | 0.0.6 |
faraday_middleware | 1.0.0 |
fastimage | 2.2.0 |
gh_inspector | 1.1.3 |
json | 2.1.0 |
mini_magick | 4.10.1 |
naturally | 2.2.0 |
rubyzip | 2.3.0 |
security | 0.1.3 |
xcpretty-travis-formatter | 1.0.0 |
dotenv | 2.7.6 |
bundler | 1.17.2 |
simctl | 1.6.8 |
jwt | 2.2.1 |
uber | 0.1.0 |
declarative | 0.0.20 |
declarative-option | 0.1.0 |
representable | 3.0.4 |
retriable | 3.1.2 |
mini_mime | 1.0.2 |
multi_json | 1.15.0 |
signet | 0.14.0 |
memoist | 0.16.2 |
os | 1.1.1 |
googleauth | 0.16.2 |
httpclient | 2.8.3 |
webrick | 1.4.2 |
google-apis-core | 0.3.0 |
google-apis-playcustomapp_v1 | 0.3.0 |
google-apis-androidpublisher_v3 | 0.6.0 |
google-cloud-env | 1.3.3 |
google-cloud-errors | 1.0.1 |
google-cloud-core | 1.5.0 |
google-apis-iamcredentials_v1 | 0.4.0 |
google-apis-storage_v1 | 0.4.0 |
rake | 13.0.1 |
digest-crc | 0.6.1 |
google-cloud-storage | 1.31.1 |
emoji_regex | 3.0.0 |
jmespath | 1.4.0 |
aws-partitions | 1.351.0 |
aws-eventstream | 1.1.0 |
aws-sigv4 | 1.2.1 |
aws-sdk-core | 3.104.3 |
aws-sdk-kms | 1.36.0 |
aws-sdk-s3 | 1.75.0 |
rexml | 3.2.5 |
nanaimo | 0.3.0 |
colored2 | 3.1.2 |
claide | 1.0.3 |
atomos | 0.1.3 |
xcodeproj | 1.21.0 |
forwardable | 1.2.0 |
logger | 1.3.0 |
stringio | 0.0.2 |
ipaddr | 1.2.2 |
openssl | 2.1.2 |
ostruct | 0.1.0 |
strscan | 1.0.0 |
date | 2.0.0 |
io-console | 0.4.7 |
fileutils | 1.1.0 |
etc | 1.0.1 |
zlib | 1.0.0 |
libxml-ruby | 3.2.1 |
psych | 3.1.0 |
mutex_m | 0.1.0 |
generated on: 2022-06-06
I am experiencing this same issue. I have reached out to Google but have been waiting to hear back from a technical engineer for a few days now.
What they sent as a response:
"Thanks for contacting Google Play Developer Support to report the behavior you're seeing with uploading an app icon using the API.
I’ve documented your issue and escalated it to our technical team for further investigation. Our team is working to resolve this issue for you as soon as possible.
I appreciate your patience and I’ll let you know the moment I have an update. "
+1 same here
+1 same here
Update 1:
We tried changing the legacy icons to squircles created by https://icon.kitchen, but that still failed.
Here is a build log (which includes fastlane env
, SUPPLY_ variable, and supply output):
https://sil-prd-aps-files.s3.amazonaws.com/prd/jobs/publish_scriptureappbuilder_2910/10755/console.log
Update 2:
Looking more into this issue (and reading the page https://developer.android.com/google-play/resources/icon-design-specifications), it seems to be related to the Google Play App Icon (in the store listing) and not the legacy icons in the app. We did try using IconKitchen to replace the legacy icons and that didn’t work.
The odd thing is that there is a section in the document for “Instructions for API users” which reference dates in 2019 (not 2022).
Update 3:
We manually uploaded icons (and other minimal playstore listing information) and then tried to run the automated process to get all the playstore listing information uploaded and that worked ... but this is not good.
+1 same here
Update 1: We tried changing the legacy icons to squircles created by https://icon.kitchen, but that still failed.
Here is a build log (which includes
fastlane env
, SUPPLY_ variable, and supply output): https://sil-prd-aps-files.s3.amazonaws.com/prd/jobs/publish_scriptureappbuilder_2910/10755/console.logUpdate 2: Looking more into this issue (and reading the page https://developer.android.com/google-play/resources/icon-design-specifications), it seems to be related to the Google Play App Icon (in the store listing) and not the legacy icons in the app. We did try using IconKitchen to replace the legacy icons and that didn’t work.
The odd thing is that there is a section in the document for “Instructions for API users” which reference dates in 2019 (not 2022).
Update 3: We manually uploaded icons (and other minimal playstore listing information) and then tried to run the automated process to get all the playstore listing information uploaded and that worked ... but this is not good.
Your Update 3 is what we have been doing as well. Have removed the branding part to get the other metadata filled in then created a UI automation to fill in the branding. Quite annoying but gets the work done.
@gooolz I would appreciate hearing what Google has to say.
@gooolz I would appreciate hearing what Google has to say.
@chrisvire I will post here once I get an updated response from them. Hopefully they get back to me soon
we use fastlane for IOS, but use google-api-ruby-client directly, i was noticing this issue at the step where the icon.png was uploaded (512x512, sRGB, PNG32), was working since 2019 when that change went in. i sense a regression.
i imagine something as simple as updating a lib like imagemagick that does image verification not returning the same response might trigger the generic external error. the 403 on the error is weird, i'd figure it would be 401.
my report posted above ^
When using:
fastlane supply --skip_upload_images false --skip_upload_screenshots false
I get the exact same failure. Turning it off works though:
fastlane supply --skip_upload_images true --skip_upload_screenshots false
Edit: On a second note, it seems like screenshots weren't really correctly uploaded :/
found similar workaround, had to manually update the Main listing in Google Play Console so the icon was already there (lots of required fields) then i was able to run automation to properly update the listing.
in my code i normally clear the entire listing and repush all the details, which is why all by apps new/old were getting this error.
google must noticed regression and patched it, appears to be working now.
@chrisvire this was the old message from June 17th, 2019, it was a regression.
https://developer.android.com/distribute/google-play/resources/icon-design-specifications#instructions_for_api_users
it should be fixed now. confirmed for fastlane:
#20354 (comment)
i was also able to confirm directly with the google publisher api:
googleapis/google-api-ruby-client#10035 (comment)
This seems to be working on my end as well now.