I have a question about reinstalling the test app for shopify app development.

Solved
shira1
Excursionist
44 0 5

*The image is in Japanese.

I am developing a public app and installing the app for testing by following the steps below.
1. On the Shopify partners App Management screen, select the Select Store button under Test App
2. On the [Test App in Development Store] screen, select [Install App](*1)
3. Install by installing the store

*1

Install.jpg

With this installation method, I was able to install it for the first time, but I deleted it by store management (*2)
*2
Uninstall.jpg

After deleting the app, if you install it by the above methods 1 to 3, the message "There is no page at this address" is displayed and you cannot install it. (*3)
*3 
Install_error.jpg

Do I need to reinstall it in another way?
I would appreciate it if you could teach me how to reinstall.

0 Likes

This is an accepted solution.

After you delete the app, a webhook will be sent to the app. The app will clear the user data or mark user status as inactive. It's the app developer's responsibility to handle the app/uninstall webhook. 

If you didn't handle the webhook, you probably cannot reinstall the app again. There may be an error in your user database. You should check your log to see what happened

SPO - SEO App to research keywords & edit social link preview
0 Likes
shira1
Excursionist
44 0 5

Thank you for your answer.
I was able to reinstall by clearing the user.

0 Likes
policenauts
Trailblazer
160 7 25

An uninstall webhook is one way, but there is a risk of it failing app submission due to timing during immediate reinstallation. Whenever a shop hits your app, a more fool-proof way is to actually do a GET request to the 'shop' endpoint using the store's access token that you keep in your db and also checking their charge ID. When they uninstall the app, their access token immediately becomes invalid.

If the access token is missing or invalid, show OAuth. 

If access token is valid but they don't have a valid charge ID, it means they installed the app but didn't accept your billing - show the billing screen.

If both are valid, you can welcome them back to the app. 

0 Likes

Thanks for your explanation @policenauts 

How to check if the access token is valid, just catch the UnauthorizedAccess exception?

SPO - SEO App to research keywords & edit social link preview
0 Likes
policenauts
Trailblazer
160 7 25

You do an http GET request to that shop's 'metafields' API endpoint and if you get a 200 OK code, that means your access token is valid, but if you get an error 500, it means the access token isn't valid. 

0 Likes

Thanks @policenauts 

I try to catch UnauthorizedAccess and redirect users to the plan page. Now it should be ok. Just need to tidy up redundant codes about redirecting to the plans

SPO - SEO App to research keywords & edit social link preview
0 Likes