Mismatch Status Subscription antara Login Account dan Store Account (Firebase + RevenueCat)


Saya sedang mengembangkan fitur subscription menggunakan Firebase Authentication untuk login dan RevenueCat untuk menangani in-app purchase. Masalah muncul ketika user menggunakan akun login yang berbeda dengan akun store (Google Play atau App Store) di device mereka. Dalam kasus yang saya alami, user login menggunakan akun A yang statusnya masih free, tetapi device tersebut menggunakan akun Google Play atau App Store B yang sudah memiliki subscription aktif (Professional). Ketika user A mencoba upgrade ke Professional, sistem justru langsung membaca bahwa subscription sudah aktif, sehingga user A dianggap sudah berstatus Professional padahal sebenarnya belum pernah melakukan pembelian di akun tersebut.

Dari yang saya pahami, hal ini terjadi karena RevenueCat membaca status subscription berdasarkan akun store, sementara aplikasi saya menggunakan Firebase user sebagai identitas utama. Akibatnya terjadi ketidaksinkronan antara ownership subscription dan akun login yang digunakan di aplikasi. Saat ini saya menggunakan Firebase Authentication dan RevenueCat SDK tanpa custom mapping ke App User ID (masih default/anonymous).

Yang ingin saya tanyakan adalah, bagaimana best practice untuk menangani kasus seperti ini? Apakah sebaiknya RevenueCat selalu diikat ke Firebase UID agar subscription benar-benar mengikuti user yang login? Lalu bagaimana cara memastikan bahwa subscription hanya berlaku untuk user tertentu dan tidak otomatis terbaca dari akun store di device? Selain itu, bagaimana cara menangani edge case ketika user login dengan akun berbeda di device yang sudah memiliki subscription aktif? Saya ingin memastikan bahwa subscription tidak “terbawa” ke akun lain yang login di device yang sama.

0
Apr 24 at 9:23 AM
User AvatarYehemia Gauand Rizki Mihing Se
#android#flutter#firebase#revenuecat

Accepted Answer

This website uses the English language. Could you please use the "Edit" button to edit your post and write it in English? There are also Stack Overflow sites in other languages, if one of those are easier for you:

  • Stack Overflow in Japanese: スタック・オーバーフロー
  • Stack Overflow in Portuguese: Stack Overflow em Português
  • Stack Overflow in Russian: Stack Overflow на русском
  • Stack Overflow in Spanish: Stack Overflow en español
  • Russian Language in Russian: Русский язык

(copied from here)

User AvatarDan Getz
Apr 24 at 11:04 AM
0