Best practice for knowing if a user already purchased a product?

Is there a best practice, using expo-in-app-purchases, on checking to see if a user has already purchased a product before calling PurchaseItemAsync?

From the expo documentation, it doesn’t seem like calling getPurchaseHistoryAsync is the right approach (“You should not call this method on launch because restoring purchases on iOS prompts for the user’s App Store credentials, which could interrupt the flow of your app.”)

Is this something the app needs to maintain itself?

Any advice would be greatly appreciated! Thanks.