Beta process for unpublished (in-development) apps in real stores?

Alex75
Tourist
4 0 4

Since Shopify's July 18th change of totally hiding unpublished apps (no more apps.shopify.com/myapp for unpublished apps), what is the process for beta testing in-development apps in real stores other than those under our own partner account?

We need a way forward on this, because right now it seems to be impossible.

Matt13
New Member
1 0 0

I'm having the same issue, is there an alternative approach?

0 Likes
Leon_old
Shopify Staff
Shopify Staff
39 0 6

Hey, Alex.

Brendan here from the Shopify Support team. 

The recent change to the Shopify app store unpublished app pages has been made as an effort to ensure all apps available for direct install have been approved by the Shopify Apps team.  This means that in order to provide access to an unpublished app, developers must either publish the app to create a listing page or provide their own direct download link for beta testing. 

The direct install link can be provided to merchants by adding their mystore.myshopify.com and other details to the authorization link found here: https://help.shopify.com/api/getting-started/authentication/oauth?utm_medium=Forum&utm_campaign=Guru...

If you have any further questions specific to an app, you can also reach out to the apps team directly through apps@shopify.com.

Cheers,

Brendan

Jamie_D_
Shopify Staff (Retired)
Shopify Staff (Retired)
531 1 99

The Shopify App Store simply sends a GET request to your application, appending the shop name as a URL parameter. (https://mycoolapp.herokuapp.com/?shop=some-shop.myshopify.com)

Since you already know your own app URL, you simply just need the shop name to initiate an install.

SproutKey
Shopify Partner
30 0 7

Does the removal from the app store effect usage of the Billing API at all for setting up recurring charges?

0 Likes
Adam_Hurlburt
Explorer
41 1 10

Does this process still work (of using the link app_server.com/?shop={store.myshopify.com})? I attempt to do this and it redirects to my app but then redirects back to the shopify admin (for the store passed in the shop parameter) and I get an error saying the page you are looking for cannot be found?

0 Likes
Adam_Hurlburt
Explorer
41 1 10

I figured out what was wrong in case others come across this with a similar issue.

 

I was using the url listed in the app setup https://unlisted-app-url.com/ and passing the shop param like so https://unlistedappurl.com/?shop=dev-shop-url.com.

 

This wasn't working, it would redirect to my app but then quickly indicate page not found.

 

I installed through the partner dashboard on my dev store (using the install on development store link) with the network tab open on chrome and saw the GET request is actually https://unlistedappurl.com/auth?shop=dev-shop-url.com

 

So in case anyone else runs into this problem you are likely missing the auth bit. Hope that helps.

0 Likes
policenauts1
Trailblazer
173 13 33

I've been testing my public unlisted, unapproved app using myappname.myhosting.com?shop={my shop name} and it was working fine with my development stores in terms of generating the permission URL and passing OAuth. It then came as a surprise to me that I wasn't able to send this link to actual merchants - they would get an error that they can't install an unlisted, non-reviewed app. 

 

However, after you create a custom app in Shopify, the "create custom install link" is simply broken, as other threads have mentioned. What HAS worked (after much sweating leading up to a meeting with a client) is creating a custom app, GENERATING THE BROKEN CUSTOM INSTALL LINK and specifying that specific shop, and THEN sending them to an actual constructed OAuth2 permission URL:

 

https://{shop}.myshopify.com/admin/oauth/authorize?client_id={api_key}&scope={scopes}&redirect_uri={redirect_uri}&state={nonce}&grant_options[]={access_mode}

If you try to send this link prior to generating a link and specifying which merchant your custom app is for, you'll get the non-descriptive error that they can't install this app using this link, please reach out to the developer for more information (of which I had very little).

 

More background and another bug I ran into: I had my app hosted at myshopifyapp.myhosting.com and within my code I'd specified my app's api_key. I would test installs on my development stores using myshopifyapp.myhosting.com?shop={shopOrigin}.  All was working fine with my development stores, but then I realized my client wouldn't be able to install my public, unlisted / unapproved app. Great, I should be able to create a custom app in Shopify, point it to the same hosting URL, and in my app change the api_key to match the new custom app, right?

 

No - there was a weird bug where the OAuth permission URL that kept generating as a result would still point to the old client_id even after I'd confirmed I'd changed it in my code. I had to actually create a new hosting link for my app myshopifyapp2.myhosting.com?shop={shopOrigin} and THEN the new client_id parameter in my OAuth link showed up correctly.

0 Likes
Adam_Hurlburt
Explorer
41 1 10

I'm wondering if something changed here, since I was using the process outlined for a previous app which worked, started development on a new app and now I can't install it in one of my live stores which I want to do for beta. I don't want to make it a "private app" since i plan on releasing. It installs on dev store but not on live stores, which is NOT the same as the last app I created which worked as per this process.

Did Shopify change something here? Where are these things announced? 

0 Likes