Skip to content

Commit

Permalink
Merge pull request #4 from qonversion/release/0.1.0
Browse files Browse the repository at this point in the history
Release 0.1.0
  • Loading branch information
SpertsyanKM authored Oct 9, 2024
2 parents 50ffa02 + 6febc3d commit 5945f0c
Show file tree
Hide file tree
Showing 161 changed files with 7,640 additions and 1 deletion.
17 changes: 17 additions & 0 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Checks
on:
pull_request:
types: [opened, synchronize, reopened]

jobs:
lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
name: Checkout

- uses: borales/[email protected]
name: Validation
with:
cmd: install
17 changes: 17 additions & 0 deletions .github/workflows/manual_minor_prerelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Manual Minor Prerelease

on:
workflow_dispatch

jobs:
patch-minor:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
ref: develop

- name: Minor
run: |
fastlane minor
17 changes: 17 additions & 0 deletions .github/workflows/manual_patch_prerelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Manual Patch Prerelease

on:
workflow_dispatch

jobs:
patch-prerelease:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
ref: develop

- name: Patch
run: |
fastlane patch
21 changes: 21 additions & 0 deletions .github/workflows/prerelease_github.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Pre-release Github

on:
push:
branches:
- "main"

jobs:
pre-release:
runs-on: macos-latest

steps:
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
prerelease: true
title: "Development Build"
files: |
LICENSE.txt
*.jar
29 changes: 29 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Publish

on:
release:
types: [released]

jobs:
publish:
name: Upload archives
runs-on: macos-latest
steps:
- name: Check out code
uses: actions/checkout@v3

- name: Build
run: |
yarn
yarn prepare
- name: Setup node for publishing
uses: actions/setup-node@v3
with:
node-version: '16.x'
registry-url: 'https://registry.npmjs.org'

- name: Publish to npm
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
9 changes: 9 additions & 0 deletions .github/workflows/release_pull_requests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: Release pull requests from dev by tag
on:
push:
tags:
- prerelease/*

jobs:
handle_prerelease:
uses: qonversion/shared-sdk-workflows/.github/workflows/prerelease_handling.yml@main
8 changes: 8 additions & 0 deletions .github/workflows/stale_issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: Close stale issues
on:
schedule:
- cron: '30 1 * * *'

jobs:
stale_issues:
uses: qonversion/shared-sdk-workflows/.github/workflows/stale_issues.yml@main
14 changes: 14 additions & 0 deletions .github/workflows/upgrade_sandwich.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Upgrade Sandwich
on:
workflow_dispatch:
inputs:
sandwich_version:
description: 'Sandwich version'
required: true
default: '0.0.0'

jobs:
upgrade:
uses: qonversion/shared-sdk-workflows/.github/workflows/upgrade_sandwich.yml@main
with:
sandwich_version: ${{ github.event.inputs.sandwich_version }}
27 changes: 27 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ yarn.lock
www/
dist/
build/
.build/
out/
lib/
coverage/
Expand All @@ -28,6 +29,32 @@ Thumbs.db
*.swp
*.swo

# Xcode
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
project.xcworkspace

# Android/IntelliJ
build/
.idea
.gradle
local.properties
*.iml

# Capacitor specific
android/capacitor-plugins.json
ios/Podfile.lock
Expand Down
14 changes: 14 additions & 0 deletions Package.resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"pins" : [
{
"identity" : "capacitor-swift-pm",
"kind" : "remoteSourceControl",
"location" : "https://github.com/ionic-team/capacitor-swift-pm.git",
"state" : {
"branch" : "main",
"revision" : "272e5dcd26260c6f3798b024c9cb3ffa52850ec7"
}
}
],
"version" : 2
}
28 changes: 28 additions & 0 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// swift-tools-version: 5.9
import PackageDescription

let package = Package(
name: "QonversionCapacitor",
platforms: [.iOS(.v13)],
products: [
.library(
name: "QonversionCapacitor",
targets: ["QonversionPlugin"])
],
dependencies: [
.package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", branch: "main")
],
targets: [
.target(
name: "QonversionPlugin",
dependencies: [
.product(name: "Capacitor", package: "capacitor-swift-pm"),
.product(name: "Cordova", package: "capacitor-swift-pm")
],
path: "ios/Sources/QonversionPlugin"),
.testTarget(
name: "QonversionPluginTests",
dependencies: ["QonversionPlugin"],
path: "ios/Tests/QonversionPluginTests")
]
)
18 changes: 18 additions & 0 deletions QonversionCapacitor.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
require 'json'

package = JSON.parse(File.read(File.join(__dir__, 'package.json')))

Pod::Spec.new do |s|
s.name = 'QonversionCapacitor'
s.version = package['version']
s.summary = package['description']
s.license = package['license']
s.homepage = package['repository']['url']
s.author = package['author']
s.source = { :git => package['repository']['url'], :tag => s.version.to_s }
s.source_files = 'ios/Sources/**/*.{swift,h,m,c,cc,mm,cpp}'
s.ios.deployment_target = '13.0'
s.dependency 'Capacitor'
s.swift_version = '5.1'
s.dependency "QonversionSandwich", "5.1.5"
end
130 changes: 129 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,129 @@
# qonversion-capacitor
<h1 align="center">
Qonversion
</h1>

Qonversion - In-app subscription monetization: implement subscriptions and grow your app’s revenue with A/B experiments

