Unity IAP 通过SubscriptionManager类支持查询产品的订阅信息。有关示例代码,请查看Unity IAPUnity In App Purchase的缩写
参见 词汇表 SDK 1.19+ 中包含的IAPDemo.cs脚本。
此类支持 Apple Store 和 Google Play 商店。对于 Google Play,此类仅支持使用 IAP SDK 1.19+ 购买的产品。
| 方法 | 描述 | 
|---|---|
| public SubscriptionInfo getSubscriptionInfo() | 返回一个 SubscriptionInfo对象(见下文) | 
SubscriptionInfo类是用于存储产品订阅相关信息的容器。
| 方法 | 描述 | 
|---|---|
| public string getProductId() | 返回产品的商店 ID。 | 
| public DateTime getPurchaseDate() | 返回产品的购买日期。 对于 Apple,购买日期是订阅购买或续订的日期。对于 Google,购买日期是订阅最初购买的日期。 | 
| public Result isSubscribed() | 返回一个 Result枚举,以指示此产品当前是否已订阅。Apple 商店中的非续订产品将返回一个 Result.Unsupported值。Apple 商店中的自动续订产品和 Google Play 商店中的订阅产品将返回Result.True或Result.False值。 | 
| public Result isExpired() | 返回一个 Result 枚举,以指示此产品是否已过期。 * Apple 商店中的非续订产品将返回一个 Result.Unsupported值。* Apple 商店中的自动续订产品和 Google Play 商店中的订阅产品将返回 Result.True或Result.False值。 | 
| public Result isCancelled() | 返回一个 Result枚举,以指示此产品是否已被取消。已取消的订阅意味着该产品目前已订阅,但在下一个计费日期不会续订。Apple 商店中的非续订产品将返回一个 Result.Unsupported值。Apple 商店中的自动续订产品和 Google Play 商店中的订阅产品将返回Result.True或Result.False值。 | 
| public Result isFreeTrial() | 返回一个 Result枚举,以指示此产品是否是免费试用版。* 如果应用程序不支持 Android 应用内结算 API 的版本 6+,则 Google Play 商店中的产品将返回 Result.Unsupported。 Apple 商店中的非续订产品将返回一个 Result.Unsupported值。Apple 商店中的自动续订产品和 Google Play 商店中的订阅产品将返回Result.True或Result.False值。 | 
| public Result isAutoRenewing() | 返回一个 Result枚举,以指示此产品是否是自动续订的。Apple 商店中的非续订产品将返回一个 Result.Unsupported值。Apple 商店中的自动续订产品和 Google Play 商店中的订阅产品将返回Result.True或Result.False值。 | 
| public TimeSpan getRemainingTime() | 返回一个 TimeSpan,以指示距离下一个计费日期还剩多少时间。如果应用程序不支持 Android 应用内结算 API 的版本 6+,则 Google Play 商店中的产品将返回 TimeSpan.MaxValue。 | 
| public Result isIntroductoryPricePeriod() | 返回一个 Result枚举,以指示此产品是否处于优惠价格期限内。Apple 商店中的非续订产品将返回一个 Result.Unsupported值。Apple 商店中的自动续订产品和 Google Play 商店中的订阅产品将返回Result.True或Result.False值。如果应用程序不支持 Android 应用内结算 API 的版本 6+,则 Google Play 商店中的产品将返回 Result. Unsupported。 | 
| public TimeSpan getIntroductoryPricePeriod() | 返回一个 TimeSpan,以指示优惠价格期限还剩多少时间。没有优惠价格期限的订阅产品将返回 TimeSpan.Zero。如果应用程序不支持 iOS 版本 11.2+、macOS 10.13.2+ 或 tvOS 11.2+,则 Apple 商店中的产品将返回 TimeSpan.Zero。 | 
| public long getIntroductoryPricePeriodCycles() | 返回可以应用于此产品的优惠价格期限的次数。 如果应用程序不支持 iOS 版本 11.2+、macOS 10.13.2+ 或 tvOS 11.2+,则 Apple 商店中的产品将返回 0。 | 
| public string getIntroductoryPrice() | 返回一个字符串,以指示产品的优惠价格。 没有优惠价格的产品将返回一个 “not available”值。Apple 商店中具有优惠价格的产品将返回一个格式为“0.99USD”的值。Google Play 商店中具有优惠价格的产品将返回一个格式为“$0.99”的值。如果应用程序不支持 iOS 版本 11.2+、macOS 10.13.2+ 或 tvOS 11.2+,则 Apple 商店中的产品将返回“not available”。 | 
| public DateTime getExpireDate() | 返回产品的下一个自动续订或过期日期(对于已取消的自动续订订阅)。 如果应用程序不支持 Android 应用内结算 API 的版本 6+,则 Google Play 商店中的产品将返回 TimeSpan.MaxValue。 | 
2018-05-30 页面发布
在2018.1中添加了订阅产品支持 NewIn20181