アップデート:
ここに @vitro のコメントを投稿しています。
2021 年 - あります: https://developer.apple.com/documentation/appstorereceipts/expires_date_ms このフィールドは、JSON 応答の responseBody.Latest_receipt_info および responseBody.Receipt.In_app 配列で返されます。
サブスクリプションの有効期限が切れる時刻、または更新される時刻 (UNIX エポック時間形式) (ミリ秒)。日付の処理には、この時刻形式を使用します。
thx @vitro
元の投稿:
更新可能なサブスクリプションの領収書を確認しているときに、最新の領収書の有効期限を取得しようとしています。
領収書フィールドに関する Apple のドキュメントによると、「expires_date」フィールドには、1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数を含む必要があります。( https://developer.apple.com/library/ios /releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html#//apple_ref/doc/uid/TP40010573-CH106-SW1 )
ただし、フィールドをフェッチすると、「expires_date」フィールドからフォーマットされた日付の文字列を受け取ります。正しいデータを提供すると思われる「expires_date_ms」と呼ばれる別のフィールドがあります。Apple は、「以下に記載されていないキーは Apple が使用するために予約されており、アプリでは無視する必要があります」と述べています。
これが私の領収書の例です:
{"quantity":"1",
"product_id":"com.testapp.test",
"transaction_id":"1000000135676121",
"original_transaction_id":"1000000135134855",
"purchase_date":"2014-12-15 06:53:54 Etc/GMT",
"purchase_date_ms":"1418626434059",
"purchase_date_pst":"2014-12-14 22:53:54 America/Los_Angeles",
"original_purchase_date":"2014-12-15 06:51:12 Etc/GMT",
"original_purchase_date_ms":"1418626272000",
"original_purchase_date_pst":"2014-12-14 22:51:12 America/Los_Angeles",
"expires_date":"2014-12-15 06:56:10 Etc/GMT",
"expires_date_ms":"1418626570000",
"expires_date_pst":"2014-12-14 22:56:10 America/Los_Angeles",
"web_order_line_item_id":"1000000028947356",
"is_trial_period":"false"
}]
ベスト プラクティスで有効期限を取得するには、どのフィールドを使用すればよいですか?