11

アップデート:

ここに @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"
}]

ベスト プラクティスで有効期限を取得するには、どのフィールドを使用すればよいですか?

4

1 に答える 1