pub struct Product {
pub id: String,
pub display_name: String,
pub description: String,
pub price: String,
pub display_price: String,
pub product_type: ProductType,
pub is_family_shareable: bool,
pub subscription: Option<SubscriptionInfo>,
pub currency_code: Option<String>,
pub price_locale_identifier: Option<String>,
pub json_representation: Vec<u8>,
}Fields§
§id: String§display_name: String§description: String§price: String§display_price: String§product_type: ProductType§subscription: Option<SubscriptionInfo>§currency_code: Option<String>§price_locale_identifier: Option<String>§json_representation: Vec<u8>Implementations§
Source§impl Product
impl Product
Sourcepub fn products_for<I, S>(identifiers: I) -> Result<Vec<Self>, StoreKitError>
pub fn products_for<I, S>(identifiers: I) -> Result<Vec<Self>, StoreKitError>
Examples found in repository?
examples/01_product_lookup.rs (line 13)
8fn main() -> Result<(), Box<dyn std::error::Error>> {
9 if env::var_os("STOREKIT_PRODUCT_LOOKUP_BUNDLED").is_none() {
10 return relaunch_inside_app_bundle();
11 }
12
13 match Product::products_for(["nonexistent.product.id"]) {
14 Ok(products) if products.is_empty() => println!("✅ product lookup OK (empty result)"),
15 Ok(products) => println!("ℹ️ product lookup returned {} products", products.len()),
16 Err(error) => println!("ℹ️ product lookup error: {error}"),
17 }
18 Ok(())
19}pub fn purchase( &self, options: &[PurchaseOption], ) -> Result<PurchaseResult, StoreKitError>
pub fn latest_transaction( &self, ) -> Result<Option<VerificationResult<Transaction>>, StoreKitError>
pub fn current_entitlements(&self) -> Result<TransactionStream, StoreKitError>
Source§impl Product
impl Product
pub fn purchase_in_window( &self, window: &NSWindowHandle, options: &[PurchaseOption], ) -> Result<PurchaseResult, StoreKitError>
pub fn formatting(&self) -> Result<ProductFormatting, StoreKitError>
pub fn formatted_price(&self) -> Result<String, StoreKitError>
pub fn formatted_subscription_period( &self, ) -> Result<Option<String>, StoreKitError>
pub fn formatted_subscription_period_unit( &self, ) -> Result<Option<String>, StoreKitError>
Trait Implementations§
impl Eq for Product
impl StructuralPartialEq for Product
Auto Trait Implementations§
impl Freeze for Product
impl RefUnwindSafe for Product
impl Send for Product
impl Sync for Product
impl Unpin for Product
impl UnsafeUnpin for Product
impl UnwindSafe for Product
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more