Google will change its policy on the 1st of Nov 2020 : subscription "Hold" will need to be enabled https://android-developers.googleblog.com/2020/06/new-features-to-acquire-and-retain-subscribers.html
At the moment, here is how I query if a user has purchased my subscription or not (there is only 1 subscription in my app) and grant him privileges accordingly:
private void queryPurchase() {
Purchase.PurchasesResult purchasesResult = mBillingClient.queryPurchases(BillingClient.SkuType.SUBS);
if (purchasesResult != null) {
if (purchasesResult.getPurchasesList() != null) {
if (purchasesResult.getPurchasesList().size() > 0) {
String purchaseToken = purchasesResult.getPurchasesList().get(0).getPurchaseToken();
if (purchasesResult.getPurchasesList().get(0).toString().contains("productId\":\"" + "myID")) {
//grant user subscription's privileges
}
}
else {
//do not grant user subscription's privilege
}
}
}
}
My questions are :
Since the 1st of November several of my apps were changed only on the server side, nothing related to UI/messaging to the user. And since I didn't get any rejection or warning, I would conclude there was no UI/messaging changes required. It would be great if Google requirements were more clear to avoid such a waste of time!