# SubscriptionInfo クラスリファレンス

> `SubscriptionInfo` クラスメソッドをリファレンスして、サブスクリプション製品情報と状態を取得します。

Unity Iap は、`SubscriptionInfo` クラスを通じてサブスクリプション製品の詳細情報を表示します。

## SubscriptionInfo クラスメソッド##subscriptioninfo-class-methods

`SubscriptionInfo` クラスは、製品のサブスクリプション関連情報のコンテナです。

> **Note:**
>
> `IsSubscribed()`、`IsExpired()`、`IsCancelled()`、`IsAutoRenewing()`、および `GetRemainingTime()` メソッドは、現在の日付を使用して呼び出し時に計算されます。つまり、`SubscriptionInfo` オブジェクトをキャッシュした場合、これらの値は時間の経過とともに動的に更新されます。

以下のメソッドが `SubscriptionInfo` クラスで使用できます。

| メソッド                                             | 説明                                                                                                                                                                                                                                                                                       |
| :----------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `public string GetProductId()`                   | プロダクトのストア ID を返します。                                                                                                                                                                                                                                                                      |
| `public DateTime GetPurchaseDate()`              | プロダクトの購入日を返します。 Apple の場合、購入日はサブスクリプションが購入または更新された日付です。Google の場合、購入日はサブスクリプションが最初に購入された日付です。                                                                                                                                                                                            |
| `public Result IsSubscribed()`                   | プロダクトが現在サブスクライブされているかどうかを示します。 Apple App Store の非更新製品は`Result.Unsupported`値を返します。Apple App Store の自動更新可能な製品と Google Play ストアのサブスクリプション製品は、`Result.True`または`Result.False`値を返します。                                                                                                          |
| `public Result IsExpired()`                      | サブスクリプションが期限切れかどうかを示します。 \* Apple App Store の非更新製品は`Result.Unsupported`値を返します。 \* Apple App Store の自動更新可能な製品と Google Play ストアのサブスクリプション製品は、`Result.True`または`Result.False`の値を返します。                                                                                                        |
| `public Result IsCancelled()`                    | サブスクリプションがキャンセルされたかどうかを示します。 キャンセルされたサブスクリプションは、現在サブスクリプションされているが、次の請求日には更新されないことを意味します。 Apple の場合、これはキャンセル日によって決まります。 Google の場合、これは自動更新の状態によって決まります。 Apple App Store の非更新製品は`Result.Unsupported`値を返します。                                                                                |
| `public Result IsFreeTrial()`                    | 製品が無料トライアル中かどうかを示します。 Apple App Store の非更新製品は`Result.Unsupported`値を返します。Apple App Store の自動更新可能な製品と Google Play ストアのサブスクリプション製品は、`Result.True`または`Result.False`値を返します。                                                                                                                   |
| `public Result IsAutoRenewing()`                 | サブスクリプションが自動更新可能かどうかを示します。 Appleの場合、これは製品タイプ、キャンセル状態、有効期限状態に基づいて計算されます。Google の場合、格納された自動更新フラグを返します。 Apple App Store の非更新製品は`Result.Unsupported`値を返します。                                                                                                                                  |
| `public TimeSpan GetRemainingTime()`             | 次の請求日までの期間を示す TimeSpan を返します。Apple App Store の非更新製品には、返品`TimeSpan.Zero`があります。                                                                                                                                                                                                            |
| `public Result IsIntroductoryPricePeriod()`      | サブスクリプションが導入価格期間にあるかどうかを示します。 Apple App Store の非更新製品は`Result.Unsupported`値を返します。 Apple App Store の自動更新可能な製品と Google Play ストアのサブスクリプション製品は、`Result.True`または`Result.False`値を返します。                                                                                                          |
| `public TimeSpan GetIntroductoryPricePeriod()`   | 導入価格期間の残り時間を示す`TimeSpan`を返します 。 サブスクリプション製品で導入価格期間がない場合は、`TimeSpan.Zero`が返されます。Apple App Store の製品は、アプリケーションが iOS バージョン 11.2 以降、macOS 10.13.2 以降、または tvOS 11.2 以降をサポートしない場合に`TimeSpan.Zero`を返します。                                                                                        |
| `public long GetIntroductoryPricePeriodCycles()` | 初期価格サイクルの数を返します。 Apple App Store の製品は、アプリケーションが iOS バージョン 11.2 以上、macOS 10.13.2 以上、または tvOS 11.2 以上をサポートしていない場合は 0 を返します。                                                                                                                                                                |
| `public string GetIntroductoryPrice()`           | 導入価格の文字列を返します 。 導入価格が設定されていない製品は、`"not available"`値を返します。Apple App Store 製品の導入価格は、`“0.99USD”` としてフォーマットされた値を返します。導入価格の google play 製品では、`“$0.99”` としてフォーマットされた値が返されます。Apple App Store の製品は、アプリケーションが iOS バージョン 11.2 以降、macOS 10.13.2 以降、または tvOS 11.2 以降をサポートしない場合に`“not available”`を返す。 |
| `public DateTime GetExpireDate()`                | 製品の次回の自動更新または有効期限の日付を返します（キャンセルされた自動更新サブスクリプションの場合）。                                                                                                                                                                                                                                     |
| `public DateTime GetCancelDate()`                | サブスクリプションがキャンセルされた日付を返します。 Apple App Storeレシートからキャンセル日を返します。 Google Play ストアサポートされていません - `DateTime.MinValue` を返します。IsCancelled() を使用して、google play のキャンセル状態を確認します。                                                                                                                      |
| `public TimeSpan GetFreeTrialPeriod()`           | 無料トライアル期間の継続時間を返します 。 Google Play ストア製品の詳細から、設定されている無料トライアル継続時間を返します。 Apple App Storeサポートされていません - `TimeSpan.Zero` を返します。無料トライアル状態は`IsFreeTrial()`で確認できます。                                                                                                                               |
| `public TimeSpan GetSubscriptionPeriod()`        | サブスクリプション課金期間の継続時間を返します。 Google Play ストア製品の詳細からサブスクリプション期間を返します。  Apple App Storeサポートされていません - `TimeSpan.Zero` を返します。                                                                                                                                                                    |
| `public string GetFreeTrialPeriodString()`       | 無料トライアル期間を ISO8601 継続時間文字列として返します （例： 1 週間の "P1W"）。 ただし、このメソッドは Google Play ストアの有用なデータのみを返します。 Apple App Store の場合は、`null`を返します。                                                                                                                                                         |
| `public string GetSkuDetails()`                  | google play API から Raw JSON SkuDetails を返します。Apple App Store の場合は、`null`を返します。                                                                                                                                                                                                           |
| `public string GetSubscriptionInfoJsonString()`  | `productId`、`is_free_trial`、`is_introductory_price_period`、`remaining_time_in_seconds` などのサブスクリプション データを含む JSON 文字列を返します。 Google Play ストアのサブスクリプション更新のために内部で使用されます。                                                                                                                      |
