fastlane / fastlane

🚀 The easiest way to automate building and releasing your iOS and Android apps

Home Page:https://fastlane.tools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[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

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:

  1. 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.
  2. 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 Up-To-Date

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.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.

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.

@sonjz Or it is past June 17 and we will run into this again at the beginning of June next year... ;-)

@gooolz Did you hear back from Google on the issue?

@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.

ezoic increase your site revenue