Users can subscribe monthly or buy lifetime outright. If they subscribe for 12 months total (non-consecutive), they earn lifetime automatically. No server needed. StoreKit 2's Transaction.all does the heavy lifting. I would say the logic/mindset is easily replicated to other platforms you just have to figure out how to calculate this with data from revenuecat or others. This specific example is only utilizing Apple's StoreKit 2.
Apps without a backend or considerable running costs should consider this monetization model that lets users choose how they pay for a 'premium' version, be it all at once or a little at a time.
One property, checked everywhere: