私は顧客のサブスクリプションがすでに完了したことを検出したいので、私が提供していた施設を削除することができます。サブスクリプションの有効期限の計算の検出には、私は現在のiPhoneの日付と時間と私のアプリの助けを取ることができないのでアップルのサブスクリプションの有効期限を検出する
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);
}
}
:私はAppleのサブスクリプションから細部のようなものを以下しているアプリケーションの各起動時に
、カスタムサーバー関連のものを使用していなかったので、私はAppleに完全に依存しています。
私は、自動更新可能な定期購読を使用していたため、購読期間に関する情報があります。
今、あなたの考えを共有してください、どのようにサブスクリプションが有効期限が切れているのを検出するのですか?
お返事ありがとうございます。私は他の疑問を聞かせてください、1)サブスクリプションの有効期限をチェックするために、我々はカスタムサーバーに問い合わせる必要がありますか? 2)サブスクリプション期限情報は、Appleから直接取得できますか?カスタムサーバーに依存するのではなく、 – Siddharth
アップルサーバーでサブスクリプションステータスを直接確認することができます。カスタムサーバーを使用していても、カスタムサーバーは受信確認のためにアップルサーバーに要求を送信する必要があります。私が追加したように:あなたは検証のためのURLを使うことができ、https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.htmlを一度チェックしてください。上記の – Darshana
は、契約目的の有効期限の有効期限と現在の日付の比較を指定しましたが、これはどの目的のためですか?アップルがあなたの最後のメッセージごとにサブスクリプションステータスについて私に返信している場合。このことは私を混乱させる。カスタムサーバーを使用していないので、現在のiPhoneの日付を利用してサブスクリプションの検証を行うことができないためです。 – Siddharth