如何获取自动 renewable-subscription 的到期日期
How to get expiration date of auto renewable-subscription
我搜索了很多解决方案/至少是我的问题或误解的答案。有很多关于在 Objective-C 中为 iOS 实现原生 IAP 的文档——这在特定级别之前也很有用,但与 TiStorekit (Appcelerator Titanium) 的实现相关,我目前完全被阻止了。
基本上很简单。我正在尝试向用户提供一些自动续订订阅形式的高级套餐。这些产品在 iTunesConnect 中定义,我可以请求包含有关标题和描述信息的产品。我想了解 Titanium (TiStorekit) 实现中的过程如何通过具体示例解决(文档中完全缺少这些内容)。它很好地解释了您需要什么样的功能和听众,例如,我们在购买产品后着陆,但从来没有说明产品数据在哪里以及数据结构是什么样子的。
这让我把整个话题都带到了一种黑盒开发和测试中。从应用程序的角度来看,我只想知道,当订阅(用户可能几秒钟前购买)即将到期时,我如何获取信息。 在哪里可以找到这些信息以及如何访问这些信息?
在我阅读的所有文档中,这些字段似乎都存在并且可用,但我根本无法阅读任何内容 expiration-date。从概念的角度来看,我没有收据的服务器端验证。我想将用户的收据存储在服务器上,当他登录时,我会加载收据(如果标记为 "premium" 客户)并根据苹果进行验证。如果它仍然有效,那么一切都很好,我知道它要么已续订,要么仍在有效期限内。
我现在尝试了我在所有文档和其他文章中找到的所有内容,我唯一实现的是在您恢复购买或购买某物时解析来自 Storekit 的收据。收据包含签名和 "purchase-info",但我无法从中读取任何有用的属性。
首先提出一个问题:
我可以在哪里以及如何 (!) 访问 f.e。基于 TiStorekit (Appcelerator) 实现的自动续订订阅的到期日期?
希望得到救援,
网狮
获取收据使用
Storekit.addEventListener('transactionState', function (evt)
case Storekit.TRANSACTION_STATE_PURCHASED:
// Receive the receipt and decode it
///**********************************************
var receiptB64String = Ti.Utils.base64encode(evt.receipt).text;
然后将其发送到您的网络服务器,并使用 php 脚本通过 Apple 服务器验证收据。
您会收到如下 Json 响应:
Valid Json
{
"receipt":{
"original_purchase_date_pst": "2016-10-15 07:24:27 America/Los_Angeles",
"unique_identifier": "2716364e7fe61118b5fbfa12eaf3a7506a5e1c32",
"original_transaction_id": "1000000242683498",
"expires_date": "1476826579000",
"transaction_id": "1000000243499464",
"quantity": "1",
"product_id": "6个月",
"item_id": "1164542704",
"bid": "com.xxxxxxx.xxxxxxx",
"unique_vendor_identifier": "xxxxxx-xxx-xxxxxxxxxx",
"web_order_line_item_id": "1000000033471963",
"bvrs": "1.0",
"expires_date_formatted": "2016-10-18 21:36:19 Etc/GMT",
"purchase_date": "2016-10-18 21:06:19 Etc/GMT",
"purchase_date_ms": "1476824779000",
"expires_date_formatted_pst": "2016-10-18 14:36:19 America/Los_Angeles",
"purchase_date_pst": "2016-10-18 14:06:19 America/Los_Angeles",
"original_purchase_date": "2016-10-15 14:24:27 Etc/GMT",
"original_purchase_date_ms":“1476541467000”
},
"latest_expired_receipt_info":{
"original_purchase_date_pst": "2016-10-15 07:24:27 America/Los_Angeles",
"unique_identifier": "2716364e7fe61118b5fbfa12eaf3a7506a5e1c32",
"original_transaction_id": "1000000242683498",
"expires_date": "1476826579000",
"transaction_id": "1000000243499464",
"quantity": "1",
"product_id": "6个月",
"item_id": "1164542704",
"bid": "com.xxxxxx.xxxxxxx",
"unique_vendor_identifier": "xxxxxxxx-9CB8-xxxx-B1F4-xxxxxxxxxxx",
"web_order_line_item_id": "1000000033471963",
"bvrs": "1.0",
"expires_date_formatted": "2016-10-18 21:36:19 Etc/GMT",
"purchase_date": "2016-10-18 21:06:19 Etc/GMT",
"purchase_date_ms": "1476824779000",
"expires_date_formatted_pst": "2016-10-18 14:36:19 America/Los_Angeles",
"purchase_date_pst": "2016-10-18 14:06:19 America/Los_Angeles",
"original_purchase_date": "2016-10-15 14:24:27 Etc/GMT",
"original_purchase_date_ms":“1476541467000”
},
"status": 21006
}
状态 21006 表示此收据已过期。
将信息保存到应用程序或服务器上的数据库中。
我搜索了很多解决方案/至少是我的问题或误解的答案。有很多关于在 Objective-C 中为 iOS 实现原生 IAP 的文档——这在特定级别之前也很有用,但与 TiStorekit (Appcelerator Titanium) 的实现相关,我目前完全被阻止了。
基本上很简单。我正在尝试向用户提供一些自动续订订阅形式的高级套餐。这些产品在 iTunesConnect 中定义,我可以请求包含有关标题和描述信息的产品。我想了解 Titanium (TiStorekit) 实现中的过程如何通过具体示例解决(文档中完全缺少这些内容)。它很好地解释了您需要什么样的功能和听众,例如,我们在购买产品后着陆,但从来没有说明产品数据在哪里以及数据结构是什么样子的。
这让我把整个话题都带到了一种黑盒开发和测试中。从应用程序的角度来看,我只想知道,当订阅(用户可能几秒钟前购买)即将到期时,我如何获取信息。 在哪里可以找到这些信息以及如何访问这些信息?
在我阅读的所有文档中,这些字段似乎都存在并且可用,但我根本无法阅读任何内容 expiration-date。从概念的角度来看,我没有收据的服务器端验证。我想将用户的收据存储在服务器上,当他登录时,我会加载收据(如果标记为 "premium" 客户)并根据苹果进行验证。如果它仍然有效,那么一切都很好,我知道它要么已续订,要么仍在有效期限内。
我现在尝试了我在所有文档和其他文章中找到的所有内容,我唯一实现的是在您恢复购买或购买某物时解析来自 Storekit 的收据。收据包含签名和 "purchase-info",但我无法从中读取任何有用的属性。
首先提出一个问题:
我可以在哪里以及如何 (!) 访问 f.e。基于 TiStorekit (Appcelerator) 实现的自动续订订阅的到期日期?
希望得到救援, 网狮
获取收据使用
Storekit.addEventListener('transactionState', function (evt)
case Storekit.TRANSACTION_STATE_PURCHASED:
// Receive the receipt and decode it
///**********************************************
var receiptB64String = Ti.Utils.base64encode(evt.receipt).text;
然后将其发送到您的网络服务器,并使用 php 脚本通过 Apple 服务器验证收据。
您会收到如下 Json 响应:
Valid Json
{ "receipt":{ "original_purchase_date_pst": "2016-10-15 07:24:27 America/Los_Angeles", "unique_identifier": "2716364e7fe61118b5fbfa12eaf3a7506a5e1c32", "original_transaction_id": "1000000242683498", "expires_date": "1476826579000", "transaction_id": "1000000243499464", "quantity": "1", "product_id": "6个月", "item_id": "1164542704", "bid": "com.xxxxxxx.xxxxxxx", "unique_vendor_identifier": "xxxxxx-xxx-xxxxxxxxxx", "web_order_line_item_id": "1000000033471963", "bvrs": "1.0", "expires_date_formatted": "2016-10-18 21:36:19 Etc/GMT", "purchase_date": "2016-10-18 21:06:19 Etc/GMT", "purchase_date_ms": "1476824779000", "expires_date_formatted_pst": "2016-10-18 14:36:19 America/Los_Angeles", "purchase_date_pst": "2016-10-18 14:06:19 America/Los_Angeles", "original_purchase_date": "2016-10-15 14:24:27 Etc/GMT", "original_purchase_date_ms":“1476541467000” }, "latest_expired_receipt_info":{ "original_purchase_date_pst": "2016-10-15 07:24:27 America/Los_Angeles", "unique_identifier": "2716364e7fe61118b5fbfa12eaf3a7506a5e1c32", "original_transaction_id": "1000000242683498", "expires_date": "1476826579000", "transaction_id": "1000000243499464", "quantity": "1", "product_id": "6个月", "item_id": "1164542704", "bid": "com.xxxxxx.xxxxxxx", "unique_vendor_identifier": "xxxxxxxx-9CB8-xxxx-B1F4-xxxxxxxxxxx", "web_order_line_item_id": "1000000033471963", "bvrs": "1.0", "expires_date_formatted": "2016-10-18 21:36:19 Etc/GMT", "purchase_date": "2016-10-18 21:06:19 Etc/GMT", "purchase_date_ms": "1476824779000", "expires_date_formatted_pst": "2016-10-18 14:36:19 America/Los_Angeles", "purchase_date_pst": "2016-10-18 14:06:19 America/Los_Angeles", "original_purchase_date": "2016-10-15 14:24:27 Etc/GMT", "original_purchase_date_ms":“1476541467000” }, "status": 21006 }
状态 21006 表示此收据已过期。 将信息保存到应用程序或服务器上的数据库中。