Я хочу, чтобы подписка на подписку теперь была закончена/завершена, поэтому я могу удалить объекты, которые я им предоставлял.Обнаружение истечения срока подписки Apple
На каждом запуске приложения, я следующий вид деталей из компании Apple подписки:
public void CheckIfSubscriptionIsActive(){
ConfigurationBuilder builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
// Get a reference to IAppleConfiguration during IAP initialization.
IAppleConfiguration appleConfig = builder.Configure<IAppleConfiguration>();
if (!string.IsNullOrEmpty (appleConfig.appReceipt)) {
Debug.Log (appleConfig.appReceipt);
// InstantiateDebugText (DebugInfoPanel, "APP Receipt Base64 " + appleConfig.appReceipt);
var receiptData = System.Convert.FromBase64String (appleConfig.appReceipt);
// InstantiateDebugText (DebugInfoPanel, "receipt Data "+ receiptData);
AppleReceipt receipt = new AppleValidator (AppleTangle.Data()).Validate (receiptData);
InstantiateDebugText (DebugInfoPanel, "Apple receipt " + receipt);
foreach (AppleInAppPurchaseReceipt productReceipt in receipt.inAppPurchaseReceipts) {
Debug.Log ("PRODUCTID: " + productReceipt.productID);
Debug.Log ("PURCHASE DATE: " + productReceipt.purchaseDate);
Debug.Log ("EXPIRATION DATE: " + productReceipt.subscriptionExpirationDate);
Debug.Log ("CANCELDATE DATE: " + productReceipt.cancellationDate);
InstantiateDebugText (DebugInfoPanel, "PRODUCTID: " + productReceipt.productID);
InstantiateDebugText (DebugInfoPanel, "PURCHASE DATE: " + productReceipt.purchaseDate);
InstantiateDebugText (DebugInfoPanel, "EXPIRATION DATE: " + productReceipt.subscriptionExpirationDate);
InstantiateDebugText (DebugInfoPanel, "CANCELDATE DATE: " + productReceipt.cancellationDate);
}
}
Поскольку при детектировании расчета срока подписки, я не могу воспользоваться помощью текущей даты и времени iPhone и моего приложения не использовал какие-либо пользовательские связанные с сервером вещи, поэтому я полностью зависим от Apple для этого.
Потому что только по этой причине я использовал автоматическую возобновляемую подписку, чтобы у меня была информация о продолжительности подписки.
Теперь, пожалуйста, поделитесь своей мыслью об этом, как определить срок подписки истек?
спасибо за ваш замечательный ответ. Позвольте мне задать другие сомнения: 1) для проверки истечения срока подписки, мы должны запросить наш пользовательский сервер? 2) Информацию об истечении срока подписки можно получить непосредственно из яблока? а не оставаться зависимыми от настраиваемого сервера? – Siddharth
Вы можете напрямую проверить на сервере Apple статус подписки. Даже если вы используете настраиваемый сервер, ваш пользовательский сервер должен отправить запрос на сервер Apple для проверки получения. как я добавил в примечании: вы можете использовать данный url для проверки и, пожалуйста, проверьте https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html один раз. – Darshana
выше вы указали сравнение даты истечения срока действия и текущей даты для проверки цели подписки, для чего это необходимо? если яблоко ответит мне о статусе подписки в соответствии с вашим последним сообщением. Это меня пугает. Поскольку без настраиваемого сервера я не могу принять текущую дату iphone для проверки подписки. – Siddharth