Skip to content

Commit 1b96e5c

Browse files
authored
Merge pull request #652 from AppsFlyerSDK/releases/6.x.x/6.17.x/6.17.5-rc3
Releases/6.x.x/6.17.x/6.17.5 rc3
2 parents e705a70 + 1f3a913 commit 1b96e5c

17 files changed

Lines changed: 1745 additions & 43 deletions

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
## 6.17.5
2+
Release date: *2025-09-04*
3+
4+
- React Native >> Add new `disableAppSetId` API for Android platform
5+
- React Native >> Preparing new `validateAndLogInAppPurchase` beta API with AFPurchaseDetails support
6+
- React Native >> Update Android SDK to 6.17.3
7+
- React Native >> Update iOS SDK to 6.17.5
8+
- React Native >> Update Plugin to v6.17.5
9+
10+
## 6.17.2
11+
Release date: *2025-07-30*
12+
13+
- React Native >> Add Purchase Connector and Swift AppDelegate support to Expo config plugin
14+
- React Native >> expo 53 and RN 0.79 support
15+
- React Native >> Add Expo Android Purchase Connector support
16+
- React Native >> Fix withAppsFlyerAndroid configuration
17+
- React Native >> Update Plugin to v6.17.2
18+
19+
## 6.17.1
20+
Release date: *2025-07-01*
21+
22+
- React Native >> Update iOS Purchase Connector to 6.17.1
23+
- React Native >> Update Plugin to v6.17.1
24+
25+
## 6.17.0
26+
Release date: *2025-06-15*
27+
28+
- React Native >> Add Purchase Connector support with StoreKit2 option
29+
- React Native >> Update iOS & Android SDKs to 6.17.0
30+
- React Native >> Update Plugin to v6.17.0
31+
132
## 6.16.2
233
Release date: *2025-03-19*
334

Docs/RN_API.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ The list of available methods for this plugin is described below.
3131
- [setSharingFilter](#setsharingfilter)
3232
- [setSharingFilterForPartners](#setsharingfilterforpartners)
3333
- [validateAndLogInAppPurchase](#validateandloginapppurchase)
34+
<!-- - [validateAndLogInAppPurchase(NEW)](#validateandloginapppurchasev2) -->
3435
- [updateServerUninstallToken](#updateserveruninstalltoken)
3536
- [sendPushNotificationData](#sendpushnotificationdata)
3637
- [addPushNotificationDeepLinkPath](#addpushnotificationdeeplinkpath)
@@ -44,6 +45,7 @@ The list of available methods for this plugin is described below.
4445
- [setCollectIMEI](#setcollectimei)
4546
- [setDisableNetworkData `setDisableNetworkData(disable)`](#setdisablenetworkdata-setdisablenetworkdatadisable)
4647
- [performOnDeepLinking](#performondeeplinking)
48+
- [disableAppSetId](#disableappsetid)
4749
- [iOS Only APIs](#ios-only-apis)
4850
- [disableCollectASA](#disablecollectasa)
4951
- [disableIDFVCollection](#disableidfvcollection)
@@ -625,6 +627,53 @@ let info = {
625627
appsFlyer.validateAndLogInAppPurchase(info, res => console.log(res), err => console.log(err));
626628
```
627629

630+
---
631+
<!--
632+
## New In-App Purchase Validation API
633+
The new `validateAndLogInAppPurchase` API uses `AFPurchaseDetails` and `AFPurchaseType` enum for structured purchase validation.
634+
635+
### AFPurchaseType Enum
636+
637+
```javascript
638+
import { AFPurchaseType } from 'react-native-appsflyer';
639+
640+
AFPurchaseType.SUBSCRIPTION // "subscription"
641+
AFPurchaseType.ONE_TIME_PURCHASE // "one-time-purchase"
642+
```
643+
644+
### AFPurchaseDetails Interface
645+
646+
```typescript
647+
interface AFPurchaseDetails {
648+
purchaseType: AFPurchaseType; // Type of purchase
649+
transactionId: string; // Unique transaction identifier
650+
productId: string; // Product identifier
651+
}
652+
```
653+
654+
### Usage Example
655+
656+
```javascript
657+
import appsFlyer, { AFPurchaseType } from 'react-native-appsflyer';
658+
659+
const purchaseDetails = {
660+
purchaseType: AFPurchaseType.SUBSCRIPTION,
661+
transactionId: "google_play_purchase_token_123",
662+
productId: "com.example.app.premium_monthly"
663+
};
664+
665+
const additionalParams = {
666+
revenue: 9.99,
667+
currency: "USD"
668+
};
669+
670+
appsFlyer.validateAndLogInAppPurchaseV2(
671+
purchaseDetails,
672+
additionalParams,
673+
(result) => console.log(result)
674+
);
675+
```
676+
-->
628677
---
629678

630679
### updateServerUninstallToken
@@ -948,6 +997,25 @@ if (Platform.OS == 'android') {
948997

949998
appsFlyer.startSdk(); // <--- Here we send launch
950999
```
1000+
1001+
### disableAppSetId
1002+
`disableAppSetId()`
1003+
1004+
**Disable the collection of AppSet ID.**<br/>
1005+
**Must be called before calling start.**<br/>
1006+
1007+
*Example:*
1008+
```javascript
1009+
if (Platform.OS == 'android') {
1010+
appsFlyer.disableAppSetId();
1011+
appsFlyer.initSdk({
1012+
devKey: 'K2***********99',
1013+
isDebug: false,
1014+
appId: '41*****44',
1015+
});
1016+
}
1017+
```
1018+
9511019
## iOS Only APIs
9521020

9531021
### disableCollectASA

0 commit comments

Comments
 (0)