Skip to content

Commit b383254

Browse files
committed
revenuecat v2.0.0
1 parent c79ea36 commit b383254

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+351
-268
lines changed

docs/revenuecat/_includes/add-manual-appdescriptor.mdx

Lines changed: 12 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ The following additions are for the `InfoAdditions` node of the iPhone section i
4343
<InfoAdditions><![CDATA[
4444
4545
<key>MinimumOSVersion</key>
46-
<string>12.0</string>
46+
<string>13.0</string>
4747
4848
]]></InfoAdditions>
4949
</iPhone>
@@ -55,7 +55,7 @@ The following additions are for the `InfoAdditions` node of the iPhone section i
5555

5656
#### Manifest Additions
5757

58-
The RevenueCat extension requires a few additions to the manifest to be able to start certain activities. You should add the listing below to your manifest.
58+
The RevenueCat extension requires a few additions to the manifest to be able to start certain activities. You should add the listing below to your application descriptor.
5959

6060
:::caution
6161
Ensure you replace:
@@ -64,56 +64,22 @@ Ensure you replace:
6464

6565

6666
```xml
67-
<manifest android:installLocation="auto" >
68-
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33"/>
67+
<android>
68+
<gradleVersion>8.9</gradleVersion>
69+
<androidGradlePluginVersion>8.7.3</androidGradlePluginVersion>
70+
<manifestAdditions><![CDATA[<manifest android:installLocation="auto" >
71+
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="35"/>
6972
<uses-permission android:name="android.permission.INTERNET"/>
7073
<uses-permission android:name="com.android.vending.BILLING"/>
71-
<queries>
72-
<intent>
73-
<action android:name="com.android.vending.billing.InAppBillingService.BIND"/>
74-
</intent>
75-
</queries>
76-
<permission android:name="APPLICATION_PACKAGE.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" android:protectionLevel="signature"/>
77-
<uses-permission android:name="APPLICATION_PACKAGE.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"/>
78-
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
79-
<uses-permission android:name="android.permission.WAKE_LOCK"/>
80-
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE"/>
81-
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
82-
<!-- Required by older versions of Google Play services to create IID tokens -->
83-
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
84-
<application android:appComponentFactory="androidx.core.app.CoreComponentFactory">
74+
75+
<application>
8576
<meta-data android:name="android.max_aspect" android:value="2.5"/>
8677
<meta-data android:name="android.notch_support" android:value="true"/>
87-
88-
<!-- GOOGLE PLAY BILLING -->
89-
<meta-data android:name="com.google.android.play.billingclient.version" android:value="6.0.0"/>
90-
<activity android:name="com.android.billingclient.api.ProxyBillingActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:exported="false" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
91-
<!-- REVENUE CAT -->
92-
<activity android:name="com.revenuecat.purchases.amazon.purchasing.ProxyAmazonBillingActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
93-
94-
<provider android:name="androidx.startup.InitializationProvider" android:authorities="APPLICATION_PACKAGE.androidx-startup" android:exported="false">
95-
<meta-data android:name="androidx.lifecycle.ProcessLifecycleInitializer" android:value="androidx.startup"/>
96-
</provider>
97-
<receiver android:name="com.google.android.gms.measurement.AppMeasurementReceiver" android:enabled="true" android:exported="false"/>
98-
<service android:name="com.google.android.gms.measurement.AppMeasurementService" android:enabled="true" android:exported="false"/>
99-
<service android:name="com.google.android.gms.measurement.AppMeasurementJobService" android:enabled="true" android:exported="false" android:permission="android.permission.BIND_JOB_SERVICE"/>
100-
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
101-
<activity android:name="com.google.android.gms.common.api.GoogleApiActivity" android:exported="false" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
102-
<service android:name="com.google.firebase.components.ComponentDiscoveryService" android:directBootAware="true" android:exported="false">
103-
<meta-data android:name="com.google.firebase.components:com.google.firebase.analytics.connector.internal.AnalyticsConnectorRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
104-
<meta-data android:name="com.google.firebase.components:com.google.firebase.abt.component.AbtRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
105-
</service>
106-
<service android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService" android:exported="false" android:permission="android.permission.BIND_JOB_SERVICE"/>
107-
<receiver android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver" android:exported="false"/>
108-
<service android:name="com.google.android.datatransport.runtime.backends.TransportBackendDiscovery" android:exported="false">
109-
<meta-data android:name="backend:com.google.android.datatransport.cct.CctBackendFactory" android:value="cct"/>
110-
</service>
78+
11179
<activity android:name="com.distriqt.core.auth.AuthorisationActivity" android:exported="false" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
112-
<provider android:name="com.google.firebase.provider.FirebaseInitProvider" android:authorities="APPLICATION_PACKAGE.firebaseinitprovider" android:directBootAware="true" android:exported="false" android:initOrder="100"/>
11380
</application>
11481
</manifest>
82+
]]></manifestAdditions>
83+
</android>
11584
```
11685

117-
118-
119-

