So my solution was not optimal, but it’s managed to perform well at the volume of new user’s I’m getting.
The setup is as follows:
GoNative app to ping my Bubble endpoint as defined in the OneSignal setup page
Save this data to a new row in a “OneSignal” data table, ONLY when this particular OneSignal ID has not already been assigned to a User. Items to save are shown below. Importantly this saves the device’s OneSignal ID, which needs to then be associated with a user. To do this, the user must be logged in, so then…
Upon User Login & when User has no OneSignal ID, look for the latest OneSignal ID with no associated user that has been created in the last 60 seconds (so not to take random old, though unassociated IDs). Save this OneSignal ID as the User’s One SIgnal User ID. Then update the OneSignal item with the Associated User = Current User.
OneSignal data table has the following items: Associated Email, Associated User, Log In Time, One Signal ID
User data table has the following item: OneSignal User ID
WIth high volume of new signups, I could see this method associating the UserIds in appropriately. This would occur only when more than 1 new user signs up within a 60 second period and that the second user somehow searches for and associates the first user’s OneSIgnal ID due to system latency from the first user. That said I haven’t seen it come up yet, but fair warning.
Let me know what you think … open to better suggestions if they’re out there.