Development discussions around Shopify APIs
I recently submitted an app using app-bridge 2.0 and it got rejected for reasons I think are directly related to a 2.0 bug.
The reviewer rejected my app because of some error I’ve never encountered. When I looked at the screencast, I saw that the reviewer was trying to access my app through the direct app url rather than through shopify (e.g. myapp.mybusiness.com/admin?shop=my-new-app.com). I tested this same method of access with my other app already approved in the app store and still on version 1 of app bridge and it worked.
At first, I thought it was because he was missing the ‘host’ parameter, so I added code into the app that would base64 encode the shopOrigin as the host, if it was missing. I tested it again and though the initial error was gone, it redirected me to my storefront with an error saying app not found. I figured this was something related to unapproved vs approved apps and it wouldn’t be a problem because testers probably have magical tools.
But after sleeping on it, I didn’t want to risk getting the app rejected again so I tested my app again with a downgraded version of app-bridge (v1.30.0), and it worked. I could access my app directly from the app url and it would redirect me to my app embedded within the Shopify partner dashboard. The only thing I changed was the app-bridge version.
It seems to me that it’s highly probably that app-bridge 2.0 is the cause of the bug here. It may be a niche use-case for most merchants but it’s a blocker for any developer trying to submit an app. Hope this helps anyone else with the same problem.
I struggled with this for a few days and finally found this PR coming down the road in the shopify_app gem: https://github.com/Shopify/shopify_app/pull/1241/files
Here is everything that will be included in 18.0.0: https://github.com/Shopify/shopify_app/pull/1252
Hope that helps!
It's been a few months and I found the problem still persists on a new app I'm building.
I made sure to set both `shop` and `host` parameters, the `host` one being base64 encoded, but app bridge is redirecting to a 404 page. I managed to bypass the issue with my last app submission by downgrading to app bridge 1.30.0 but it seems that app bridge 2 is now required for new apps. I also made a github issue outlining more details here:
I may be lucky if my future app reviewer doesn't test the same thing but it still breaks the return flow on app subscriptions. How can I work around/fix this issue?
We're excited to announce improvements to the threaded messaging experience in our communi...By TyW May 31, 2023
Thank you to everyone who participated in our AMA with Klaviyo. It was great to see so man...By Jacqui May 30, 2023
Photo by Marco Verch Sales channels on Shopify are various platforms where you can sell...By Ollie May 25, 2023