docs/revenuecat/changelog.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
### 2025.07.30 [v2.0.0]
2+
3+
```
4+
## Major Update
5+
6+
This latest release brings a number of updates to the extension particularly around the Android integration.
7+
8+
The Android implementation has been updated to v8.22.0 and we have moved to using Android gradle dependencies within our extensions, which will improve dependency resolution, reduce update times and improve compatibility with other extensions. (This update also addresses the Android 35 requirement for Play Billing v7).
9+
10+
The iOS implementation has been updated to v5.33.1 which should bring a range of bug fixes and improvements.
11+
12+
Migration guide: https://docs.airnativeextensions.com/docs/revenuecat/migrating-to-v2.0
13+
14+
15+
### Updates
16+
17+
feat(android): new gradle dependencies approach
18+
feat(android): update sdk v8.22.0
19+
feat(ios): update sdk v5.33.1
20+
```
21+
122
### 2025.01.14 [v1.0.4]
223

324
```
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
---
2+
title: Migrating to v2.0
3+
---
4+
5+
import Tabs from '@theme/Tabs'
6+
import TabItem from '@theme/TabItem'
7+
8+
9+
This latest release brings a number of updates to the extension particularly around the Android integration.
10+
11+
The Android implementation has been updated to v8.22.0 and we have moved to using Android gradle dependencies within our extensions, which will improve dependency resolution, reduce update times and improve compatibility with other extensions. (This update also addresses the Android 35 requirement for Play Billing v7).
12+
13+
The iOS implementation has been updated to v5.33.1 which should bring a range of bug fixes and improvements.
14+
15+
16+
17+
## Android Integration
18+
19+
We have moved to using gradle dependencies within our extensions which will improve dependency resolution, reduce update times and improve compatibility with other extensions.
20+
This also reduces the amount of work required to manually integrate the extensions, reducing the additions to the manifest in your application descriptor.
21+
22+
<Tabs
23+
groupId="packagemanager"
24+
defaultValue="apm"
25+
values={[
26+
{label: 'APM', value: 'apm'},
27+
{label: 'Manual', value: 'manual'},
28+
]}>
29+
30+
<TabItem value="apm" >
31+
32+
We highly recommend using the [apm](https://airnativeextensions.com/docs/using-apm) tool to manage the integration of the extensions in your application and to generate your application descriptor:
33+
34+
```bash
35+
apm update
36+
apm generate app-descriptor
37+
```
38+
39+
This will automatically update your application descriptor with the required manifest entries and gradle dependencies.
40+
41+
</TabItem>
42+
<TabItem value="manual" >
43+
44+
You can still integrate the manifest additions manually if you prefer. With this update we recommend starting fresh as there have been a lot of entries to be removed.
45+
46+
Firstly make sure you have the latest versions of all the dependencies extensions.
47+
48+
Then you can simplify the manifest now as well as the gradle implementation will add a significant amount of the required manifest entries for you.
49+
The minimum android section now looks like the following:
50+
51+
```xml
52+
<android>
53+
<gradleVersion>8.9</gradleVersion>
54+
<androidGradlePluginVersion>8.7.3</androidGradlePluginVersion>
55+
<manifestAdditions><![CDATA[<manifest android:installLocation="auto" >
56+
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="35"/>
57+
<uses-permission android:name="android.permission.INTERNET"/>
58+
<uses-permission android:name="com.android.vending.BILLING"/>
59+
60+
<application>
61+
<meta-data android:name="android.max_aspect" android:value="2.5"/>
62+
<meta-data android:name="android.notch_support" android:value="true"/>
63+
64+
<activity android:name="com.distriqt.core.auth.AuthorisationActivity" android:exported="false" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
65+
</application>
66+
</manifest>
67+
]]></manifestAdditions>
68+
</android>
69+
```
70+
71+
72+
</TabItem>
73+
74+
</Tabs>
75+
76+
77+
### Updating code
78+
79+
There should be no changes to your code required for this update.
80+
81+
82+
83+
84+
## iOS Integration
85+
86+
Make sure you have set the minimum iOS version to `13.0` in your application descriptor `InfoAdditions` section:
87+
88+
```xml
89+
<key>MinimumOSVersion</key>
90+
<string>13.0</string>
91+
```

sidebars.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2962,6 +2962,11 @@ module.exports = {
29622962
"revenuecat/restoring-purchases",
29632963
],
29642964
},
2965+
{
2966+
Troubleshooting: [
2967+
"revenuecat/migrating-to-v2.0",
2968+
]
2969+
},
29652970
{
29662971
Other: [
29672972
{ type: "doc", id: "revenuecat/changelog" },

static/asdocs/revenuecat/all-classes.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- saved from url=(0014)about:internet --><html>
22
<head>
33
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4-
<title>All Classes - distriqt // RevenueCat</title>
4+
<title>All Classes - RevenueCat</title>
55
<base target="classFrame">
66
<link rel="stylesheet" href="style.css" type="text/css" media="screen">
77
<link rel="stylesheet" href="print.css" type="text/css" media="print">
@@ -103,4 +103,4 @@ <h3><a href="class-summary.html" target="classFrame" style="color:black">All Cla
103103
</table>
104104
</body>
105105
</html>
106-
<!--Copyright distriqt 2016<br/>Tue Jan 14 2025, 01:54 PM +10:00 -->
106+
<!--Copyright Michael Archbold 2025<br/>Wed Jul 30 2025, 01:53 PM +10:00 -->

0 commit comments

Comments
 (0)