Skip to main content
Question

Migrating from glassfy


I originally went with glassfy 2 years ago because their docs and setup for capacitor were simpler to understand.  Unfortunately, they’ve now gone defunct, so I need to migrate to RC.

 

 have two apps that I need to migrate. 

One app is very seasonal, so glassfy may not exist any more when the users finally open their app. 

The other, I had issues with android not sending the subscription into to glassfy anyway, and their support refused to respond.

 

My main question:

  • can I simply call syncPurchases once for all users the first time they run the updated app version that has RC integrated?

If I can simply call syncPurchases once on update, and each user who does this will automatically be given their subscription access, that would be great. 

 

Can anyone confirm this would work?  Or do I need to do something more complicated?

Hi @snapdown 

 

Yes, that should work. You can also ask Glassfy to export all the receipts from your App with the user ID associated with it and call our POST /receipt endpoint (https://www.revenuecat.com/docs/api-v1#tag/transactions)

 

Another thing you should do is forward RTN from Apple to RevenueCat (and you can configure RevenueCat to forward them to Glassfy while they are still active).

 

If you face any issue, feel free to reach out to me


Hi @snapdown 

 

Yes, that should work. You can also ask Glassfy to export all the receipts from your App with the user ID associated with it and call our POST /receipt endpoint (https://www.revenuecat.com/docs/api-v1#tag/transactions)

 

Another thing you should do is forward RTN from Apple to RevenueCat (and you can configure RevenueCat to forward them to Glassfy while they are still active).

 

If you face any issue, feel free to reach out to me

 

At this point, they’ve seemingly gone radio silent so I’m not hopeful to get any exports, but I’ve asked them anyway.

 

Appreciate your reply.  I’m looking forward to working with a product that’s actually supported!


@snapdown Thank you for posting this. I’ll be following. Going through the exact same thing with Glassfy


@whenable if you face any issue, feel free to tag me, happy to help with any issue that you might face during the migration


@whenable @snapdown what platforms do you have in Glassfy? Apple? Google?

Trying to see if there’s another way to migrate even if people don’t open the app


@MarcosC : My users are all on android or google, using ionic/capacitor based mobile app.


I’m so glad to see this thread. At least I can commiserate with others about this.

I was super confused on why they stopped charging entirely about a year ago and I told them multiple occasions I would have been happy to pay for the service as long as they kept being alive so I wouldn’t have to suffer through a migration like this.

I actually reached out to Glassfy and they told me that RevenueCat is working on a migration guide.
@MarcosC do you know if this is true, and if so, is there an ETA on that? And also can you elaborate what RTN means?


@potatocat666 : at least you got a response… I’ve emailed their support several times in the last few months and never got any responses. 


Hi @potatocat666 

 

We have just published this - https://www.revenuecat.com/blog/engineering/how-to-migrate-from-glassfy-to-revenuecat/

 

RTN: Real Time Notifications. What I was saying is, you’ll need to configure the stores (Apple serve notifications, Google Pub Sub) to notify us about any event.

 

If you have any doubt / issue during the migration, let me know and I’ll try to help you.


Regards,



 

@MarcosC Thank you, that was super fast! Some more questions for you:

  1. We should ideally request the receipt export from Glassfy when we’ve completed integrating the RevenueCat SDK in the app, is that correct?
  2. Post RevenueCat integration, what happens if someone makes a purchase with an earlier version of our app and Glassfy? 😢 I will likely have some stubborn users on old versions.
  3. I was using the custom subscribers feature in Glassfy, so the same user on multiple platforms and devices would get their own entitlements if they were logged into the app. I see RevenueCat has a feature to allow ID’ing users too, and I used the same ID I did for Glassfy. I tested around with my sandbox account and was able to make my purchase history for the sandbox account show up…but not my custom subscriber permissions. Is that something that would be fixed via the receipt export from Glassfy that you were mentioning before?
  4. For users that were not logged in and had no id, all their entitlements data comes from the respective app stores, correct?

@snapdown I think I’m one of their bigger accounts, but I’ve been also CC’ing the founder, poor guy. I have his email from the beginning when he was doing all the support. :P

I also had that same google play issue you did. I still have PTSD from the Glassfy setup because it ended up being something tiny in their google play pub / sub setup that I must have missed the first time. It’s one of the reasons I’m terrified about this migration. I’d actually really appreciate it if someone from the RevenueCat team could look over our setups when we’re ready to make sure stuff like that doesn’t happen again :(


  1. ​​​​​​Yes
  2. When they upgrade to the version of the app, you could either call syncPurchases or they would click restore
  3. If you are using custom identifiers for subscribers, you can call the logIn method when you identify them → https://www.revenuecat.com/docs/customers/user-ids#provide-app-user-id-after-configuration
  4. When you hit restore (or call syncPurchases), we would get the information from the store and restore it.

 

What stores are you using @potatocat666 ?


> I’d actually really appreciate it if someone from the RevenueCat team could look over our setups when we’re ready to make sure stuff like that doesn’t happen again :(

btw, I’m happy to review your setup to see that everything is correct.


@MarcosC Thanks for the guide! I’ll probably get started on the migration in the next week or two. I have users in both Google and Apple ecosystems. I’ll reach out if I hit any snags, and will follow this thread for any gotchas


Happy to jump to a zoom if any of you need some help.

 

> what happens if someone makes a purchase with an earlier version of our app and Glassfy? 

There’s an approach that would only work for Apple, that would automatically forward purchases from Glassfy to RevenueCat.

You can create a Glassfy function that on every event it calls RevenueCat. It would only work for Apple, because we can fetch a transaction from Apple’s API. It won’t work for the other stores.

 

I wrote this gist if it helps - https://gist.github.com/mcastany/c58fb3d92c43560a3c0a1a37115c006d

 


@MarcosC :  Glassfy just sent me two CSVs of receipts, one for android and one for apple.  I may not get app versions out super quickly, but I don’t have much subscriber activity right now as it’s offseason for my app (it’s very seasonal).

I will figure out how to import these.

After I do, do I need to do anything special in the apps?  I figure I should still call syncPurchases just to make sure we got them all (I know my android users had some hiccups in glassfy for one of my apps).

 

Also, for my one app, android wasn’t set up correctly, glassfy would never help me resolve it, so none of the android subscribers are synced to glassfy on that one.  

 

I did not do any special user IDs in glassfy -- just whatever they assigned.  So do I need to do anything special, or just let RC assign an ID?

 


>I will figure out how to import these.
To import them, just write a simple script that goes line by line of the CSV file and calls this endpoint → https://www.revenuecat.com/docs/api-v1#tag/transactions/operation/receipts

 

> Also, for my one app, android wasn’t set up correctly, glassfy would never help me resolve it, so none of the android subscribers are synced to glassfy on that one.  

Do you need any help with this? Were you using WatcherMode on this app?

 

> So do I need to do anything special, or just let RC assign an ID?

Perfect, the same here. You can use our anonymous IDs. 

 

If you want to review anything together, just let me know, happy to help


@MarcosC  Thank you.  On my one app where android wasn’t working -- I think the folks who subscribed (it was a small number) just aren’t able to access the app because glassfy didn’t know about them.  I asked for help and they just said ‘you must not have set it up correctly’.  That was helpful ::eyeroll::.

 

If you are able to help see where I went wrong in the play/google setup, that’d be great as I’d love to get them working in RC.  I’m sure there’ something small I missed, but I went through several times and couldn’t find it. 


  

@MarcosC I think that last issue w/ custom subscribers was a me problem due to having too many test accounts. Sorry!

One loose end - Google Play Trials

I have free trials setup on both google play and iOS, but it appears “checkTrialOrIntroductoryPriceEligibility” is only available for iOS, and trials are applied automatically for Google Play users. But I show different content to the user based on if they’re eligible for the trial or not.

How should I handle that use case inside RevenueCat? I admit I’m still doing paywalls DIY style in the app.


@potatocat666 what language are you using? My assumption is that you are using a hybrid SDK (not native).

Apple and Google are slightly different. In iOS you need to call `checkTrialOrIntroductoryPriceEligibility` because we have to check at runtime if you are elegible and sign the offer. In Google in most cases, Google is the one to determine if you are elegible or not. (except for dev determined offers).

You’ll need to check trial eligibility based on the platform:

  • On Apple, you would use `checkTrialOrIntroductoryPriceEligibility`

 

 

 

 


I have received a csv export 280 MB big from Glassfy, but I don’t know how to handle this file.
Can I upload it somewhere at revenue cat ?


I have received a csv export 280 MB big from Glassfy, but I don’t know how to handle this file.
Can I upload it somewhere at revenue cat ?

You need to write a script to import them to revenucat.  I don’t know why they don’t show an example, but I have one I wrote I can send to you. It should work with android and ios imports from glassfy.


@snapdown thanks for reply. What language is your script made in.
For a smooth and easy migration I didn’t expect to write my own scripts.
 


@andrefromspicyapps the script is written in python.  If you want it, I can send.  You just need to run it with your api key and the csv file from glassfy, it’ll then import all the data for you.  You run it once for ios and once for android.


@snapdown yes, please send it. andre@spicyapps.com


For anyone who needs to import, here’s a gist of the script.  Usage instructions are in the script also.

 

https://gist.github.com/foerster/9b2b93b571791d9293c78747f1c2cee7