Instalación
Agregar react-native-appsflyer a tu proyecto
- Instalación mediante CLI
- Instalación manual
- Agregar el modo estricto para App-kids
- El permiso AD_ID para aplicaciones Android
Instalación con enlaces automáticos
Ejecuta lo siguiente:
$ npm install react-native-appsflyer --save
$ cd ios && pod install
Instalación sin enlaces automáticos
Ejecuta lo siguiente:
$ npm install react-native-appsflyer --save
$ react-native link react-native-appsflyer
Manual installation iOS
- Agrega
appsFlyerFramework
topodfile
y ejecutapod install
.
Ejemplo:
pod 'react-native-appsflyer',
:path => '../node_modules/react-native-appsflyer'
Esto supone que tu Podfile
se encuentra en el directorio ios
.
Archivo pod de muestra:
target 'AFTest' do
pod 'React', :path => '../node_modules/react-native', :subspecs => [
'Core',
'CxxBridge', # Include this for RN >= 0.47
'DevSupport', # Include this to enable In-App Devmenu if RN >= 0.43
'RCTText',
'RCTNetwork',
'RCTWebSocket', # Needed for debugging
'RCTAnimation', # Needed for FlatList and animations running on native UI thread
# Add any other subspecs you want to use in your project
]
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
pod 'react-native-appsflyer',
:path => '../node_modules/react-native-appsflyer'
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
end
- Ejecuta
pod install
(en el directorioios
).
Manual Integration (Integrating without Cocoapods):
- Download the Static Lib of the AppsFlyer iOS SDK from AppsFlyer devHub
- Descomprime y copia el contenido del archivo zip en el directorio de tu proyecto.
- Ejecuta
react-native link react-native-appsflyer
desde la raíz del proyecto o copia RNAppsFlyer.h y RNAppsFlyer.m desdenode_modules
➜react-native-appsflyer
al directorio de tu proyecto.
Manual installation Android
Ejecuta react-native link react-native-appsflyer
O agrega manualmente:
android/app/build.gradle
Agrega el proyecto a tus dependencias
dependencies {
...
compile project(':react-native-appsflyer')
}
android/settings.gradle
Agrega el proyecto
include ':react-native-appsflyer'
project(':react-native-appsflyer').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-appsflyer/android')
Si necesitas anular la versión sdk, agrega una configuración personalizada a tu gradle raíz, por ejemplo:
ext {
minSdkVersion = 16
targetSdkVersion = 25
compileSdkVersion = 25
buildToolsVersion = '25.0.3'
}
MainApplication.java
Agrega:
-
import com.appsflyer.reactnative.RNAppsFlyerPackage;
-
En el
getPackages()
registra el módulo:
new RNAppsFlyerPackage()
Entonces getPackages()
debería verse así:
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
//...
new RNAppsFlyerPackage()
//...
);
}
Agregar el modo estricto para App-kids
Starting from version 6.1.10 iOS SDK comes in two variants: Strict mode and Regular mode. Please read more here
Cambiar al modo Estricto
Después de instalar el plugin de AppsFlyer, agrega $RNAppsFlyerStrictMode=true
en el Podfile del proyecto:
//MyRNApp/ios/Podfile
...
use_frameworks!
$RNAppsFlyerStrictMode=true
# Pods for MyRNApp
...
En el ios
de tu proyecto root
, ejecuta pod install
Cambiar al modo Normal
Eliminar $RNAppsFlyerStrictMode=true
del Podfile del proyecto o configúralo como false
:
//MyRNApp/ios/Podfile
...
use_frameworks!
$RNAppsFlyerStrictMode=false //OR remove this line
# Pods for MyRNApp
...
En el ios
de tu proyecto root
, ejecuta pod install
El permiso AD_ID para aplicaciones Android
In v6.8.0 of the AppsFlyer SDK, we added the normal permission com.google.android.gms.permission.AD_ID to the SDK's AndroidManifest,
to allow the SDK to collect the Android Advertising ID on apps targeting API 33.
If your app is targeting children, you need to revoke this permission to comply with Google's Data policy.
You can read more about it here.
Actualizado hace aproximadamente 1 año