Skip to content

Releases: qonversion/qonversion-ios-sdk

2.11.2

23 Feb 05:57
120b985
Compare
Choose a tag to compare

What's new

  • Updated project structure
  • Fixed SPM macOS issue
  • Added watchOS, tvOS, macOS support for Carthage

2.11.1

12 Feb 05:20
e62688b
Compare
Choose a tag to compare

What's new

  • Updated cache logic

2.11.0

11 Feb 08:03
70e79a6
Compare
Choose a tag to compare

What's new

Cache

From now SDK will return all requested info (products/offerings/permissions) even in case of an internet connection error, the server problem, etc if cached data is not outdated.

2.10.1

09 Feb 06:34
Compare
Choose a tag to compare

Fixed the products' order in offerings

2.10.0

03 Feb 14:02
86409e9
Compare
Choose a tag to compare

Introducing Automations

Qonversion Automation allows sending automated, personalized push notifications and in-app messages initiated by in-app purchase events. This feature is designed to increase your app's revenue and retention, provide cancellation insights, reduce subscriber churn, and improve your subscribers' user experience.

See more in the documentation

2.9.0

01 Feb 09:32
96276d9
Compare
Choose a tag to compare

What's new

Deferred transactions

Now you can set the delegate, which will be called when deferred transactions state will update.

Qonversion.setPurchasesDelegate(self)

The delegate will be called when the deferred transaction status updates

func qonversionDidReceiveUpdatedPermissions(_ permissions: [String : Qonversion.Permission]) {
      // handle updated permissions here
}

2.8.1

27 Jan 13:21
17a4c81
Compare
Choose a tag to compare

What's new

Bugfix

  • Fixed restore() wrong behavior when in corner cases function didn't return correct permissions.

2.8.0

19 Jan 07:20
767330c
Compare
Choose a tag to compare

What's new

Intro eligibility

You can check if a user is eligible for an introductory offer, including a free trial. On the Apple platform, users who have not previously used an introductory offer for any products in the same subscription group are eligible for an introductory offer. Use this method to determine eligibility.

You can show only a regular price for users who are not eligible for an introductory offer.

Qonversion.checkTrialIntroEligibility(forProductIds: ["main", "secondary"]) { (result, error) in
    // handle result here
}

Trial duration

From now you can check the product’s trial duration using QNTrialDuration Enum.
If the duration is not from enum range we will return QNTrialDurationOther then you can check trial duration directly from the product's skProduct.

Qonversion.products { [weak self] (result, error) in
    let mainProduct = result["main"]
    if mainProduct.trialDuration == .twoWeeks {
        // handle two weeks trial duration
    }
}

2.7.0

11 Jan 13:01
b73a120
Compare
Choose a tag to compare

What's new

Offerings

An offering is a group of products that you can offer to a user on a given paywall based on your business logic. For example, you can offer one set of products on a paywall immediately after onboarding and another set of products with discounts later on if a user has not converted.
Offerings allow changing the products offered remotely without releasing app updates.

Qonversion.offerings { (offerings, error) in
  if let products = offerings?.main?.products {
    // Display products for sale
  }
}

We strongly recommend switching to Qonversion Offerings. This allows to:

  • Change products offered to your users without app release
  • Run A/B tests
  • Store products and experiment results in one place with aggregated data on them

2.6.5

30 Dec 07:00
6e29e42
Compare
Choose a tag to compare

What's new

  • Added detailed errors and enum logs
  • Added purchase processing after failed launch or store products requests