Descripción:
El uso de "react-native-onesignal": "^3.2.4"
con "react-native": "0.55.4"
da el siguiente error de compilación,
Error de ejecución para la tarea ': react-
Error: más de una biblioteca con el nombre de paquete "com.google.android.gms.license"
He seguido todos los pasos de configuración del sitio oficial, incluido https://documentation.onesignal.com/docs/react-native-sdk-setup#section -adding-the-gradle-plugin
Además, como se menciona en el comentario de pie de página de .../node_modules/react-native-onesignal/android/build.gradle
, he intentado agregar la siguiente sección en la parte superior de .../android/app/build.gradle
\: -
plugins {
id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
pero no hace ninguna diferencia.
@ avin3sh está utilizando una versión anterior del complemento OneSignal Gradle.
Intente usar la nueva versión, elimine el antiguo complemento de Gradle y agregue el nuevo de la misma manera (en la parte superior de app/build.gradle
):
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/'}
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.10.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
@ Nightsd01 Gracias por la solución
También tengo estos problemas, pero no funcionó, el error aún aparece
A mí también me pasa. Probé el último complemento de gradle, fijando la versión de la biblioteca de base de fuego mientras excluía el grupo gcm del complemento de Android, actualizando todas las bibliotecas de base de fuego a la versión 15, pero hasta ahora no tuve suerte. Este fue el último error que recibí: https://github.com/OneSignal/OneSignal-Android-SDK/issues/298 , pero no pude superarlo.
Este es mi react-native info
. ¿Hay algo que parezca fuera de lugar?
Environment:
OS: macOS High Sierra 10.13
Node: 10.3.0
Yarn: 1.7.0
npm: 6.1.0
Watchman: 4.7.0
Xcode: Not Found
Android Studio: 2.3 AI-162.4069837
Packages: (wanted => installed)
react: 16.3.1 => 16.3.1
react-native: ~0.55.2 => 0.55.4
Aquí igual. También recibo el mismo error. Probé la solución anterior pero no funcionó para mí.
Alguien puede ayudar ?
@ Nightsd01 Ya tenía esas líneas agregadas a mi build.gradle
pero todavía me enfrento al problema.
¿Podría usted (o cualquier otra persona que se enfrente a este problema) proporcionarnos todas las dependencias que está utilizando? Puedes publicar tu package.json
Además, a cualquier persona que se enfrente a este problema, copie y pegue su archivo app/build.gradle
. Específicamente, queremos conocer algunos de los siguientes parámetros: compileSdkVersion
, buildToolsVersion
, minSdkVersion
y targetSdkVersion
Estoy teniendo el mismo problema, aquí está mi package.json
{
"dependencies": {
"native-base": "^2.4.3",
"react": "16.3.2",
"react-native": "0.55.3",
"react-native-cookies": "^3.2.0",
"react-native-elements": "^0.19.1",
"react-native-haptic-feedback": "^1.1.0",
"react-native-iphone-x-helper": "^1.0.3",
"react-native-navigation": "^1.1.452",
"react-native-onesignal": "^3.2.3",
"react-native-scrollable-tab-view": "^0.8.0",
"react-native-share": "^1.0.27",
"react-native-vector-icons": "^4.6.0",
"react-native-wkwebview-reborn": "^1.20.0",
"react-native-xml2js": "^1.0.3",
"react-redux": "^5.0.7",
"redux": "^4.0.0",
"redux-logger": "^3.0.6",
"redux-persist": "^5.9.1",
"redux-thunk": "^2.2.0",
"rn-sliding-up-panel": "^1.2.0",
"url-parse": "^1.4.0"
},
"devDependencies": {
"babel-jest": "22.4.3",
"babel-preset-react-native": "4.0.0",
"jest": "22.4.3",
"react-native-dotenv": "^0.1.1",
"react-test-renderer": "16.3.1"
},
"jest": {
"preset": "react-native"
}
}
Aquí están los otros detalles de los parámetros
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
Ya no tengo mi archivo build.gradle, pero intenté configurar todo en> la versión 23 o la versión 26 y no pude hacer que ninguno de ellos funcionara
Finalmente conseguí este trabajo
eliminando https://documentation.onesignal.com/docs/react-native-sdk-setup#section -adding-the-gradle-plugin
e inserte compile "com.google.android.gms:play-services-base:12.0.1"
en app / build.gradle
& agregue google () en android / build.gradle como a continuación
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}
allprojects {
repositories {
google()
mavenLocal()
jcenter()
maven {
url "$rootDir/../node_modules/react-native/android"
}
}
}
@ neo125874 ¿Cuáles son sus versiones compileSdkVersion y buildToolsVersion?
Tuve que hacer un cambio más. Cambié a distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
en gradle-wrapper.properties
, y funcionó. compileSdkVersion es 23 y buildToolsVersion es 23.0.1
@ Nochesd01
Aquí está el contenido de mi package.json
"dependencies": {
"native-base": "^2.3.9",
"react": "16.3.1",
"react-native": "0.55.4",
"react-native-onesignal": "^3.2.4",
"react-native-router-flux": "^4.0.0-beta.28",
"react-native-smart-splash-screen": "^2.3.5"
},
"devDependencies": {
"babel-jest": "22.4.1",
"babel-preset-react-native": "4.0.0",
"jest": "22.4.2",
"react-test-renderer": "16.2.0"
},
"jest": {
"preset": "react-native"
}
Y aquí está app/build.gradle
aplicar complemento: "com.android.application"
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/' } // Gradle Plugin Portal
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.10.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
import com.android.build.OutputFile
project.ext.react = [
entryFile: "index.js"
]
apply from: "../../node_modules/react-native/react.gradle"
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
//compileSdkVersion 27 //made no difference
//buildToolsVersion "27.0.1" //made no difference
defaultConfig {
applicationId "com.fpapp"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86"
}
}
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
}
}
}
}
dependencies {
compile project(':react-native-smart-splash-screen')
compile project(':react-native-onesignal')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
//compile "com.google.android.gms:play-services-base:12.0.1" //github onesignal experiment
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
Lo he intentado con buildTool y CompileSdk recomendados y predeterminados, y no hizo ninguna diferencia.
@ neo125874 ¡ sus modificaciones junto con los cambios sugeridos por @dhamaniasad para gradle-wrapper.properties
funcionaron!
@dhamaniasad intenté que 23 o 26 podrían funcionar bien, ¡y feliz de saber que lo hiciste!
@ avin3sh ¡felicidades! parece ser algo relacionado con el servicio de Google Play.
@ avin3sh @dhamaniasad Lo intenté como sugirió, pero
Ocurrió un problema al configurar el proyecto ': app'.
No se pudo notificar al oyente de evaluación del proyecto.
com.android.build.gradle.tasks.factory.AndroidJavaCompile.setDependencyCacheDir(Ljava/io/File;)V
por favor ayúdame a resolver esto gracias de antemano
mi app/build.gradle
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/' } // Gradle Plugin Portal
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.10.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: "com.android.application"
import com.android.build.OutputFile
/**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
* and bundleReleaseJsAndAssets).
* These basically call `react-native bundle` with the correct arguments during the Android build
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
* bundle directly from the development server. Below you can see all the possible configurations
* and their defaults. If you decide to add a configuration block, make sure to add it before the
* `apply from: "../../node_modules/react-native/react.gradle"` line.
*
* project.ext.react = [
* // the name of the generated asset file containing your JS bundle
* bundleAssetName: "index.android.bundle",
*
* // the entry file for bundle generation
* entryFile: "index.android.js",
*
* // whether to bundle JS and assets in debug mode
* bundleInDebug: false,
*
* // whether to bundle JS and assets in release mode
* bundleInRelease: true,
*
* // whether to bundle JS and assets in another build variant (if configured).
* // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
* // The configuration property can be in the following formats
* // 'bundleIn${productFlavor}${buildType}'
* // 'bundleIn${buildType}'
* // bundleInFreeDebug: true,
* // bundleInPaidRelease: true,
* // bundleInBeta: true,
*
* // whether to disable dev mode in custom build variants (by default only disabled in release)
* // for example: to disable dev mode in the staging build type (if configured)
* devDisabledInStaging: true,
* // The configuration property can be in the following formats
* // 'devDisabledIn${productFlavor}${buildType}'
* // 'devDisabledIn${buildType}'
*
* // the root of your project, i.e. where "package.json" lives
* root: "../../",
*
* // where to put the JS bundle asset in debug mode
* jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
*
* // where to put the JS bundle asset in release mode
* jsBundleDirRelease: "$buildDir/intermediates/assets/release",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in debug mode
* resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in release mode
* resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
*
* // by default the gradle tasks are skipped if none of the JS files or assets change; this means
* // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
* // for example, you might want to remove it from here.
* inputExcludes: ["android/**", "ios/**"],
*
* // override which node gets called and with what additional arguments
* nodeExecutableAndArgs: ["node"],
*
* // supply additional arguments to the packager
* extraPackagerArgs: []
* ]
*/
project.ext.react = [
entryFile: "index.js"
]
apply from: "../../node_modules/react-native/react.gradle"
/**
* Set this to true to create two separate APKs instead of one:
* - An APK that only works on ARM devices
* - An APK that only works on x86 devices
* The advantage is the size of the APK is reduced by about 4MB.
* Upload all the APKs to the Play Store and people will download
* the correct one based on the CPU architecture of their device.
*/
def enableSeparateBuildPerCPUArchitecture = false
/**
* Run Proguard to shrink the Java bytecode in release builds.
*/
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.onesignal"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86"
}
}
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
}
}
}
}
dependencies {
compile project(':react-native-onesignal')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
compile "com.google.android.gms:play-services-base:12.0.1" //github onesignal experiment
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
mi gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
jcenter()
google()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
}
}
`
package.json
`{
"name": "onesignal",
"version": "0.1.0",
"private": true,
"devDependencies": {
"babel-preset-react-native-stage-0": "^1.0.1",
"jest": "^23.1.0",
"jest-react-native": "^18.0.0",
"react-test-renderer": "16.3.1"
},
"scripts": {
"start": "react-native start",
"android": "react-native run-android",
"ios": "react-native run-ios",
"test": "jest"
},
"jest": {
"preset": "react-native"
},
"dependencies": {
"react": "16.3.1",
"react-native": "~0.55.2",
"react-native-onesignal": "^3.2.4"
}
}
@ avin3sh @dhamaniasad ¿puedo obtener el repositorio de su proyecto para comparar?
@ Nightsd01 por favor ayuda
@davekedar , ¿actualizaste la versión de envoltura de Gradle?
Si es así, necesita actualizar las dependencias de su archivo gradle desde
classpath 'com.android.tools.build:gradle:2.2.3'
para
classpath 'com.android.tools.build:gradle:4.4'
(o la versión que esté usando)
Aquí está el artículo al que me referí para que funcione. https://medium.com/@chuckyong_3313/react -native-android-build-compilation-issue-with-google-play-api-for-android-v12-0-0-ccb2f1a0fb9c
@ashishmusale ¿ cuál es tu versión de estudio de Android? He actualizado la versión de estudio 3.1.3
gradle-wrapper.properties
#Fri Jun 08 10:09:57 IST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
app/build.gradle
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/' } // Gradle Plugin Portal
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.10.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: "com.android.application"
import com.android.build.OutputFile
/**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
* and bundleReleaseJsAndAssets).
* These basically call `react-native bundle` with the correct arguments during the Android build
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
* bundle directly from the development server. Below you can see all the possible configurations
* and their defaults. If you decide to add a configuration block, make sure to add it before the
* `apply from: "../../node_modules/react-native/react.gradle"` line.
*
* project.ext.react = [
* // the name of the generated asset file containing your JS bundle
* bundleAssetName: "index.android.bundle",
*
* // the entry file for bundle generation
* entryFile: "index.android.js",
*
* // whether to bundle JS and assets in debug mode
* bundleInDebug: false,
*
* // whether to bundle JS and assets in release mode
* bundleInRelease: true,
*
* // whether to bundle JS and assets in another build variant (if configured).
* // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
* // The configuration property can be in the following formats
* // 'bundleIn${productFlavor}${buildType}'
* // 'bundleIn${buildType}'
* // bundleInFreeDebug: true,
* // bundleInPaidRelease: true,
* // bundleInBeta: true,
*
* // whether to disable dev mode in custom build variants (by default only disabled in release)
* // for example: to disable dev mode in the staging build type (if configured)
* devDisabledInStaging: true,
* // The configuration property can be in the following formats
* // 'devDisabledIn${productFlavor}${buildType}'
* // 'devDisabledIn${buildType}'
*
* // the root of your project, i.e. where "package.json" lives
* root: "../../",
*
* // where to put the JS bundle asset in debug mode
* jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
*
* // where to put the JS bundle asset in release mode
* jsBundleDirRelease: "$buildDir/intermediates/assets/release",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in debug mode
* resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in release mode
* resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
*
* // by default the gradle tasks are skipped if none of the JS files or assets change; this means
* // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
* // for example, you might want to remove it from here.
* inputExcludes: ["android/**", "ios/**"],
*
* // override which node gets called and with what additional arguments
* nodeExecutableAndArgs: ["node"],
*
* // supply additional arguments to the packager
* extraPackagerArgs: []
* ]
*/
project.ext.react = [
entryFile: "index.js"
]
apply from: "../../node_modules/react-native/react.gradle"
/**
* Set this to true to create two separate APKs instead of one:
* - An APK that only works on ARM devices
* - An APK that only works on x86 devices
* The advantage is the size of the APK is reduced by about 4MB.
* Upload all the APKs to the Play Store and people will download
* the correct one based on the CPU architecture of their device.
*/
def enableSeparateBuildPerCPUArchitecture = false
/**
* Run Proguard to shrink the Java bytecode in release builds.
*/
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion 27
buildToolsVersion '27.0.3'
defaultConfig {
applicationId "com.nesignal"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86"
}
}
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
}
}
}
}
dependencies {
compile project(':react-native-onesignal')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
android/build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.google.gms:google-services:3.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
}
}
ext {
googlePlayServicesVersion = '11.8.0'
compileSdkVersion = 27
buildToolsVersion = '27.0.3'
supportLibrariesVersion = '27.1.0'
}
// Force sub libs to use the compile sdk & build tools version
subprojects { subproject ->
afterEvaluate{
if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
}
}
}
}
y obteniendo error
No se pudo encontrar firebase-messaging.jar (com.google.firebase: firebase-messaging: 12.0.0).
Buscado en las siguientes ubicaciones:
https://jcenter.bintray.com/com/google/firebase/firebase-messaging/12.0.0/firebase-messaging-12.0.0.jar
https://github.com/davekedar/onesignal-error.git este es mi repositorio para pruebas, ¿pueden ayudarme a resolverlo?
Gracias de antemano @ashishmusale @ Nightsd01
@davekedar No pude compilar tu proyecto
@davekedar Últimamente he visto algunos problemas con jcenter que ya no resuelve las bibliotecas de Google. Recomiendo agregar google()
a su sección allprojects { repositories { ... } }
que debería corregir este error.
allprojects {
repositories {
mavenLocal()
google()
jcenter()
// ...
}
}
@ashishmusale @ jkasten2 Gracias, ahora está funcionando. Pero, no se está registrando con One Signal
esta es mi app.js
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import OneSignal from 'react-native-onesignal'; // Import package from node modules
export default class App extends React.Component {
state = {
device : ''
}
componentWillMount() {
OneSignal.init("206a6513-b453-4807-89c1-040389fa8dea");
OneSignal.addEventListener('received', this.onReceived);
OneSignal.addEventListener('opened', this.onOpened);
OneSignal.addEventListener('ids', this.onIds);
}
componentWillUnmount() {
OneSignal.removeEventListener('received', this.onReceived);
OneSignal.removeEventListener('opened', this.onOpened);
OneSignal.removeEventListener('ids', this.onIds);
}
onReceived(notification) {
console.log("Notification received: ", notification);
}
onOpened(openResult) {
console.log('Message: ', openResult.notification.payload.body);
console.log('Data: ', openResult.notification.payload.additionalData);
console.log('isActive: ', openResult.notification.isAppInFocus);
console.log('openResult: ', openResult);
}
onIds(device) {
this.setState({device: device})
}
render() {
return (
<View style={styles.container}>
<Text>Open up App.js to start working on your app!</Text>
<Text>Changes you make will automatically reload.</Text>
<Text>Shake your phone to open the developer menu.</Text>
<Text>Device Info : {this.state.device}</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
@ashishmusale He comprometido la versión final compilada si puedes comprobar
Todo se hizo con éxito Gracias a todos
¡Alegra oírlo!
¿Alguien puede darme un proyecto totalmente confiurado, funcionando bien ... estoy atascado durante 2 días. nada funciona para mí ... por favor
@nahidmbstu dime dónde estás atrapado, hay un problema muy extraño con todos, intentemos resolverlo por ti
Soy gcm lincence error en 3.1.4 y cuando estoy probando el proyecto de ejemplo de este repositorio, no funciona ... Necesito algún proyecto configurado con notificación funcionando ...
descargar desde aquí https://github.com/davekedar/onesignal-error
obteniendo Push token null ............. en el ID del dispositivo. @davekedar . También se obtiene un error de inicialización del servicio de Google Play en un panel de señal.
@nahidmbstu ¿has intentado construir un nuevo proyecto nuevo?
gracias, tuve un problema con el servicio de Google Play, por eso lo causó. lo he resuelto siguiendo
https://github.com/geektimecoil/react-native-onesignal/issues/387
@nahidmbstu maravilloso
Comentario más útil
Tuve que hacer un cambio más. Cambié a
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
engradle-wrapper.properties
, y funcionó. compileSdkVersion es 23 y buildToolsVersion es 23.0.1