react-native-sdk-pianoio 0.3.1 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +176 -186
- package/android/build.gradle +29 -42
- package/android/gradle.properties +33 -14
- package/android/src/main/java/com/sdkpianoio/ComposerPianoImpl.kt +366 -0
- package/android/src/main/java/com/sdkpianoio/SdkPianoioModule.kt +281 -507
- package/android/src/main/java/com/sdkpianoio/TokenService.kt +139 -0
- package/android/test.sh +494 -0
- package/ios/ComposerPianoImpl.swift +128 -225
- package/ios/MyComposerDelegate.swift +142 -109
- package/ios/SdkPianoio.swift +69 -143
- package/ios/SdkPianoioBridge.m +18 -46
- package/ios/TokenService.swift +219 -0
- package/lib/commonjs/NativeSdkPianoio.ts +35 -22
- package/lib/commonjs/PianoComposer.js +89 -132
- package/lib/commonjs/PianoComposer.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/NativeSdkPianoio.ts +35 -22
- package/lib/module/PianoComposer.js +90 -132
- package/lib/module/PianoComposer.js.map +1 -1
- package/lib/module/index.js +0 -14
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/NativeSdkPianoio.d.ts +28 -21
- package/lib/typescript/commonjs/src/NativeSdkPianoio.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/PianoComposer.d.ts +55 -31
- package/lib/typescript/commonjs/src/PianoComposer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/NativeSdkPianoio.d.ts +28 -21
- package/lib/typescript/module/src/NativeSdkPianoio.d.ts.map +1 -1
- package/lib/typescript/module/src/PianoComposer.d.ts +55 -31
- package/lib/typescript/module/src/PianoComposer.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +5 -2
- package/src/NativeSdkPianoio.ts +35 -22
- package/src/PianoComposer.tsx +78 -141
- package/src/index.tsx +0 -14
- package/android/src/main/AndroidManifestNew.xml +0 -2
- package/ios/services/TokenService.swift +0 -70
package/README.md
CHANGED
@@ -1,274 +1,264 @@
|
|
1
|
-
#
|
1
|
+
# 🎹 React Native SDK for Piano.io
|
2
2
|
|
3
|
-
|
3
|
+
[](https://www.npmjs.com/package/react-native-sdk-pianoio)
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
4
5
|
|
5
|
-
|
6
|
+
A React Native SDK for integrating Piano.io's digital monetization platform into your mobile applications. This SDK provides seamless integration with Piano's paywall, subscription, and content monetization features.
|
6
7
|
|
7
|
-
|
8
|
+
## ✨ Features
|
8
9
|
|
9
|
-
|
10
|
+
### 🚀 Core Functionality
|
11
|
+
- **Piano Composer Integration**: Full integration with Piano's Composer API
|
12
|
+
- **OAuth Authentication**: User authentication and token management
|
13
|
+
- **Experience Execution**: Execute Piano experiences with custom configurations
|
14
|
+
- **Cross-Platform**: Works on both iOS and Android (Android fully implemented)
|
10
15
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
- [Android](#android)
|
15
|
-
- [Avviare progetto](#avviare-progetto)
|
16
|
-
- [Utilizzo](#utilizzo)
|
17
|
-
- [Importazione](#importazione)
|
18
|
-
- [Creazione del Composer](#creazione-del-composer)
|
19
|
-
- [Metodi del Composer](#metodi-del-composer)
|
20
|
-
- [Metodi statici](#metodi-statici)
|
21
|
-
- [Esempio completo](#esempio-completo)
|
22
|
-
<!-- - [Contributing](#contributing)
|
23
|
-
- [License](#license) -->
|
16
|
+
### 📱 Platform Support
|
17
|
+
- ✅ **Android**: Fully implemented and tested (91% test coverage)
|
18
|
+
- 🚧 **iOS**: Basic implementation (needs feature parity)
|
24
19
|
|
25
|
-
|
20
|
+
### 🔧 Configuration Options
|
21
|
+
- **Tags Management**: Add/remove tags for content categorization
|
22
|
+
- **Zone Configuration**: Set zone IDs for targeted experiences
|
23
|
+
- **Custom Variables**: Add custom data to experiences
|
24
|
+
- **User Tokens**: Manage user authentication tokens
|
25
|
+
- **URL Configuration**: Set referrer and target URLs
|
26
26
|
|
27
|
-
|
27
|
+
## 📦 Installation
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
Una volta effettuato questo è possibile installare questo pacchetto all'interno del progetto.
|
32
|
-
|
33
|
-
Bisogna rendere come prima cosa il progetto in expo predisposto all'utilizzo di moduli nativi, per farlo c'è il seguente comando:
|
34
|
-
|
35
|
-
```sh
|
36
|
-
npx expo prebuild
|
37
|
-
```
|
38
|
-
Questo creerà la cartella per iOS e per Android.
|
39
|
-
|
40
|
-
È necessario, all'interno dell'app.js avere questa configurazione con **"useFrameworks": "static"**:
|
41
|
-
|
42
|
-
```sh
|
43
|
-
"plugins": [
|
44
|
-
[
|
45
|
-
"expo-build-properties",
|
46
|
-
{
|
47
|
-
"android": {
|
48
|
-
"buildToolsVersion": "34.0.0",
|
49
|
-
"compileSdkVersion": 34,
|
50
|
-
"minSdkVersion": 24,
|
51
|
-
"targetSdkVersion": 34
|
52
|
-
},
|
53
|
-
"ios": {
|
54
|
-
"deploymentTarget": "13.4",
|
55
|
-
"useFrameworks": "static"
|
56
|
-
}
|
57
|
-
}
|
58
|
-
]
|
59
|
-
]
|
60
|
-
```
|
61
|
-
|
62
|
-
Dopodiché si può passare all'installazione del pacchetto npm:
|
63
|
-
|
64
|
-
```sh
|
29
|
+
```bash
|
65
30
|
npm install react-native-sdk-pianoio
|
31
|
+
# or
|
32
|
+
yarn add react-native-sdk-pianoio
|
66
33
|
```
|
67
34
|
|
68
|
-
|
35
|
+
## 🚀 Quick Start
|
69
36
|
|
70
|
-
|
37
|
+
### 1. Initialize the SDK
|
71
38
|
|
72
|
-
```
|
73
|
-
|
74
|
-
```
|
39
|
+
```typescript
|
40
|
+
import { PianoComposer } from 'react-native-sdk-pianoio';
|
75
41
|
|
76
|
-
|
42
|
+
// Initialize with your Piano Application ID
|
43
|
+
const composer = await PianoComposer.create('YOUR_PIANO_AID');
|
44
|
+
```
|
77
45
|
|
78
|
-
|
46
|
+
### 2. Configure the Experience
|
79
47
|
|
80
|
-
```
|
81
|
-
|
82
|
-
|
48
|
+
```typescript
|
49
|
+
// Add tags for content categorization
|
50
|
+
await composer.addTag('premium');
|
51
|
+
await composer.addTags(['article', 'featured']);
|
83
52
|
|
84
|
-
|
53
|
+
// Set zone ID for targeted experiences
|
54
|
+
await composer.setZoneId('Zone1');
|
85
55
|
|
86
|
-
|
56
|
+
// Add custom variables
|
57
|
+
await composer.setCustomVariable('article_id', '12345');
|
87
58
|
|
88
|
-
|
89
|
-
|
59
|
+
// Set user token for authentication
|
60
|
+
await composer.setUserToken('user_token_123');
|
90
61
|
```
|
91
62
|
|
92
|
-
|
63
|
+
### 3. Execute the Experience
|
93
64
|
|
65
|
+
```typescript
|
66
|
+
// Execute with basic configuration
|
67
|
+
const result = await composer.executeExperience();
|
94
68
|
|
95
|
-
|
69
|
+
// Execute with advanced configuration
|
70
|
+
const result = await composer.executeExperienceWithConfig(true, true);
|
71
|
+
```
|
96
72
|
|
97
|
-
|
73
|
+
### 4. Handle Authentication
|
98
74
|
|
99
|
-
|
75
|
+
```typescript
|
76
|
+
// Sign in user
|
77
|
+
const user = await composer.signIn();
|
100
78
|
|
101
|
-
|
102
|
-
|
103
|
-
```
|
79
|
+
// Check authentication status
|
80
|
+
const isAuthenticated = await composer.isAuthenticated();
|
104
81
|
|
105
|
-
|
82
|
+
// Get current user
|
83
|
+
const currentUser = await composer.getCurrentUser();
|
106
84
|
|
107
|
-
|
108
|
-
|
85
|
+
// Sign out user
|
86
|
+
await composer.signOut();
|
109
87
|
```
|
110
88
|
|
111
|
-
##
|
89
|
+
## 📋 API Reference
|
112
90
|
|
113
|
-
###
|
91
|
+
### Core Methods
|
114
92
|
|
115
|
-
|
93
|
+
#### `PianoComposer.create(aid: string)`
|
94
|
+
Creates and initializes a new PianoComposer instance.
|
116
95
|
|
117
|
-
|
118
|
-
|
119
|
-
```
|
96
|
+
#### `composer.addTag(tag: string)`
|
97
|
+
Adds a single tag to the experience.
|
120
98
|
|
121
|
-
|
99
|
+
#### `composer.addTags(tags: string[])`
|
100
|
+
Adds multiple tags to the experience.
|
122
101
|
|
123
|
-
|
102
|
+
#### `composer.setZoneId(zoneId: string)`
|
103
|
+
Sets the zone ID for targeted experiences.
|
124
104
|
|
125
|
-
|
105
|
+
#### `composer.setCustomVariable(key: string, value: string)`
|
106
|
+
Adds a custom variable to the experience.
|
126
107
|
|
127
|
-
|
128
|
-
|
129
|
-
```
|
130
|
-
|
131
|
-
---
|
108
|
+
#### `composer.executeExperience()`
|
109
|
+
Executes the Piano experience with current configuration.
|
132
110
|
|
133
|
-
###
|
111
|
+
### Authentication Methods
|
134
112
|
|
135
|
-
|
113
|
+
#### `composer.signIn()`
|
114
|
+
Signs in the user with Piano OAuth.
|
136
115
|
|
137
|
-
|
138
|
-
|
139
|
-
```
|
116
|
+
#### `composer.signOut()`
|
117
|
+
Signs out the current user.
|
140
118
|
|
141
|
-
|
119
|
+
#### `composer.getCurrentUser()`
|
120
|
+
Gets information about the current authenticated user.
|
142
121
|
|
143
|
-
|
122
|
+
#### `composer.isAuthenticated()`
|
123
|
+
Checks if a user is currently authenticated.
|
144
124
|
|
145
|
-
|
125
|
+
### Advanced Methods
|
146
126
|
|
147
|
-
|
148
|
-
|
149
|
-
```
|
127
|
+
#### `composer.executeExperienceWithConfig(includeUserData: boolean, debug: boolean)`
|
128
|
+
Executes experience with advanced configuration options.
|
150
129
|
|
151
|
-
|
130
|
+
#### `composer.createExperienceRequest(includeUserData?: boolean, debug?: boolean)`
|
131
|
+
Creates an experience request with custom parameters.
|
152
132
|
|
153
|
-
|
133
|
+
#### `composer.getStatus()`
|
134
|
+
Gets the current status of the composer.
|
154
135
|
|
155
|
-
|
136
|
+
#### `composer.testExecutionFlow()`
|
137
|
+
Tests the complete execution flow.
|
156
138
|
|
157
|
-
|
158
|
-
await composer.setUrl('https://example.com/page');
|
159
|
-
```
|
139
|
+
## 🧪 Testing
|
160
140
|
|
161
|
-
|
141
|
+
The SDK includes comprehensive test coverage:
|
162
142
|
|
163
|
-
|
143
|
+
```bash
|
144
|
+
# Run all tests
|
145
|
+
npm test
|
164
146
|
|
165
|
-
|
147
|
+
# Run tests with coverage
|
148
|
+
npm run test:coverage
|
166
149
|
|
167
|
-
|
168
|
-
|
150
|
+
# Run Android-specific tests
|
151
|
+
cd android && ./test.sh
|
169
152
|
```
|
170
153
|
|
171
|
-
|
172
|
-
|
173
|
-
|
154
|
+
### Test Results
|
155
|
+
- ✅ **91% Test Coverage** on Android implementation
|
156
|
+
- ✅ **67/73 tests passing**
|
157
|
+
- ✅ **All core functionality tested**
|
174
158
|
|
175
|
-
|
159
|
+
## 📱 Platform Status
|
176
160
|
|
177
|
-
|
178
|
-
|
179
|
-
|
161
|
+
### Android ✅
|
162
|
+
- **Status**: Fully implemented and tested
|
163
|
+
- **Coverage**: 91% test coverage
|
164
|
+
- **Features**: All core features implemented
|
165
|
+
- **Dependencies**: React Native 0.78.1 compatible
|
180
166
|
|
181
|
-
|
167
|
+
### iOS 🚧
|
168
|
+
- **Status**: Basic implementation
|
169
|
+
- **Coverage**: Needs feature parity with Android
|
170
|
+
- **Features**: Core methods implemented
|
171
|
+
- **Next Steps**: Implement advanced features and authentication
|
182
172
|
|
183
|
-
|
173
|
+
## 🔧 Development
|
184
174
|
|
185
|
-
|
175
|
+
### Prerequisites
|
176
|
+
- Node.js 18+
|
177
|
+
- React Native 0.78.1
|
178
|
+
- Android Studio (for Android development)
|
179
|
+
- Xcode (for iOS development)
|
186
180
|
|
187
|
-
|
188
|
-
await composer.executeExperience();
|
189
|
-
```
|
181
|
+
### Setup Development Environment
|
190
182
|
|
191
|
-
|
183
|
+
```bash
|
184
|
+
# Clone the repository
|
185
|
+
git clone https://github.com/HexagonSwiss/hex-react-native-sdk-pianoio.git
|
192
186
|
|
193
|
-
|
187
|
+
# Install dependencies
|
188
|
+
npm install
|
194
189
|
|
195
|
-
|
190
|
+
# Run tests
|
191
|
+
npm test
|
196
192
|
|
197
|
-
|
198
|
-
|
193
|
+
# Build the library
|
194
|
+
npm run build
|
199
195
|
```
|
200
196
|
|
201
|
-
|
202
|
-
|
197
|
+
### Project Structure
|
203
198
|
```
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
199
|
+
├── android/ # Android native implementation
|
200
|
+
│ ├── src/main/java/ # Kotlin source files
|
201
|
+
│ └── src/test/java/ # Android tests
|
202
|
+
├── ios/ # iOS native implementation
|
203
|
+
├── src/ # TypeScript source
|
204
|
+
│ ├── index.tsx # Main entry point
|
205
|
+
│ ├── PianoComposer.tsx # Main SDK class
|
206
|
+
│ └── NativeSdkPianoio.ts # Native module interface
|
207
|
+
├── example/ # Example React Native app
|
208
|
+
└── lib/ # Built library files
|
213
209
|
```
|
214
210
|
|
215
|
-
|
216
|
-
|
217
|
-
## Metodi statici
|
211
|
+
## 🎯 Example App
|
218
212
|
|
219
|
-
|
213
|
+
The repository includes a comprehensive example app demonstrating all SDK features:
|
220
214
|
|
221
|
-
|
215
|
+
```bash
|
216
|
+
# Navigate to example directory
|
217
|
+
cd example
|
222
218
|
|
223
|
-
|
219
|
+
# Install dependencies
|
220
|
+
npm install
|
224
221
|
|
225
|
-
|
222
|
+
# Run on Android
|
223
|
+
npx react-native run-android
|
226
224
|
|
227
|
-
|
228
|
-
|
225
|
+
# Run on iOS
|
226
|
+
npx react-native run-ios
|
229
227
|
```
|
230
228
|
|
231
|
-
|
229
|
+
The example app includes:
|
230
|
+
- ✅ Basic configuration testing
|
231
|
+
- ✅ Authentication flow testing
|
232
|
+
- ✅ Advanced configuration options
|
233
|
+
- ✅ Experience execution
|
234
|
+
- ✅ Real-time logging
|
232
235
|
|
233
|
-
|
236
|
+
## 🤝 Contributing
|
234
237
|
|
235
|
-
|
236
|
-
{
|
237
|
-
aid: string,
|
238
|
-
tags: string[],
|
239
|
-
zoneId: string,
|
240
|
-
referrer: string,
|
241
|
-
url: string,
|
242
|
-
userToken: string,
|
243
|
-
customVariables: { [key: string]: string }
|
244
|
-
}
|
245
|
-
```
|
246
|
-
|
247
|
-
## Esempio completo
|
238
|
+
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
|
248
239
|
|
249
|
-
|
250
|
-
|
240
|
+
### Development Workflow
|
241
|
+
1. Fork the repository
|
242
|
+
2. Create a feature branch
|
243
|
+
3. Make your changes
|
244
|
+
4. Add tests for new functionality
|
245
|
+
5. Ensure all tests pass
|
246
|
+
6. Submit a pull request
|
251
247
|
|
252
|
-
|
253
|
-
await composer.setZoneId('zone-abc');
|
254
|
-
await composer.setReferrer('https://my.site');
|
255
|
-
await composer.setUrl('https://my.site/article');
|
256
|
-
await composer.setUserToken('jwt-token');
|
257
|
-
await composer.setCustomVariable('device', 'mobile');
|
248
|
+
## 📄 License
|
258
249
|
|
259
|
-
|
260
|
-
|
261
|
-
console.log(await composer.toString());
|
262
|
-
```
|
250
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
263
251
|
|
264
|
-
##
|
252
|
+
## 🆘 Support
|
265
253
|
|
266
|
-
|
254
|
+
- 📧 **Email**: sviluppo@hexagonswiss.ch
|
255
|
+
- 🐛 **Issues**: [GitHub Issues](https://github.com/HexagonSwiss/hex-react-native-sdk-pianoio/issues)
|
256
|
+
- 📖 **Documentation**: [Piano.io Documentation](https://docs.piano.io/)
|
267
257
|
|
268
|
-
##
|
258
|
+
## 🔄 Changelog
|
269
259
|
|
270
|
-
|
260
|
+
See [CHANGELOG.md](CHANGELOG.md) for a detailed history of changes.
|
271
261
|
|
272
262
|
---
|
273
263
|
|
274
|
-
Made with [
|
264
|
+
**Made with ❤️ by [HexagonSwiss](https://hexagonswiss.ch)**
|
package/android/build.gradle
CHANGED
@@ -1,52 +1,35 @@
|
|
1
1
|
buildscript {
|
2
|
-
ext
|
3
|
-
|
2
|
+
ext {
|
3
|
+
buildToolsVersion = "35.0.0"
|
4
|
+
minSdkVersion = 24
|
5
|
+
compileSdkVersion = 34
|
6
|
+
targetSdkVersion = 34
|
7
|
+
ndkVersion = "27.1.12297006"
|
8
|
+
kotlinVersion = "2.0.21"
|
4
9
|
}
|
5
|
-
|
6
10
|
repositories {
|
7
11
|
google()
|
8
12
|
mavenCentral()
|
9
13
|
}
|
10
|
-
|
11
14
|
dependencies {
|
12
|
-
classpath
|
13
|
-
classpath
|
15
|
+
classpath("com.android.tools.build:gradle:8.7.2")
|
16
|
+
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21")
|
14
17
|
}
|
15
18
|
}
|
16
19
|
|
17
20
|
apply plugin: "com.android.library"
|
18
|
-
apply plugin: "kotlin
|
19
|
-
|
20
|
-
def getExtOrIntegerDefault(name) {
|
21
|
-
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["SdkPianoio_" + name]).toInteger()
|
22
|
-
}
|
23
|
-
|
24
|
-
def supportsNamespace() {
|
25
|
-
def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')
|
26
|
-
def major = parsed[0].toInteger()
|
27
|
-
def minor = parsed[1].toInteger()
|
28
|
-
|
29
|
-
// Namespace support was added in 7.3.0
|
30
|
-
return (major == 7 && minor >= 3) || major >= 8
|
31
|
-
}
|
21
|
+
apply plugin: "org.jetbrains.kotlin.android"
|
32
22
|
|
33
23
|
android {
|
34
|
-
|
35
|
-
|
24
|
+
ndkVersion rootProject.ext.ndkVersion
|
25
|
+
buildToolsVersion rootProject.ext.buildToolsVersion
|
26
|
+
compileSdk rootProject.ext.compileSdkVersion
|
36
27
|
|
37
|
-
|
38
|
-
main {
|
39
|
-
manifest.srcFile "src/main/AndroidManifestNew.xml"
|
40
|
-
}
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
// ✅ Esplicita i valori direttamente per evitare problemi
|
45
|
-
compileSdkVersion 34
|
28
|
+
namespace "com.sdkpianoio"
|
46
29
|
|
47
30
|
defaultConfig {
|
48
|
-
minSdkVersion
|
49
|
-
targetSdkVersion
|
31
|
+
minSdkVersion rootProject.ext.minSdkVersion
|
32
|
+
targetSdkVersion rootProject.ext.targetSdkVersion
|
50
33
|
}
|
51
34
|
|
52
35
|
buildFeatures {
|
@@ -64,8 +47,12 @@ android {
|
|
64
47
|
}
|
65
48
|
|
66
49
|
compileOptions {
|
67
|
-
sourceCompatibility JavaVersion.
|
68
|
-
targetCompatibility JavaVersion.
|
50
|
+
sourceCompatibility JavaVersion.VERSION_17
|
51
|
+
targetCompatibility JavaVersion.VERSION_17
|
52
|
+
}
|
53
|
+
|
54
|
+
kotlinOptions {
|
55
|
+
jvmTarget = '17'
|
69
56
|
}
|
70
57
|
|
71
58
|
sourceSets {
|
@@ -77,17 +64,17 @@ android {
|
|
77
64
|
}
|
78
65
|
}
|
79
66
|
}
|
80
|
-
|
67
|
+
kotlin {
|
68
|
+
jvmToolchain(17)
|
69
|
+
}
|
81
70
|
repositories {
|
82
71
|
google()
|
83
72
|
mavenCentral()
|
84
|
-
maven { url("$rootDir/../node_modules/react-native/android") }
|
85
73
|
}
|
86
74
|
|
87
75
|
dependencies {
|
88
|
-
implementation
|
89
|
-
implementation
|
90
|
-
implementation
|
91
|
-
implementation
|
92
|
-
implementation "io.piano.android:id:2.11.0"
|
76
|
+
implementation("org.jetbrains.kotlin:kotlin-stdlib:2.0.21")
|
77
|
+
implementation("com.facebook.react:react-android:0.78.1")
|
78
|
+
implementation("io.piano.android:composer:2.11.0")
|
79
|
+
implementation("io.piano.android:id:2.11.0")
|
93
80
|
}
|
@@ -1,20 +1,39 @@
|
|
1
|
-
|
1
|
+
# Project-wide Gradle settings.
|
2
|
+
|
3
|
+
# IDE (e.g. Android Studio) users:
|
4
|
+
# Gradle settings configured through the IDE *will override*
|
5
|
+
# any settings specified in this file.
|
6
|
+
|
7
|
+
# For more details on how to configure your build environment visit
|
2
8
|
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
3
|
-
|
9
|
+
|
4
10
|
# Specifies the JVM arguments used for the daemon process.
|
5
11
|
# The setting is particularly useful for tweaking memory settings.
|
6
|
-
# Default value: -
|
7
|
-
|
8
|
-
|
12
|
+
# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m
|
13
|
+
org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
|
14
|
+
|
9
15
|
# When configured, Gradle will run in incubating parallel mode.
|
10
|
-
# This option should only be used with decoupled projects.
|
11
|
-
#
|
16
|
+
# This option should only be used with decoupled projects. More details, visit
|
17
|
+
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
12
18
|
# org.gradle.parallel=true
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
SdkPianoio_ndkVersion=27.1.12297006
|
18
|
-
SdkPianoio_targetSdkVersion=34
|
19
|
-
android.enableJetifier=true
|
19
|
+
|
20
|
+
# AndroidX package structure to make it clearer which packages are bundled with the
|
21
|
+
# Android operating system, and which are packaged with your app's APK
|
22
|
+
# https://developer.android.com/topic/libraries/support-library/androidx-rn
|
20
23
|
android.useAndroidX=true
|
24
|
+
|
25
|
+
# Use this property to specify which architecture you want to build.
|
26
|
+
# You can also override it from the CLI using
|
27
|
+
# ./gradlew <task> -PreactNativeArchitectures=x86_64
|
28
|
+
reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
|
29
|
+
|
30
|
+
# Use this property to enable support to the new architecture.
|
31
|
+
# This will allow you to use TurboModules and the Fabric render in
|
32
|
+
# your application. You should enable this flag either if you want
|
33
|
+
# to write custom TurboModules/Fabric components OR use libraries that
|
34
|
+
# are providing them.
|
35
|
+
newArchEnabled=true
|
36
|
+
|
37
|
+
# Use this property to enable or disable the Hermes JS engine.
|
38
|
+
# If set to false, you will be using JSC instead.
|
39
|
+
hermesEnabled=true
|