Я прочитал предоставленный Google образец биллинга в приложении для библиотеки биллинга v3, ссылка следующая: https://github.com/android/play-billing-samples/tree/main/ClassyTaxiJava
В примере используются константы общедоступного класса.
public static final String BASIC_SKU = "basic_subscription";
public static final String PREMIUM_SKU = "premium_subscription";
для всего приложения. Мне интересно, может ли пользователь декомпилировать или распаковать apk и изменить строку продукта или обменять строку SKU, так что может случиться, что купленный элемент A, но получит функцию купленного элемента B.
Поэтому я хочу использовать getString (R.string.SKU_itemA) и getString (R.string.SKU_itemB), чтобы попытаться сделать текст менее явным при поиске кода. Смогу ли я сделать это безопаснее, чтобы избежать смены пользователя?
Если в вашем приложении есть проверка подписи, единственный способ изменить ваше приложение - это каким-то образом обойти проверку подписи. Я предлагаю вам проверить подпись своего приложения, и это защитит вас от любых проблем, связанных с клонированием или модификацией приложения. Нет смысла просто как-то защищать SKU: если пользователи могут изменять ваше приложение, они также могут удалить проверку, была ли подписка приобретена.