diff --git a/RevenueCat/Scripts/Offering.cs b/RevenueCat/Scripts/Offering.cs
index bff3c815..b40976e2 100644
--- a/RevenueCat/Scripts/Offering.cs
+++ b/RevenueCat/Scripts/Offering.cs
@@ -80,7 +80,7 @@ public override string ToString()
{
return $"{nameof(Identifier)}: {Identifier}\n" +
$"{nameof(ServerDescription)}: {ServerDescription}\n" +
- $"{nameof(AvailablePackages)}: {AvailablePackages}\n" +
+ $"{nameof(AvailablePackages)}: {string.Join(", ", AvailablePackages)}\n" +
$"{nameof(Metadata)}: {DictToString(Metadata)}\n" +
$"{nameof(Lifetime)}: {Lifetime}\n" +
$"{nameof(Annual)}: {Annual}\n" +
diff --git a/RevenueCat/Scripts/StoreProduct.cs b/RevenueCat/Scripts/StoreProduct.cs
index 5d8bd32d..96ed0c2c 100644
--- a/RevenueCat/Scripts/StoreProduct.cs
+++ b/RevenueCat/Scripts/StoreProduct.cs
@@ -10,23 +10,83 @@ public partial class Purchases
///
public class StoreProduct
{
+ ///
+ /// Title of the product.
+ ///
+ ///
public readonly string Title;
+
+ ///
+ /// Product Id.
+ ///
+ ///
public readonly string Identifier;
+
+ ///
+ /// Description of the product.
+ ///
+ ///
public readonly string Description;
+
+ ///
+ /// Price of the product in the local currency.
+ /// Contains the price value of DefaultOption for Google Play.
+ ///
+ ///
public readonly float Price;
+
+ ///
+ /// Formatted price of the item, including its currency sign.
+ /// Contains the formatted price value of DefaultOption for Google Play.
+ ///
+ ///
public readonly string PriceString;
+
+ ///
+ /// Currency code for price and original price.
+ /// Contains the currency code of DefaultOption for Google Play.
+ ///
+ ///
[CanBeNull] public readonly string CurrencyCode;
+
+ ///
+ /// Introductory price of the product. Null if no introductory price is available.
+ /// It contains the free trial if available and user is eligible for it.
+ /// Otherwise, it contains the introductory price of the product if the user is eligible for it.
+ /// This will be null for non-subscription products.
+ ///
+ ///
public IntroductoryPrice IntroductoryPrice;
+
+ ///
+ /// Product category of the product.
+ ///
+ ///
[CanBeNull] public readonly ProductCategory ProductCategory;
+
+ ///
+ /// Default subscription option for a product. Google Play only.
+ ///
+ ///
[CanBeNull] public readonly SubscriptionOption DefaultOption;
+
+ ///
+ /// Collection of subscription options for a product. Google Play only.
+ ///
+ ///
[CanBeNull] public readonly SubscriptionOption[] SubscriptionOptions;
+
+ ///
+ /// Offering context this package belongs to.
+ /// Null if not using offerings or if fetched directly from store via GetProducts.
+ ///
[CanBeNull] public readonly PresentedOfferingContext PresentedOfferingContext;
[Obsolete("Deprecated, use PresentedOfferingContext instead.", false)]
[CanBeNull] public readonly string PresentedOfferingIdentifier;
///
- /// Collection of iOS promotional offers for a product. Null for Android.
+ /// Collection of iOS promotional offers for a product. Null for Android and Amazon.
///
///
[CanBeNull] public readonly Discount[] Discounts;
@@ -111,11 +171,12 @@ public override string ToString()
$"{nameof(Price)}: {Price}\n" +
$"{nameof(PriceString)}: {PriceString}\n" +
$"{nameof(CurrencyCode)}: {CurrencyCode}\n" +
- $"{nameof(ProductCategory)}: {ProductCategory}\n" +
+ $"{nameof(ProductCategory)}: {ProductCategory}\n" +
$"{nameof(PresentedOfferingIdentifier)}: {PresentedOfferingIdentifier}\n" +
- $"{DefaultOption}\n" +
- $"{SubscriptionOptions}\n" +
- $"{IntroductoryPrice}\n" +
+ $"{nameof(PresentedOfferingContext)}: {PresentedOfferingContext}\n" +
+ $"{nameof(DefaultOption)}: {DefaultOption}\n" +
+ $"{nameof(SubscriptionOptions)}: {SubscriptionOptions}\n" +
+ $"{nameof(IntroductoryPrice)}: {IntroductoryPrice}\n" +
$"{nameof(Discounts)}: {Discounts}\n" +
$"{nameof(SubscriptionPeriod)}: {SubscriptionPeriod}";
}