* In-app subscription management SDK
* API and webhooks to make your subscription data available where you need it
* Seamless Stripe integration to enable cross-platform access management
* Subscribers CRM with user-level transactions
* Instant access to real-time subscription analytics
* Built-in A/B experiments for subscription business model

<p align="center">
<a href="https://qonversion.io"><img width="90%" src="https://qcdn3.sfo3.digitaloceanspaces.com/github/qonversion_platform.png">
</a>
</p>

[![npm](https://img.shields.io/npm/v/qonversion-capacitor-qonversion)](https://www.npmjs.com/package/qonversion-capacitor)
[![MIT License](http://img.shields.io/cocoapods/l/Qonversion.svg?style=flat)](https://qonversion.io)


## In-App Subscription Implementation & Management

<p align="center">
<a href="https://documentation.qonversion.io/docs/integrations-overview"><img width="90%" src="https://user-images.githubusercontent.com/13959241/161107203-8ef3ecee-86be-47a2-ac57-b21d3da19339.png">
</a>
</p>

1. Qonversion SDK provides three simple methods to manage subscriptions:
* Get in-app product details
* Make purchases
* Check subscription status to manage premium access
2. Qonversion communicates with Apple or Google platforms both through SDK and server-side to process native in-app payments and keep subscription statuses up to date.
3. You can use Qonversion webhooks and API in addition to SDK to get user-level data where you need it.

See the [quick start guide documentation](https://documentation.qonversion.io/docs/quickstart).

## Analytics

Qonversion provides advanced subscription analytics out of the box. You can monitor real-time metrics from new users and trial-to-paid conversions to revenue, MRR, ARR, cohort retention, and more. Understand your customers and make better decisions with precise subscription analytics.

<p align="center">
<a href="https://documentation.qonversion.io/docs/analytics"><img width="90%" src="https://files.readme.io/9a4fdf6-Analytics.png">
</a>
</p>


## A/B Experiments

Qonversion's A/B Experiments feature provides everything required to quickly launch paywall and other monetization experiments, analyze results and roll out winning versions without releasing a new app build. Qonversion A/B Experiments include:

* User segmentation by country, install date, app version, free/paying user
* Traffic allocation
* Advanced subscription analytics
* Visualization of A/B experiments results
* Statistical significance of the results
* Roll out winning versions without app release with remote config


<p align="center">
<a href="https://documentation.qonversion.io/docs/subscription-ab-testing"><img width="90%" src="https://qcdn3.sfo3.digitaloceanspaces.com/github/ab_tests.png">
</a>
</p>

See more details [here](https://documentation.qonversion.io/docs/paywall-experiments).

## Integrations

Send user-level subscription data to your favorite platforms.

* Amplitude
* Mixpanel
* Appsflyer
* Adjust
* Singular
* CleverTap
* [All other integrations here](qonversion.io/integrations)

<p align="center">
<a href="https://documentation.qonversion.io/docs/integrations-overview"><img width="90%", src="https://qcdn3.sfo3.digitaloceanspaces.com/github/integrations.png">
</a>
</p>

## Why Qonversion?

* **No headaches with Apple's StoreKit & Google Billing.** Qonversion provides simple methods to handle Apple StoreKit & Google Billing purchase flow.
* **Receipt validation.** Qonversion validates user receipts with Apple and Google to provide 100% accurate purchase information and subscription statuses. It also prevents unauthorized access to the premium features of your app.
* **Track and increase your revenue.** Qonversion provides detailed real-time revenue analytics including cohort analysis, trial conversion rates, country segmentation, and much more.
* **Integrations with the leading mobile platforms.** Qonversion allows sending data to platforms like AppsFlyer, Adjust, Branch, Tenjin, Facebook Ads, Amplitude, Mixpanel, and many others.
* **Change promoted in-app products.** Change promoted in-app products anytime without app releases.
* **A/B test** and identify winning in-app purchases, subscriptions or paywalls.
* **Cross-device and cross-platform access management.** If you provide user authorization in your app, you can easily set Qonversion to provide premium access to authorized users across devices and operating systems.
* **SDK caches the data.** Qonversion SDK caches purchase data including in-app products and entitlements, so the user experience is not affected even with a slow or interrupted network connection.
* **Webhooks.** You can easily send all the data to your server with Qonversion webhooks.
* **Customer support.** You can always reach out to our customer support and get the help required.

Convinced? Let's go!

## Documentation

Check the [full documentation](https://documentation.qonversion.io/docs/quickstart) to learn about implementation details and available features.

#### Help us improve the documentation

Whether you’re a core user or trying it out for the first time, you can make a valuable contribution to Qonversion by improving the documentation. Help us by:

* sending us feedback about something you thought was confusing or simply missing
* sending us a pull request via GitHub
* suggesting better wording or ways of explaining certain topics in the [Qonversion documentation](http://documentation.qonversion.io). Use `SUGGEST EDITS` button in the top right corner.

## Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/SuperFeature`)
3. Commit your Changes. Use small commits with separate logic. (`git commit -m 'Add some super feature'`)
4. Push to the Branch (`git push origin feature/SuperFeature`)
5. Open a Pull Request


## Have a question?

Contact us via [issues on GitHub](https://github.com/qonversion/qonversion-capacitor/issues) or [ask a question](https://documentation.qonversion.io/discuss-new) on the site.

## License

Qonversion SDK is available under the MIT license.
1 change: 1 addition & 0 deletions android/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
Loading

0 comments on commit 5945f0c

Please sign in to comment.