Compare commits

...

7 Commits

Author SHA1 Message Date
Nick bd2bb3854c new version 3.22.02 2025-08-06 09:56:12 +02:00
Nick 4b9fa9ce47 new version 3.21.00 2025-07-25 10:07:12 +02:00
Nick 2f7a83e9da new version 3.18.19 2025-05-14 15:13:25 +02:00
Nick 53c606ff2c new version 3.18.16 2025-05-05 09:55:26 +02:00
Nick 3d1bbd054c new version 3.18.15 2025-04-23 08:33:46 +02:00
Nick d532a8d6bb Update README.md 2025-04-17 10:50:13 +02:00
Nick 3001d8e107 new version 3.18.14 2025-04-16 16:12:01 +02:00
39 changed files with 184029 additions and 172143 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
.DS_Store
.gradle

317
README.md
View File

@ -7,27 +7,57 @@ Android SDK
- [Settings](#settings)
- [App](#app)
- [Add fragment](#fragment)
- [Keyboard support](#keyboard)
- [Troubleshooting](#troubleshooting)
- [Authors](#authors)
- [Author](#authors)
<a name="import"></a>
## Import
You must use git to download the sdk from [repository](https://github.com/tecnaviapress/newsmemory-android-sdk)
1. The repository is private, to clone it you must generate an ssh key, see the [guide](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
2. Once the key is generate you must send to Tecnavia the public key and wait a confirmation that you are enabled
3. Inside root folder run the following command, replace TAG with the latest release, see the list on [releases](https://github.com/tecnaviapress/newsmemory-android-sdk/releases)
You must use git to download the sdk from [repository](https://pubgit.newsmemory.com/tecnavia/newsmemory-android-sdk)
1. Inside root folder run the following command:
```sh
git clone --depth 1 --brach TAG git@github.com:tecnaviapress/newsmemory-android-sdk.git
git clone --depth 1 --branch 3.22.02 https://pubgit.newsmemory.com/tecnavia/newsmemory-android-sdk.git
```
4. if you already has the module you could update to another release by the following commands
2. If you already have the module you could update to another release launching the following commands:
```sh
cd newsmemory-android-sdk
git checkout tags/TAG
git checkout tags/3.22.02
```
### Package contents
The unzipped folder is named `newsmemory-android-sdk` and has the following contents:
```
.
├── build.gradle
├── gradle.properties
├── libs # all the *.aar file of the SDK dependencies imported by SDK build.gradle
├── *.aar
├── src
├── main
├── AndroidManifest.xml
├── assets
├── fonts # set of base fonts supported by the ePaper (*.otf, *.ttf files)
├── index.android.bundle # the javascript bundle file, core of Tecnavia ePaper solution
├── packages.txt # this file contains the list of dependencies that will be loaded by the app at runtime using reflection
├── res # folder containing images and resources referenced by the javascript bundle
├── LICENSE
└── README.md
```
---
<a name="installation"></a>
## Installation
<a name="project"></a>
### Project Gradle
1. check main gradle repositories and dependencies
```java
@ -39,12 +69,11 @@ buildscript {
}
dependencies {
classpath "com.android.tools.build:gradle:7.2.1"
classpath "com.android.tools.build:gradle:8.9.2"
classpath "com.google.gms:google-services:4.3.4"
//add crashlytics only if the aar file is included
classpath "com.google.firebase:firebase-crashlytics-gradle:2.3.0"
classpath "com.google.firebase:firebase-crashlytics-gradle:2.9.9"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
}
}
@ -77,52 +106,59 @@ maven {
3. you could customize all dependencies version by updating the following variables. !Pay attention: as the sdk may not start or work properly add these variables to ext object in main gradle file, see below example.
| variable | default | Description |
|:---------------------------------- |:-------:|:-------------------------------------------------------------- |
| compileSdk | 33 | |
| targetSdk | 33 | |
| Variable name | Default | Description |
|:---------------------------------- |:-------:|:-------------------------------------------------------------: |
| compileSdk | 35 | |
| targetSdk | 35 | |
| minSdk | 24 | |
| frescoVersion | 2.5.0 | used by react native to display some images |
| soLoaderVersion | 0.10.4 | used to load needed system native libraries |
| frescoVersion | 3.6.0 | used by react native to display some images |
| soLoaderVersion | 0.12.1 | used to load needed system native libraries |
| okHttpVersion | 4.9.2 | |
| glideVersion | 4.12.0 | |
| kotlinGradleVersion | 1.9.0 | |
| kotlinVersion | 1.9.0 | |
| kotlinVersion | 2.1.20 | |
| webkitVersion | 1.4.0 | |
| androidxVersion | 1.8.0 | |
| androidxWorkRuntimeVersion | 1.5.0 | |
| androidxWorkRuntimeVersion | 2.7.0 | |
| androidxAnnotationVersion | 1.4.0 | |
| androidxViewpager2Version | 1.0.0 | |
| androidxViewpager2Version | 1.1.0 | |
| androidxFragmentVersion | 1.4.1 | |
| androidxBrowserVersion | 1.4.0 | |
| androidxTransitionVersion | 1.1.0 | |
| androidxCoordinatorlayoutVersion | 1.1.0 | |
| androidxSwiperefreshlayoutVersion | 1.0.0 | |
| androidxAppcompatVersion | 1.0.2 | |
| androidxSwiperefreshlayoutVersion | 1.1.0 | |
| androidxAppcompatVersion | 1.7.0 | |
| androidxLegacySupportVersion | 1.0.0 | |
| playServiceiidVersion | 17.0.0 | |
| playServiceBaseVersion | 18.0.1 | |
| **The following variables are used if you include on of the optional library listed in description** |
| playServiceAnalyticsVersion | 18.0.1 | react-native-google-analytics-bridge |
| playServiceAdsVersion | 20.6.0 | react-native-prebid, react-native-dfp, react-native-admob |
| **The following variables are used if you include one of SDK's optional libraries** |
| playServiceAdsVersion | 21.3.0 | react-native-prebid, react-native-dfp, react-native-admob |
| playServiceMapsVersion | 18.0.2 | react-native-maps |
| playBillingVersion | 5.0.0 | react-native-iap for google |
| amazonSdkVersion | 3.0.3 | react-native-iap for amazon |
| playBillingVersion | 7.0.0 | react-native-iap for google |
| amazonSdkVersion | 3.0.7 | react-native-iap for amazon |
```java
ext {
compileSdk = 34
compileSdk = 35
androidxVersion = "1.8.0"
...
}
```
<a name="settings"></a>
### Settings Gradle
### Settings Gradle
```java
include ':newsmemory-android-sdk'
...
include ':newsmemory-android-sdk'7
...
```
<a name="app"></a>
### App Gradle
add the following lines if missing
```java
plugin: "com.android.application"
@ -141,22 +177,32 @@ android{
...
packagingOptions {
pickFirst "lib/x86/libc++_shared.so"
pickFirst "lib/x86_64/libc++_shared.so"
pickFirst "lib/arm64-v8a/libc++_shared.so"
pickFirst "lib/armeabi-v7a/libc++_shared.so"
}
}
dependencies{
implementation project(":newsmemory-android-sdk")
implementation "com.facebook.soloader:soloader:0.12.1"
...
}
```
---
<a name="fragment"></a>
## Add fragment to activity
Tecnavia provides "PAPER_SETUP", "SERVER" and also an "API_KEY" values which allow you to load the epaper for a specific publication.
```java
...
import com.facebook.soloader.SoLoader;
import com.facebook.react.soloader.OpenSourceMergedSoMapping;
import com.tecnavia.tabridge.TaConstants;
import com.tecnavia.tabridge.TaFragment;
import com.tecnavia.tabridge.listeners.TaFragmentDelegate;
...
public class YourActivity extends AppCompatActivity {
private TaFragment taFragment;
...
@ -166,6 +212,12 @@ public class YourActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
SoLoader.init(this, OpenSourceMergedSoMapping.INSTANCE);
} catch (IOException e) {
throw new RuntimeException(e);
}
if(taFragment == null) {
taFragment = new TaFragment()
.setDelegate(new TaFragmentDelegate() {
@ -216,10 +268,10 @@ public class YourActivity extends AppCompatActivity {
public Bundle getBuildProps() {
Bundle bundle = new Bundle();
bundle.putString(TaConstants.TA_PSETUP, "replace_with_psetup");
bundle.putString(TaConstants.TA_MACHINE, "replace_with_server");
bundle.putString(TaConstants.TA_PSETUP, "<replace with PAPER_SETUP>");
bundle.putString(TaConstants.TA_MACHINE, "<replace with SERVER>");
bundle.putString(TaConstants.TA_LOCALE, "en");
bundle.putString(TaConstants.TA_TOKEN, "replace with a valid token");
bundle.putString(TaConstants.TA_TOKEN, "<replace with a valid token>");
//the value inside R.string will be avilable after first build
bundle.putString(TaConstants.TA_APP_VERSION_NAME, getString(com.tecnavia.sdk.R.string.APP_VERSION_NAME));
bundle.putString(TaConstants.TA_APP_VERSION_CODE, getString(com.tecnavia.sdk.R.string.APP_VERSION_CODE));
@ -227,7 +279,7 @@ public class YourActivity extends AppCompatActivity {
bundle.putString(TaConstants.TA_APP_NAME, getString(com.tecnavia.sdk.R.string.APP_NAME));
//must be true otherwise the module doesn't work in SDK mode
bundle.putBoolean(TaConstants.TA_IS_ADDON, true);
bundle.putString(TaConstants.TA_API_KEY, "Required to be authorized");
bundle.putString(TaConstants.TA_API_KEY, "<replace with API_KEY>");
// Specify the device type for the TA_LOCKED_ORIENTATION. If not provided, all devices will use TA_LOCKED_ORIENTATION.
bundle.putString(TaConstants.TA_LOCKED_ORIENTATION_DEVICE, "tablet|phone");
@ -238,17 +290,29 @@ public class YourActivity extends AppCompatActivity {
//set the SDK referrer for GA4 analytics
bundle.putString(TaConstants.TA_REFERRER, "referrer");
//querystring-like list of parameters to pass to GA4 analytics
bundle.putString(TaConstants.TA_EXTRA_GA4_PARAMS, "param1=value1&param2=value2&param3=value3");
//querystring-like list of parameters to pass to the SDK to force the loading of a specific issue/edition, see [startup parameters](#startup) section |
bundle.putString(TaConstants.TA_STARTUP_PARAMS, "issue=value1&edition=value2");
return bundle;
}
}
```
the following constant is required by SDK to be authorized
the following constants are required by SDK to be load a specific publication
```java
bundle.putString(TaConstants.TA_API_KEY, "");
bundle.putString(TaConstants.TA_PSETUP, "<replace with PAPER_SETUP>");
bundle.putString(TaConstants.TA_MACHINE, "<replace with SERVER>");
```
the following constants are required by SDK otherwise there will be some inconsinstecies and bugs
the following constant is required by SDK to be authorized
```java
bundle.putString(TaConstants.TA_API_KEY, "<replace with API_KEY>");
```
the following constants are required by SDK otherwise there will be some inconsistencies and bugs
```java
bundle.putString(TaConstants.TA_APP_VERSION_NAME, getString(com.tecnavia.sdk.R.string.APP_VERSION_NAME));
bundle.putString(TaConstants.TA_APP_VERSION_CODE, getString(com.tecnavia.sdk.R.string.APP_VERSION_CODE));
@ -259,7 +323,7 @@ the following constants are required by SDK otherwise there will be some inconsi
the following constant can be used for debug builds ONLY, to monitor the load time performances
```java
bundle.putBoolean(TaConstants.TA_ENABLE_DEBUGGER_KEY, true);
bundle.putBoolean(TaConstants.TA_ENABLE_DEBUGGER, true);
```
1. The activity that load TaFragment must implement the following interface *DefaultHardwareBackBtnHandler*
@ -281,6 +345,163 @@ public class YourActivity extends TaActivity {
}
```
---
<a name="startup"></a>
## Startup parameters
Here a list of the supported startup parameters:
| Name | Format | Description |
| -------------------|------------------ | ------------------------------------------------------------------------------ |
| issue | YYYYMMDD | The issue to load at startup |
| selDate | YYYYMMDD | The issue to load at startup |
| date | YYYYMMDD | The issue to load at startup |
| edition | any | The edition to load at startup |
| editionStart | any | The edition to load at startup |
| goTo | any (e.g. `A1`) | The page of the issue to load at startup |
| artid | number (e.g. `8`) | The Tecnavia id of ther article to load at startup (requires `goTo` to be set) |
---
<a name="keyboard"></a>
## Keyboard support
On devices which support a physical or a virtual keyboard the SDK supports some shortcuts to navigate and interact with the ePaper.
### Code integration
In your activity you have to override the following callbacks and call the corresponding method on the TaFragment.
```java
public class MainActivity extends AppCompatActivity implements DefaultHardwareBackBtnHandler {
private TaFragment taFragment;
...
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
taFragment.keyDown(keyCode, event);
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
taFragment.keyUp(keyCode, event);
return super.onKeyUp(keyCode, event);
}
...
}
```
Here a list of the supported keys:
### Key groups
Some actions can be performed with more than one key, here the so-called `key groups`:
| Name | Keys |
| ---------- | --------------------------------------------------- |
| `LEFT` | `J`, `4`, `4` (NUMPAD), `LEFT ARROW` |
| `RIGHT` | `L`, `6`, `6` (NUMPAD), `RIGHT ARROW` |
| `UP` | `I`, `8`, `8` (NUMPAD), `UP ARROW` |
| `DOWN` | `K`, `2`, `2` (NUMPAD), `DOWN ARROW` |
| `PAGE_UP` | `N`, `9`, `9` (NUMPAD), `PAGE UP` |
| `PAGE_DOWN`| `M`, `3`, `3` (NUMPAD), `PAGE DOWN` |
| `OPEN` | `O`, `5`, `5` (NUMPAD), `.` (NUMPAD) |
| `SELECT` | `O`, `5`, `ENTER`, `5` (NUMPAD), `ENTER` (NUMPAD) |
| `SUBMIT` | `ENTER`, `ENTER` (NUMPAD) |
| `HOME` | `7`, `7` (NUMPAD), `HOME` |
| `END` | `1`, `1` (NUMPAD), `END` |
| `LESS` | `-`, `-` (NUMPAD) |
| `MORE` | `+`, `+` (NUMPAD) |
### Menu items
| Key(s) or Key Group | Behavior |
| --------------------------- | ---------------------------------------- |
| `ENTER` | Press menu item |
| `ESC` | Blur menu item |
| `I` | Open index mode |
| `LEFT`/`RIGHT` group, `TAB` | Navigate thru items |
| `P`, `.` (NUMPAD) | Open thumbnails mode |
| `Search` | Open search mode |
| `Space` | Toggle fit mode |
| `T` | Open accessibility mode |
### Graphic mode
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------- |
| `B` | Open browse mode |
| `OPEN` group | Open first article |
| `LEFT`/`RIGHT`/`PAGE_UP`/`PAGE_DOWN` groups | Navigate thru page |
| `UP`/`DOWN` groups | Move vertically in the page |
| `MORE`/`LESS` groups | Zoom in/out in the page |
| `HOME` group | Move to previous section |
| `END` group | Move to next section |
### Index mode
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------- |
| `CLOSE` group | Close index mode |
| `SPACE` group | Toggle index mode fullscreen mode |
### Index mode (2nd level)
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------- |
| `CLOSE` group | Close index mode |
| `SPACE` group | Toggle index mode fullscreen mode |
| `LEFT`/`RIGHT` group | Navigate thru sections |
| `OPEN` group | Open 1st level index |
### Article mode
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------------------- |
| `CLOSE` group | Close article mode (if search active, closes search) |
| `UP`/`DOWN` group | Scroll up/down the article |
| `LEFT`/`RIGHT` group | Navigate thru articles |
| `PAGE_UP`/`PAGE_DOWN` group | Go to the first article of previous/next page |
| `OPEN` group | Open 2nd level index |
| `MORE`/`LESS` groups | Zoom in/out in the article |
| `HOME` group | Move to previous article slug |
| `END` group | Move to next article slug |
| `SPACE` group | Toggle article mode fullscreen mode |
| `P` | Print |
| `S` | Share |
| `V` | Toggle text-to-speech |
| `SELECT` group | Select item (accessibility mode) |
### Thumbnail mode
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------- |
| `LEFT`/`RIGHT` groups | Navigate thru thumbnails |
| `SELECT` group | Open highlighted page |
### Search mode
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------- |
| `CLOSE` group | Close search mode |
### Editions page
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------- |
| `CLOSE` group | Close editions page |
---
<a name="troubleshooting"></a>
## Troubleshooting Guide
1. **Google Play Services Build Issues**
@ -378,7 +599,9 @@ We suggest to add to you activity in the `onCreate` method.
```
## Authors
Nicolò Aquilini, iOS Software developer, Tecnavia
---
Andrea Mauri, Android Software developer, Tecnavia
<a name="authors"></a>
## Author
Nicolò Aquilini, App Software developer, Tecnavia

View File

@ -11,10 +11,10 @@ buildscript {
}*/
}
dependencies {
classpath "com.android.tools.build:gradle:7.2.1"
classpath "com.android.tools.build:gradle:8.9.2"
classpath "com.google.gms:google-services:4.3.4"
//use the version suggested by react-native-firebase
//classpath "com.google.firebase:firebase-crashlytics-gradle:2.3.0"
//classpath "com.google.firebase:firebase-crashlytics-gradle:2.9.9"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinGradleVersion"
}
} else {
@ -55,17 +55,10 @@ publishing {
tareactnativecolormatriximagefilters(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-color-matrix-image-filters'
version '6.0.9'
version '7.0.2'
artifact("$libsDirName/react-native-color-matrix-image-filters-release.aar")
}
tareactnativecommunitydatetimepicker(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-community_datetimepicker'
version '6.7.5'
artifact("$libsDirName/react-native-community_datetimepicker-release.aar")
}
tareactnativecommunitynetinfo(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-community_netinfo'
@ -73,13 +66,6 @@ publishing {
artifact("$libsDirName/react-native-community_netinfo-release.aar")
}
tareactnativecommunityslider(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-community_slider'
version '2.0.9'
artifact("$libsDirName/react-native-community_slider-release.aar")
}
tareactnativeconfig(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-config'
@ -90,7 +76,7 @@ publishing {
tareactnativecookiescookies(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-cookies_cookies'
version '6.2.0'
version '6.2.1'
artifact("$libsDirName/react-native-cookies_cookies-release.aar")
}
@ -125,7 +111,7 @@ publishing {
tareactnativegesturehandler(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-gesture-handler'
version '1.10.3'
version '2.27.1'
artifact("$libsDirName/react-native-gesture-handler-release.aar")
}
@ -139,7 +125,7 @@ publishing {
tareactnativeimagemarker(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-image-marker'
version '0.9.2'
version '1.2.6'
artifact("$libsDirName/react-native-image-marker-release.aar")
}
@ -160,35 +146,28 @@ publishing {
tareactnativepagerview(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-pager-view'
version '6.4.1'
version '6.8.1'
artifact("$libsDirName/react-native-pager-view-release.aar")
}
tareactnativephotoviewex(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-photo-view-ex'
version '1.1.0'
artifact("$libsDirName/react-native-photo-view-ex-release.aar")
}
tareactnativereanimated(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-reanimated'
version '2.17.0'
version '3.19.0'
artifact("$libsDirName/react-native-reanimated-release.aar")
}
tareactnativesafeareacontext(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-safe-area-context'
version '3.3.2'
version '5.5.2'
artifact("$libsDirName/react-native-safe-area-context-release.aar")
}
tareactnativescreens(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-screens'
version '3.32.0'
version '3.37.0'
artifact("$libsDirName/react-native-screens-release.aar")
}
@ -199,34 +178,13 @@ publishing {
artifact("$libsDirName/react-native-share-release.aar")
}
tareactnativesplashscreen(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-splash-screen'
version '3.2.0'
artifact("$libsDirName/react-native-splash-screen-release.aar")
}
tareactnativesqlitestorage(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-sqlite-storage'
version '3.3.10'
artifact("$libsDirName/react-native-sqlite-storage-release.aar")
}
tareactnativesvg(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-svg'
version '15.7.1'
version '15.12.0'
artifact("$libsDirName/react-native-svg-release.aar")
}
tareactnativetecnaviautils(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-tecnavia-utils'
version '1.3.1'
artifact("$libsDirName/react-native-tecnavia-utils-release.aar")
}
tareactnativetextsize(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-text-size'
@ -262,17 +220,17 @@ publishing {
artifact("$libsDirName/react-native-video-release.aar")
}
tareactnativevolumecontrol(MavenPublication) {
tareactnativevolumemanager(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-volume-control'
version '1.0.1'
artifact("$libsDirName/react-native-volume-control-release.aar")
artifactId 'react-native-volume-manager'
version '2.0.8'
artifact("$libsDirName/react-native-volume-manager-release.aar")
}
tareactnativewebview(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-webview'
version '12.4.0'
version '13.14.2'
artifact("$libsDirName/react-native-webview-release.aar")
}
@ -286,70 +244,77 @@ publishing {
tatecnaviareactnativebridge(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-bridge'
version '1.3.11'
version '1.9.0'
artifact("$libsDirName/tecnavia_react-native-bridge-release.aar")
}
tatecnaviareactnativedefaultpreference(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-default-preference'
version '1.5.0'
version '1.6.0'
artifact("$libsDirName/tecnavia_react-native-default-preference-release.aar")
}
tatecnaviareactnativedfp(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-dfp'
version '1.5.0'
version '1.6.0'
artifact("$libsDirName/tecnavia_react-native-dfp-release.aar")
}
tatecnaviareactnativegeolocation(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-geolocation'
version '3.0.1'
artifact("$libsDirName/tecnavia_react-native-geolocation-release.aar")
}
tatecnaviareactnativenavigationbarcolor(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-navigation-bar-color'
version '2.0.2'
version '2.1.0'
artifact("$libsDirName/tecnavia_react-native-navigation-bar-color-release.aar")
}
tatecnaviareactnativepdf(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-pdf'
version '5.1.8'
version '5.3.2'
artifact("$libsDirName/tecnavia_react-native-pdf-release.aar")
}
tatecnaviareactnativeprint(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-print'
version '0.6.1'
version '0.7.0'
artifact("$libsDirName/tecnavia_react-native-print-release.aar")
}
tatecnaviareactnativesqlitestorage(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-sqlite-storage'
version '3.5.0'
artifact("$libsDirName/tecnavia_react-native-sqlite-storage-release.aar")
}
tatecnaviareactnativeutils(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-utils'
version '1.7.4'
artifact("$libsDirName/tecnavia_react-native-utils-release.aar")
}
tatecnaviareactnativewebanalytics(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-web-analytics'
version '1.0.2'
version '1.2.0'
artifact("$libsDirName/tecnavia_react-native-web-analytics-release.aar")
}
tatecnaviareactnativeziparchive(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-zip-archive'
version '5.2.0'
version '5.3.0'
artifact("$libsDirName/tecnavia_react-native-zip-archive-release.aar")
}
tareactnative(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native'
version '0.70.15'
version '0.80.2'
artifact("$libsDirName/react-native-release.aar")
}
@ -369,10 +334,11 @@ afterEvaluate {
}
android {
compileSdkVersion safeExtGet("compileSdkVersion", "33").toInteger()
compileSdkVersion safeExtGet("compileSdkVersion", "35").toInteger()
namespace "com.tecnavia.sdk"
defaultConfig {
targetSdkVersion safeExtGet("targetSdkVersion", "33").toInteger()
targetSdkVersion safeExtGet("targetSdkVersion", "35").toInteger()
minSdkVersion safeExtGet("minSdkVersion", "24").toInteger()
versionName APP_VERSION_NAME
}
@ -418,77 +384,71 @@ repositories {
mavenLocal()
}
def frescoVersion = safeExtGet("frescoVersion", "2.5.0")
def soLoaderVersion = safeExtGet("soLoaderVersion","0.10.4")
def frescoVersion = safeExtGet("frescoVersion", "3.6.0")
def soLoaderVersion = safeExtGet("soLoaderVersion","0.12.1")
def okHttpVersion = safeExtGet("okHttpVersion", "4.9.2")
def glideVersion = safeExtGet("glideVersion", "4.12.0")
def kotlinVersion = safeExtGet("kotlinVersion", "1.9.0")
def kotlinVersion = safeExtGet("kotlinVersion", "2.1.20")
def webkitVersion = safeExtGet("webkitVersion", "1.4.0")
def androidxVersion = safeExtGet("androidxVersion", "1.8.0")
def androidxWorkRuntimeVersion = safeExtGet("androidxWorkRuntimeVersion", "2.7.0")
def androidxAnnotationVersion = safeExtGet("androidxAnnotationVersion", "1.4.0")
def androidxViewpager2Version = safeExtGet("androidxViewpager2Version", "1.0.0")
def androidxViewpager2Version = safeExtGet("androidxViewpager2Version", "1.1.0")
def androidxFragmentVersion = safeExtGet("androidxFragmentVersion", "1.4.1")
def androidxBrowserVersion = safeExtGet("androidxBrowserVersion", "1.4.0")
def androidxTransitionVersion = safeExtGet("androidxTransitionVersion", "1.1.0")
def androidxCoordinatorlayoutVersion = safeExtGet("androidxCoordinatorlayoutVersion", "1.1.0")
def androidxSwiperefreshlayoutVersion = safeExtGet("androidxSwiperefreshlayoutVersion", "1.0.0")
def androidxAppcompatVersion = safeExtGet("androidxAppcompatVersion", "1.0.2")
def androidxSwiperefreshlayoutVersion = safeExtGet("androidxSwiperefreshlayoutVersion", "1.1.0")
def androidxAppcompatVersion = safeExtGet("androidxAppcompatVersion", "1.7.0")
def androidxLegacySupportVersion = safeExtGet("androidxLegacySupportVersion", "1.0.0")
def playServiceiidVersion = safeExtGet("playServiceiidVersion", "17.0.0")
def playServiceBaseVersion = safeExtGet("playServiceBaseVersion", "18.0.1")
def playServiceAnalyticsVersion = safeExtGet("playServiceAnalyticsVersion", "18.0.1")
def playServiceAdsVersion = safeExtGet("playServiceAdsVersion", "20.2.0")
def playServiceAdsVersion = safeExtGet("playServiceAdsVersion", "21.3.0")
def playServiceMapsVersion = safeExtGet("playServiceMapsVersion", "18.0.2")
def playBillingVersion = safeExtGet("playBillingVersion", "5.0.0")
def amazonSdkVersion = safeExtGet("amazonSdkVersion", "3.0.3")
def playBillingVersion = safeExtGet("playBillingVersion", "7.0.0")
def amazonSdkVersion = safeExtGet("amazonSdkVersion", "3.0.7")
dependencies {
implementation "tecnavia:react-native-android-open-settings:1.3.0"
implementation "tecnavia:react-native-async-storage_async-storage:2.0.0"
implementation "tecnavia:react-native-color-matrix-image-filters:6.0.9"
implementation "tecnavia:react-native-community_datetimepicker:6.7.5"
implementation "tecnavia:react-native-color-matrix-image-filters:7.0.2"
implementation "tecnavia:react-native-community_netinfo:11.4.1"
implementation "tecnavia:react-native-community_slider:2.0.9"
implementation "tecnavia:react-native-config:1.4.11"
implementation "tecnavia:react-native-cookies_cookies:6.2.0"
implementation "tecnavia:react-native-cookies_cookies:6.2.1"
implementation "tecnavia:react-native-device-info:8.7.1"
implementation "tecnavia:react-native-dynamic-fonts:0.3.2"
implementation "tecnavia:react-native-fast-image:8.5.11"
implementation "tecnavia:react-native-fs:2.20.0"
implementation "tecnavia:react-native-gesture-handler:1.10.3"
implementation "tecnavia:react-native-gesture-handler:2.27.1"
implementation "tecnavia:react-native-idle-timer:2.1.6"
implementation "tecnavia:react-native-image-marker:0.9.2"
implementation "tecnavia:react-native-image-marker:1.2.6"
implementation "tecnavia:react-native-linear-gradient:2.8.3"
implementation "tecnavia:react-native-mail:6.1.1"
implementation "tecnavia:react-native-pager-view:6.4.1"
implementation "tecnavia:react-native-photo-view-ex:1.1.0"
implementation "tecnavia:react-native-reanimated:2.17.0"
implementation "tecnavia:react-native-safe-area-context:3.3.2"
implementation "tecnavia:react-native-screens:3.32.0"
implementation "tecnavia:react-native-pager-view:6.8.1"
implementation "tecnavia:react-native-reanimated:3.19.0"
implementation "tecnavia:react-native-safe-area-context:5.5.2"
implementation "tecnavia:react-native-screens:3.37.0"
implementation "tecnavia:react-native-share:10.2.1"
implementation "tecnavia:react-native-splash-screen:3.2.0"
implementation "tecnavia:react-native-sqlite-storage:3.3.10"
implementation "tecnavia:react-native-svg:15.7.1"
implementation "tecnavia:react-native-tecnavia-utils:1.3.1"
implementation "tecnavia:react-native-svg:15.12.0"
implementation "tecnavia:react-native-text-size:3.0.0"
implementation "tecnavia:react-native-tts:4.1.1"
implementation "tecnavia:react-native-uuid-generator:6.1.1"
implementation "tecnavia:react-native-vector-icons:8.1.0"
implementation "tecnavia:react-native-video:5.2.1"
implementation "tecnavia:react-native-volume-control:1.0.1"
implementation "tecnavia:react-native-webview:12.4.0"
implementation "tecnavia:react-native-volume-manager:2.0.8"
implementation "tecnavia:react-native-webview:13.14.2"
implementation "tecnavia:rn-fetch-blob:0.11.2"
api "tecnavia:tecnavia_react-native-bridge:1.3.11"
implementation "tecnavia:tecnavia_react-native-default-preference:1.5.0"
implementation "tecnavia:tecnavia_react-native-dfp:1.5.0"
implementation "tecnavia:tecnavia_react-native-geolocation:3.0.1"
implementation "tecnavia:tecnavia_react-native-navigation-bar-color:2.0.2"
implementation "tecnavia:tecnavia_react-native-pdf:5.1.8"
implementation "tecnavia:tecnavia_react-native-print:0.6.1"
implementation "tecnavia:tecnavia_react-native-web-analytics:1.0.2"
implementation "tecnavia:tecnavia_react-native-zip-archive:5.2.0"
api "tecnavia:react-native:0.70.15"
api "tecnavia:tecnavia_react-native-bridge:1.9.0"
implementation "tecnavia:tecnavia_react-native-default-preference:1.6.0"
implementation "tecnavia:tecnavia_react-native-dfp:1.6.0"
implementation "tecnavia:tecnavia_react-native-navigation-bar-color:2.1.0"
implementation "tecnavia:tecnavia_react-native-pdf:5.3.2"
implementation "tecnavia:tecnavia_react-native-print:0.7.0"
implementation "tecnavia:tecnavia_react-native-sqlite-storage:3.5.0"
implementation "tecnavia:tecnavia_react-native-utils:1.7.4"
implementation "tecnavia:tecnavia_react-native-web-analytics:1.2.0"
implementation "tecnavia:tecnavia_react-native-zip-archive:5.3.0"
api "tecnavia:react-native:0.80.2"
implementation "tecnavia:android-jsc:1.0.0"
//androidx dependencies
@ -517,9 +477,10 @@ dependencies {
implementation "com.facebook.fresco:imagepipeline-okhttp3:$frescoVersion"
implementation "com.facebook.fresco:ui-common:$frescoVersion"
implementation "com.facebook.soloader:soloader:$soLoaderVersion"
implementation "com.facebook.fbjni:fbjni-java-only:0.2.2"
implementation "com.facebook.fbjni:fbjni:0.7.0"
//google dependencies
implementation "com.google.code.findbugs:jsr305:3.0.2"
///used by react-native-pdf
implementation "com.google.code.gson:gson:2.8.5"
//used by react-native-device-info package
//update core with the same values in react-native-firebase
@ -527,13 +488,10 @@ dependencies {
//used by react-native-maps and react-native-iap packages
//update core with the same values in react-native-firebase
implementation "com.google.android.gms:play-services-base:$playServiceBaseVersion"
//used by react-native-google-analytics-bridge ga3
//try to use the same version of firebase-core
//use the same version of play-services-analytics
//used by react-native-prebid, react-native-admob and react-native-dfp packages
implementation "com.google.android.gms:play-services-ads:$playServiceAdsVersion"
//used by react-native-maps package
//used by @firebase/app
//used by react-native-iap
//firebase
//okhttp
implementation "com.squareup.okhttp3:okhttp:$okHttpVersion"

View File

@ -1,7 +1,7 @@
android.useAndroidX=true
APP_NAME=Android SDK
APP_VERSION_NAME=3.18.12
APP_VERSION_CODE=1744382517288
APP_VERSION_NAME=3.22.02
APP_VERSION_CODE=1754465538680
ANDROID_APP_ID=com.tecnaviaapplication
IS_ADDON=true

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +1,5 @@
<!-- tecnavia manifest template -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.tecnavia.sdk">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application>
<!-- we need it if there are google ad manager -->

File diff suppressed because one or more lines are too long

View File

@ -1,11 +1,11 @@
com.facebook.react.shell.MainReactPackage
com.rtmalone.volumecontrol.RNVolumeControlPackage
com.reactnativevolumemanager.VolumeManagerPackage
com.levelasquez.androidopensettings.AndroidOpenSettingsPackage
com.chirag.RNMail.RNMail
net.no_mad.tts.TextToSpeechPackage
com.lugg.ReactNativeConfig.ReactNativeConfigPackage
org.pgsqlite.SQLitePluginPackage
com.swmansion.gesturehandler.react.RNGestureHandlerPackage
com.swmansion.gesturehandler.RNGestureHandlerPackage
com.prebidlibrary.RNPrebidPackage
com.oblador.vectoricons.VectorIconsPackage
com.reactcommunity.rndatetimepicker.RNDateTimePickerPackage
@ -39,7 +39,6 @@ net.nativo.reactsdk.RNNativoSdkPackage
com.onesignal.rnonesignalandroid.ReactNativeOneSignalPackage
com.reactnativepagerview.PagerViewPackage
com.library.RCTPdfView
io.amarcruz.photoview.PhotoViewPackage
com.swmansion.reanimated.ReanimatedPackage
com.th3rdwave.safeareacontext.SafeAreaContextPackage
com.swmansion.rnscreens.RNScreensPackage
@ -53,4 +52,8 @@ com.wenkesj.voice.VoicePackage
com.reactnativecommunity.webview.RNCWebViewPackage
com.RNFetchBlob.RNFetchBlobPackage
com.blueconic.reactnative.BlueConicClientPackage
com.tecnavia.chartbeat.ChartBeatPackage
com.tecnavia.chartbeat.ChartBeatPackage
com.reactnativecommunity.geolocation.GeolocationPackage
com.heanoria.library.reactnative.locationenabler.AndroidLocationEnablerPackage
com.zoontek.rnpermissions.RNPermissionsPackage
it.innove.BleManagerPackage

File diff suppressed because one or more lines are too long