Вот сценарий:
- Пользователь подписывается на продукт, используя свою учетную запись Google.
- Подписка успешно подтверждена, и приложение предоставляет ему доступ к определенным премиум-функциям.
- Мое приложение также использует аутентификацию Firebase, при которой пользователи входят в систему с учетными записями Firebase. (например, адрес электронной почты/пароль, вход в Google).
- Приложение устанавливает ежедневные ограничения на использование некоторых дополнительных функций, таких как создание сопроводительных писем, которые хранятся в Firestore и зависят от того, пользователь Firebase подписан.
Подписки привязаны к аккаунтам Google, но ограничения на использование установлены. привязан к аккаунтам Firebase.
Пользователь может этим злоупотреблять. путем:
- Подписка с использованием одной учетной записи Google.
- Вход в приложение с несколькими учетными записями Firebase при использовании одной и той же подписки. Аккаунт Google.
- Сбрасывает ограничения на использование премиум-функций каждый раз при смене аккаунта Firebase.
Код: Выделить всё
billingClient.queryPurchasesAsync(params) { billingResult, purchases ->
if (billingResult.responseCode == BillingResponseCode.OK) {
purchases.any { it.purchaseState == PurchaseState.PURCHASED && it.isAcknowledged }
}
}
Как я могу запретить пользователям злоупотреблять системой подписки путем создания нескольких учетных записей Firebase, привязанных к одной и той же учетной записи Google? Есть ли способ обеспечить соблюдение ограничений или связать подписки непосредственно с учетными записями Firebase, сохраняя при этом их привязку к учетным записям Google для целей выставления счетов?
Дополнительные примечания:
Я понимаю, что подписки привязаны к Учетные записи Google, что усложняет задачу.
Я ищу лучший способ обеспечить соблюдение ограничений, хранящихся в Firestore, для всех учетных записей Firebase для одной и той же учетной записи Google.
Премиум-функции напрямую связаны с статус подписки, но лимиты сбрасываются при переключении Учетные записи Firebase.
Мы будем очень признательны за любые предложения или подходы к решению этой проблемы!
Подробнее здесь: https://stackoverflow.com/questions/793 ... rebase-acc