IAP+Subscription Component via IAPHUB

Okay got it, thank you for clearing that up!

Is the randomizer something that should run on screen load or does the user have to click on it? I can’t seem to get it to work.

It should be on the register/subscribe screen. When you create a new user.

Skip to about 5:20 in this video to see how using a unique ID works with the randomizer. Rather than conversation it should be new user.

Thanks - I think I’ve fixed it now :slight_smile:

1 Like

Any clue why any page I have the randomizer component on, when the page loads its just blank?

Did you look at 5:20 in the video? The component itself will be blank, you need to wire up the action from the randomizer to an input or something else.


I have it to update an invisible field, then a button on the page will update the users ID.

However, whenever my signup page goes to that page with the randomizer on it the entire screen is just blank, there is no content on the screen anymore.

It seems to be an issue with the preview feature in Adalo. It doesnt blank the screen when I use the app on my phone.

Side question - Can we have the randomizer just update the logged in users record or does it have to save to a text box first?

I find that for some reason, that I still cant figure out, it doesnt always save an ID to the user.


I set everything up correctly from what I can tell, but when I press the button in the app nothing happens.

Any ideas?

Edit: I was missing a step on IAPHUB. After you create your products you have to List them. That was my mistake. All good, thanks.

IAPHUB comes after the button popup so it has nothing to do with your problem.

Are you 100% certain that the product id from the apple developer configuration and the product id for the component is correct?

If you can make a test for me, use the marketplace iap component and configure it and see if that works. It does not matter if it is subscriptions or not for this test. If that works I will need to investigate to see if there is a bug. If it does not work, then you will need to confirm that you set up apple developer/component properly.

The IAPHUB will only matter after the popup happens and a purchase is made, not before

Yeah, sorry I dont think my edit went though on my post.

The issue was that after I created my products in IAP hub, I didnt list them. That was the key point I was missing :slight_smile:

1 Like

While I have you here though.

In the video you said to avoid using emails as the unique ID, I tried the randomizer approach and it’s very inconsistent for me for some reason. I have it on one of my signup pages (after sigenup) and it doesnt always fill in a unique ID. I have it set to fill in a visibility hidden box and then the button on that page is supposed to update the unique ID field with the information inside of that box, and it just doesnt seem to work 100% of the time.

What id the downside of using the users email for the unique ID?

You would need to reach out to IAPHUB support and see if they support using emails, I’ve never tried.

To answer the question, it is mainly about adding extra security to your app, or specifically, your purchases. Let’s say I download your app, that supports subscriptions for access to content, and I am a hacker that knows what I am doing. If I see that IAP is done using emails as the identifier then I would just look around and see if I could find the email of another user and spoof their account. Emails are generally public things and easily guessable. You know my email address because I use it in my videos, and it is a business tool for people to contact me. It is my first name @ my company name. So if you talked to Kelly at our company, I am pretty sure you can guess what her email address would be.

Using UUID is a practice called security through obscurity. It is not very secure in the grand scheme of things, but for iap and digital purposes it does much better than email. It is much harder to guess a UUID than an email.

So in summary, it is really just about good practice to make sure that people are not spoofing other users to gain access to your paid services. I suppose if you are no-code on Adalo it is not a major concern.

1 Like

New issue for me :smiley:

First of all, thank you for answering me EVERY time. I really do apprecieate it.

Newest issue.

I have everything working 100% for iOS, however on android, when I press the subscription button nothing pops up. I published the internal test to the Google play store with all the most recent info, everything is up to date and again, it works on iOS. The product id’s are the same for both android and ios.

Here’s the strange part if I go to users in IAPHUB one does show as android:

(This is all test data)

Not sure what to do next.

You’re very welcome, and thanks for posting in the thread instead of direct message so that others who find themselves in the same position can search the answer.

I am going to take a guess that the issue is you are trying to purchase the same item, with the same account on multiple platforms. As a quick test, subscribe a new user for your android device and try to make a purchase with that. Most users do not install an app on both an iOS device and Android. If that works using a new user account, AND you need to support a user that uses both Android and iOS for the same app, reach out to iaphub. I remember there was a setting somewhere that you can set to support this.

Just tried that. It registered a new user in IAPHUB, but the popup for payment did not come up.

Can you confirm that this is setup properly in the Play Console? Google Play Console | Google Play Console

The product id must match, and the status must be Active for IAP and Subscriptions.

Yes its there:

And here’s IAPHUB:

Hmm… and for sure you linked the Android product id on the component properly?

If that is the case, can you do one more step, on the component there is an Action when an error occurs. Can you link that action up to an input field or database field. It has a property called Error Code, when you click on the button see if the ERROR action is triggered, and if it is can you let me know the code it produces?

Possible errors are user_conflict, cross_platform_conflict, receipt_request_failed, receipt_invalid, receipt_validation_failed, deferred_payment, product_already_owned, etc… It should help figure out why this is happening.

Yes i’ll try to get the error code. Give me a few minutes since i’ll have to upload a new build.