React-native-onesignal: (Android) E / onesignal: no se puede inicializar el SDK de OneSignal porque la actividad es nula verdadera o oneSignalInitDonefalse

Creado en 19 may. 2018  ·  30Comentarios  ·  Fuente: OneSignal/react-native-onesignal

¡Hola!
"react-native": "0.55.3",
"react-native-onesignal": "^ 3.2.3",

app.js

componentWillMount() {
    OneSignal.init('bddacd3f-7812-4a29-b038-.................');
    OneSignal.addEventListener('received', this.onReceived);
    OneSignal.addEventListener('opened', this.onOpened);
    OneSignal.addEventListener('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) {
        console.log('Device info: ', device);
   }
  1. trabajar en iOS

  2. no funciona en Android

Comentario más útil

Lo resolví simplemente usando react-native-onesignal:3.1.4 . Se inicializa usando:

defaultConfig {
        applicationId "APP_ID"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }

        manifestPlaceholders = [onesignal_app_id: "YOUR_ONESIGNAL_ID",
                                onesignal_google_project_number: "REMOTE"]
    }

y eso es. Es mucho más sencillo que hacerlo desde el lado de JS si está utilizando react-native-navigation.

Todos 30 comentarios

1

@aspidvip , ¿puede proporcionar más detalles? ¿Este error genera una excepción y falla, o simplemente no funciona (no hay identificación de jugador, no se pueden recibir notificaciones automáticas, etc.)? ¿Cuales son los sintomas?

También tuve este problema. Creo que se debe a la navegación nativa de reacción. Inicia otra actividad justo después de que se inicia la aplicación. Si llama a OneSignal.init() mientras tanto, dice que la actividad es nula, el error que tiene.

Si espera unos segundos antes de llamar a OneSignal.init() , funciona, pero luego aparece otro error. El que tiene FirebaseApp no ​​inicializado. Número 515. Esperando una solución o solución para esto también ...

Lo resolví simplemente usando react-native-onesignal:3.1.4 . Se inicializa usando:

defaultConfig {
        applicationId "APP_ID"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }

        manifestPlaceholders = [onesignal_app_id: "YOUR_ONESIGNAL_ID",
                                onesignal_google_project_number: "REMOTE"]
    }

y eso es. Es mucho más sencillo que hacerlo desde el lado de JS si está utilizando react-native-navigation.

sin identificación de jugador, no puedo recibir notificaciones push!

@urbancvek Esa misma técnica de inicialización (usando AppDelegate para iOS y gradle para Android) también funciona en 3.2.3

@aspidvip Ese es un tema muy amplio, podría ser cualquier cosa. Es probable que esto sea un problema con la navegación nativa de reacción y el momento de la inicialización de OneSignal

yo hice

componentDidMount(){
    setTimeout(()=>{
      OneSignal.init('bddacd3f-7812-4a29-b038-ebf844c9826d');
    },5000);
}

E/OneSignal: The included Android Support Library is to old or incomplete. Please update to the 26.0.0 revision or newer.
D/FirebaseApp: com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
I/zygote: Rejecting re-init on previously-failed class java.lang.Class<com.onesignal.OneSignalChromeTab$OneSignalCustomTabsServiceConnection>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/customtabs/CustomTabsServiceConnection;
I/zygote:     at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
I/zygote:     at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
I/zygote:     at void java.lang.Thread.run() (Thread.java:764)
I/zygote: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.customtabs.CustomTabsServiceConnection" on path: DexPathList[[zip file "/data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/base.apk"],nativeLibraryDirectories=[/data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/lib/x86, /data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/base.apk!/lib/x86, /system/lib, /vendor/lib]]
I/zygote:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:93)
I/zygote:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
I/zygote:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
I/zygote:     at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
I/zygote:     at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
I/zygote:     at void java.lang.Thread.run() (Thread.java:764)
I/zygote: Rejecting re-init on previously-failed class java.lang.Class<com.onesignal.OneSignalChromeTab$OneSignalCustomTabsServiceConnection>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/customtabs/CustomTabsServiceConnection;
I/zygote:     at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
I/zygote:     at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
I/zygote:     at void java.lang.Thread.run() (Thread.java:764)
I/zygote: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.customtabs.CustomTabsServiceConnection" on path: DexPathList[[zip file "/data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/base.apk"],nativeLibraryDirectories=[/data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/lib/x86, /data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/base.apk!/lib/x86, /system/lib, /vendor/lib]]
I/zygote:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:93)
I/zygote:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
I/zygote:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
I/zygote:     at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
I/zygote:     at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
I/zygote:     at void java.lang.Thread.run() (Thread.java:764)
I/zygote: Rejecting re-init on previously-failed class java.lang.Class<com.onesignal.OneSignalChromeTab$OneSignalCustomTabsServiceConnection>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/customtabs/CustomTabsServiceConnection;
I/zygote:     at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
I/zygote:     at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
I/zygote:     at void java.lang.Thread.run() (Thread.java:764)
I/zygote: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.customtabs.CustomTabsServiceConnection" on path: DexPathList[[zip file "/data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/base.apk"],nativeLibraryDirectories=[/data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/lib/x86, /data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/base.apk!/lib/x86, /system/lib, /vendor/lib]]
I/zygote:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:93)
I/zygote:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
I/zygote:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
I/zygote:     at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
I/zygote:     at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
I/zygote:     at void java.lang.Thread.run() (Thread.java:764)

1

pero no, no hay identificación de jugador, ¡no puedo recibir notificaciones automáticas!

@aspidvip ¿puedes publicar tu build.gradle ? Este sería un problema de dependencia seguro.

Además, puede intentar ingresar al archivo react-native-onesignal/build.gradle y actualizar el SDK de Android OneSignal a 3.9.1

plugins {
        id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
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.vectoricons = [
        iconFontNames: [ 'MaterialIcons.ttf', 'EvilIcons.ttf', 'MaterialCommunityIcons.ttf', 'Ionicons.ttf' ] // Name of the font files you want to copy
]

apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"





apply plugin: 'com.android.application'


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 = true

/**
 * Run Proguard to shrink the Java bytecode in release builds.
 */
def enableProguardInReleaseBuilds = false

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"

    defaultConfig {
        applicationId "com.nameproject"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        vectorDrawables.useSupportLibrary = true 
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
        /*manifestPlaceholders = [onesignal_app_id: "bddacd3f-7812-4a29-b038-ebf844c9826d",
                                onesignal_google_project_number: "712648705913"]*/
        manifestPlaceholders = [onesignal_app_id: "bddacd3f-7812-4a29-b038-ebf844c9826d",
                                onesignal_google_project_number: "712648705914"]
    }
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    }
    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk true  // If true, also generate a universal APK
            include "armeabi-v7a", "x86"
        }
    }
    buildTypes {
        release {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
            signingConfig signingConfigs.release
        }
    }
    // 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 project(':react-native-contacts')
    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 project(':react-native-navigation')
    compile project(':react-native-vector-icons')
    compile project(':react-native-fetch-blob')
    compile project(':react-native-photo-view')
    compile project(':react-native-i18n')
    compile project(':react-native-sqlite-storage')
    compile project(':react-native-linear-gradient')
    compile project(':react-native-image-crop-picker')
    compile project(':react-native-sound')
    compile project(':react-native-open-settings')

}

// 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'
}

@aspidvip Esto significa que el nivel de API de Android en react-native-onesignal/build.gradle y en su app/build.gradle probablemente no coincida. Sugeriría cambiar el nivel de API de su aplicación para que sea:

    compileSdkVersion 23
    buildToolsVersion "23.0.1"

Lo que más importa es que coincidan . También puede ingresar a react-native-onesignal/build.gradle y cambiarlo para que sea lo que desee.

coincidir con los archivos build.gradle no lo solucionó

@ hamadasamir85 No tengo idea de cómo se ve su entorno, qué dependencias está utilizando, etc. Hasta ahora, aspidvip es la única persona que publica su build.gradle y otros detalles. Este es un problema amplio y puede tener muchas causas potenciales. Publique algunos de los mismos detalles que le pedí a aspidvip.

@aspidvip Por favor, avíseme si la coincidencia de las versiones funciona / no funciona, y también avíseme qué niveles de API de Android probó / no probó.

Y, francamente, sería de gran ayuda si pudiera enviar un proyecto de demostración que reproduzca este problema.

Mismo problema:

En un nuevo proyecto nativo de react

package.json

`` `` {
"nombre": "myapp",
"versión": "0.0.1",
"privado": verdadero,
"guiones": {
"inicio": "nodo node_modules / react-native / local-cli / cli.js start",
"prueba": "broma"
},
"dependencias": {
"reaccionar": "16.3.1",
"react-native": "0.55.4",
"react-native-onesignal": "^ 3.2.4"
},
"devDependencies": {
"babel-jest": "22.4.4",
"babel-preset-react-native": "4.0.0",
"broma": "22.4.4",
"react-test-renderer": "16.3.1"
},
"broma": {
"preset": "react-native"
}
}

`` ``

logcat

`` ``
05-23 23: 08: 46.555 12785-12785 /? E / cigoto: v2
05-23 23: 08: 46.555 12785-12785 /? I / libpersona: KNOX_SDCARD comprobando esto para 10304
KNOX_SDCARD no es una persona
05-23 23: 08: 46.557 12785-12785 /? E / Zygote: accessInfo: 0
05-23 23: 08: 46.558 12785-12785 /? W / SELinux: SELinux selinux_android_compute_policy_index: Policy Index [2], Con: u : r : zygote : s0 SPD: SEPF_SECMOBILE_7.0_0006 RAM: SEPF_SECMOBILE_7.0_0009 , [-1
05-23 23: 08: 46.561 12785-12785 /? I / SELinux: SELinux: seapp_context_lookup: seinfo = no confiable, nivel = s0: c512, c768, pkgname = app.myapp
05-23 23: 08: 46.569 12785-12785 /? I / art: habilitación tardía -
05-23 23: 08: 46.623 12785-12785 /? D / TimaKeyStoreProvider: TimaSignature no está disponible
05-23 23: 08: 46.624 12785-12785 /? D / ActivityThread: proveedor TimaKeyStore agregado
05-23 23: 08: 46.735 12785-12785 / app.myapp D / ContextRelationMgrBrdg: loadKlass (): caller = com.samsung.android.bridge.multiscreen.common.ContextRelationManagerBridge.: 28 Aplicación android.app.LoadedApk.makeAp
05-23 23: 08: 46.748 12785-12785 / app.myapp I / FirebaseInitProvider: Inicialización de FirebaseApp incorrecta
05-23 23: 08: 46.753 12785-12785 / app.myapp V / fb-UnpackingSoSource: tienda dso bloqueada /data/user/0/app.myapp/lib-main
05-23 23: 08: 46.756 12785-12785 / app.myapp V / fb-UnpackingSoSource: desajuste deps en la tienda deps: regenerando
así que almacénelo sucio: regenerando
05-23 23: 08: 46.817 12785-12785 / app.myapp D / ApkSoSource: no permite la consideración de lib / armeabi-v7a / libfb.so: difiere a libdir
no permitir la consideración de lib / armeabi-v7a / libfolly_json.so: diferir a libdir
05-23 23: 08: 46.817 12785-12785 / app.myapp D / ApkSoSource: no permite la consideración de lib / armeabi-v7a / libglog.so: difiere a libdir
no permitir la consideración de lib / armeabi-v7a / libglog_init.so: diferir a libdir
no permitir la consideración de lib / armeabi-v7a / libgnustl_shared.so: diferir a libdir
no permitir la consideración de lib / armeabi-v7a / libicu_common.so: diferir a libdir
05-23 23: 08: 46.818 12785-12785 / app.myapp D / ApkSoSource: no permite la consideración de lib / armeabi-v7a / libimagepipeline.so: difiere a libdir
no permitir la consideración de lib / armeabi-v7a / libjsc.so: diferir a libdir
no permitir la consideración de lib / armeabi-v7a / libprivatedata.so: diferir a libdir
no permitir la consideración de lib / armeabi-v7a / libreactnativejni.so: diferir a libdir
no permitir la consideración de lib / armeabi-v7a / libyoga.so: diferir a libdir
05-23 23: 08: 46.818 12785-12785 / app.myapp V / fb-UnpackingSoSource: regeneración de la tienda DSO com.facebook.soloader.ApkSoSource
05-23 23: 08: 46.819 12785-12785 / app.myapp V / fb-UnpackingSoSource: trabajador de sincronizador inicial
05-23 23: 08: 46.836 12785-12785 / app.myapp V / fb-UnpackingSoSource: liberación del bloqueo de la tienda dso para /data/user/0/app.myapp/lib-main (desde el hilo del sincronizador)
no liberar el bloqueo de la tienda dso para /data/user/0/app.myapp/lib-main (se inició el hilo de sincronización)
05-23 23: 08: 46.914 12785-12785 / app.myapp D / ReactNative: ReactInstanceManager.ctor ()
05-23 23: 08: 46.936 12785-12785 / app.myapp D / NetworkSecurityConfig: No se ha especificado ninguna configuración de seguridad de red, utilizando la plataforma predeterminada
05-23 23: 08: 46.988 12785-12785 / app.myapp D / SensorManager: registerListener :: 0, Sensor de aceleración K6DS3TR, 66667, 0,
05-23 23: 08: 47.027 12785-12785 / app.myapp D / ReactNative: ReactInstanceManager.createReactContextInBackground ()
ReactInstanceManager.recreateReactContextInBackgroundInner ()
05-23 23: 08: 47.066 12785-12851 / app.myapp W / unknown: InspectorPackagerConnection : No se pudo conectar al empaquetador, lo reintentará silenciosamente
05-23 23: 08: 47.117 12785-12785 / app.myapp D / InputTransport: Canal de entrada construido: fd = 65
05-23 23: 08: 47.118 12785-12785 / app.myapp D / ViewRootImpl @ 5e04455 [MainActivity]: setView = DecorView @ 40d2e6a [MainActivity] touchMode = true
05-23 23: 08: 47.125 12785-12785 / app.myapp D / SensorManager: unregisterListener ::
05-23 23: 08: 47.145 12785-12785 / app.myapp D / SensorManager: registerListener :: 0, Sensor de aceleración K6DS3TR, 66667, 0,
05-23 23: 08: 47.207 12785-12853 / app.myapp I / OpenGLRenderer: EGL inicializado, versión 1.4
05-23 23: 08: 47.207 12785-12853 / app.myapp D / OpenGLRenderer: comportamiento de intercambio 1
05-23 23: 08: 47.229 12785-12853 / app.myapp D / libGLESv1: STS_GLApi: DTS no está permitido para Paquete: app.myapp
05-23 23: 08: 47.232 12785-12853 / app.myapp D / mali_winsys: EGLint new_window_surface (egl_winsys_display , void , EGLSurface, EGLConfig, egl_winsys_surface , egl_color_buffer_format , EGL 0x3000, - )05-23 23: 08: 47.255 12785-12785 / app.myapp D / InputTransport: Canal de entrada construido: fd = 7105-23 23: 08: 47.255 12785-12785 / app.myapp D / ViewRootImpl @ 5c120c2 [Po pupWindow: 2eda90d ]: setView = android.widget.PopupWindow $ PopupDecorView {3423ed3 VE ..... ...... I.


void) Devuelve 0x3000, [1440x93] - Formato: 1
05-23 23: 08: 47.550 12785-12785 / app.myapp D / ViewRootImpl @ 5c120c2 [Po pupWindow: 2eda90d ]: MSG_RESIZED_REPORT: ci = Rect (0, 0 - 0, 0) vi = Rect (0, 0 - 0 , 0) o = 1
05-23 23: 08: 48.641 12785-12785 / app.myapp D / ViewRootImpl @ 5c120c2 [Po pupWindow: 2eda90d ]: dispatchDetachedFromWindow
05-23 23: 08: 48.670 12785-12785 / app.myapp D / InputTransport: Canal de entrada destruido: fd = 71
05-23 23: 08: 48.671 12785-12785 / app.myapp D / ReactNative: ReactInstanceManager.onJSBundleLoadedFromServer ()
05-23 23: 08: 48.672 12785-12785 / app.myapp D / ReactNative: ReactInstanceManager.recreateReactContextInBackground ()
05-23 23: 08: 48.673 12785-12785 / app.myapp D / ReactNative: ReactInstanceManager.runCreateReactContextOnNewThread ()
05-23 23: 08: 48.697 12785-13022 / app.myapp I / art: Thread [25, tid = 13022, Native, Thread * = 0xdeac1600, peer = 0x12cdf5e0, "Thread-5"] intento recursivo de cargar la biblioteca " /data/app/app.myapp-2/lib/arm/libfb.so "
05-23 23: 08: 48.699 12785-13022 / app.myapp D / ReactNative: ReactInstanceManager.createReactContext ()
05-23 23: 08: 48.711 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.art.ARTGroupViewManager
05-23 23: 08: 48.713 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.art.ARTGroupShadowNode
05-23 23: 08: 48.717 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.art.ARTShapeViewManager
No se pudo encontrar el setter generado para la clase com.facebook.react.views.art.ARTShapeShadowNode
05-23 23: 08: 48.720 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.art.ARTTextViewManager
No se pudo encontrar el setter generado para la clase com.facebook.react.views.art.ARTTextShadowNode
05-23 23: 08: 48.722 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.checkbox.ReactCheckBoxManager
05-23 23: 08: 48.729 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.uimanager.LayoutShadowNode
05-23 23: 08: 48.740 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.picker.ReactDialogPickerManager
05-23 23: 08: 48.744 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.drawer.ReactDrawerLayoutManager
05-23 23: 08: 48.749 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.picker.ReactDropdownPickerManager
05-23 23: 08: 48.750 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.scroll.ReactHorizontalScrollViewManager
05-23 23: 08: 48.762 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.scroll.ReactHorizontalScrollContainerViewManager
05-23 23: 08: 48.764 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.progressbar.ReactProgressBarViewManager
05-23 23: 08: 48.767 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.progressbar.ProgressBarShadowNode
05-23 23: 08: 48.769 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.scroll.ReactScrollViewManager
05-23 23: 08: 48.776 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.slider.ReactSliderManager
05-23 23: 08: 48.780 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.slider.ReactSliderManager $ ReactSliderShadowNode
05-23 23: 08: 48.781 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.switchview.ReactSwitchManager
05-23 23: 08: 48.784 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.switchview.ReactSwitchManager $ ReactSwitchShadowNode
05-23 23: 08: 48.785 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.toolbar.ReactToolbarManager
05-23 23: 08: 48.791 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.webview.ReactWebViewManager
05-23 23: 08: 48.797 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.swiperefresh.SwipeRefreshLayoutManager
05-23 23: 08: 48.802 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.art.ARTSurfaceViewManager
05-23 23: 08: 48.803 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.art.ARTSurfaceViewShadowNode
05-23 23: 08: 48.804 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageViewManager
05-23 23: 08: 48.805 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageShadowNode
05-23 23: 08: 48.807 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.image.ReactImageManager
05-23 23: 08: 48.814 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.modal.ReactModalHostManager
05-23 23: 08: 48.817 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.modal.ModalHostShadowNode
05-23 23: 08: 48.818 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.text.ReactRawTextManager
05-23 23: 08: 48.820 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.text.ReactRawTextShadowNode
05-23 23: 08: 48.822 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.textinput.ReactTextInputManager
05-23 23: 08: 48.835 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.textinput.ReactTextInputShadowNode
05-23 23: 08: 48.841 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.text.ReactTextViewManager
05-23 23: 08: 48.847 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.text.ReactTextShadowNode
05-23 23: 08: 48.848 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.view.ReactViewManager
05-23 23: 08: 48.857 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el establecedor generado para la clase com.facebook.react.views.viewpager.ReactViewPagerManager
05-23 23: 08: 48.862 12785-13022 / app.myapp W / unknown: ViewManagerPropertyUpdater : No se pudo encontrar el setter generado para la clase com.facebook.react.views.text.ReactVirtualTextViewManager
No se pudo encontrar el setter generado para la clase com.facebook.react.views.text.ReactVirtualTextShadowNode
05-23 23: 08: 48.885 12785-13022 / app.myapp D / ReactNative: Inicializando React Xplat Bridge.
05-23 23: 08: 48.890 12785-13022 / app.myapp D / ReactNative: Inicializando React Xplat Bridge antes de initializeBridge
05-23 23: 08: 48.905 12785-13022 / app.myapp D / ReactNative: Inicializando React Xplat Bridge después de initializeBridge
CatalystInstanceImpl.runJSBundle ()
05-23 23: 08: 48.906 12785-13054 / app.myapp D / ReactNative: ReactInstanceManager.setupReactContext ()
CatalystInstanceImpl.initialize ()
05-23 23: 08: 48.907 12785-13054 / app.myapp D / ReactNative: ReactInstanceManager.attachRootViewToInstance ()
05-23 23: 08: 48.907 12785-12785 / app.myapp W / unknown: ReactNative : Conexión del empaquetador ya abierta, nooping.
05-23 23: 08: 49.512 12785-13054 / app.myapp I / WebViewFactory: Cargando com.android.chrome versión 66.0.3359.158 (código 335915852)
05-23 23: 08: 49.675 12785-13054 / app.myapp I / cr_LibraryLoader: Tiempo para cargar bibliotecas nativas: 13 ms (marcas de tiempo 3227-3240)
05-23 23: 08: 49.704 12785-13054 / app.myapp I / chromium: [ INFO: library_loader_hooks.cc (36)] detalle predeterminado = 0
05-23 23: 08: 49.705 12785-13054 / app.myapp I / cr_LibraryLoader: Número de versión de biblioteca nativa esperado "66.0.3359.158", número de versión de biblioteca nativa real "66.0.3359.158"
05-23 23: 08: 49.994 12785-13053 / app.myapp I / ReactNativeJS: Ejecución de la aplicación "myapp" con appParams: {"rootTag": 1}. __DEV__ === verdadero, la advertencia de nivel de desarrollo está ACTIVADA, las optimizaciones de rendimiento están DESACTIVADAS
05-23 23: 08: 50.096 12785-13054 / app.myapp E / onesignal: No se puede inicializar el SDK de OneSignal porque la actividad es nula verdadera o oneSignalInitDonefalse
05-23 23: 09: 03.299 12785-12798 / app.myapp I / art: Barrido de marca concurrente pegajoso de fondo GC liberado 22289 (2MB) Objetos AllocSpace, 21 (484KB) objetos LOS, 15% libre, 16MB / 19MB, en pausa 904us total 119.769ms
05-23 23: 09: 21.462 12785-12785 / app.myapp W / unknown: ReactNative : La conexión del Packager ya está abierta, nooping.
05-23 23: 09: 21.618 12785-12785 / app.myapp D / ViewRootImpl @ 5e04455 [MainActivity]: MSG_RESIZED_REPORT: ci = Rect (0, 0 - 0, 0) vi = Rect (0, 0 - 0, 0) o = 1
05-23 23: 09: 21.856 12785-12785 / app.myapp D / ViewRootImpl @ 5e04455 [MainActivity]: MSG_RESIZED: ci = Rect (0, 84 - 0, 0) vi = Rect (0, 84 - 0, 0) o = 1
05-23 23: 09: 21.894 12785-12785 / app.myapp D / ViewRootImpl @ 5e04455 [MainActivity]: MSG_WINDOW_FOCUS_CHANGED 1
05-23 23: 09: 21.904 12785-12785 / app.myapp V / InputMethodManager: Entrada inicial: tba = android.view.inputmethod. EditorInfo @ 95c25a2 nm: app.myapp ic = null
05-23 23: 09: 21.904 12785-12785 / app.myapp I / InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus
05-23 23: 09: 22.052 12785-12799 / app.myapp D / InputTransport: Canal de entrada construido: fd = 86
05-23 23: 09: 22.053 12785-12785 / app.myapp V / InputMethodManager: Entrada inicial: tba = android.view.inputmethod. EditorInfo @ dcef9f0 nm: app.myapp ic = null
05-23 23: 09: 23.373 12785-12791 / app.myapp I / art: Hacer colección de caché de código parcial, código = 30KB, datos = 30KB
05-23 23: 09: 23.374 12785-12791 / app.myapp I / art: después de la recopilación de caché de código, código = 30 KB, datos = 30 KB
Aumento de la capacidad de caché de código a 128 KB
05-23 23: 09: 51.860 12785-12785 / app.myapp V / InputMethodManager: Entrada inicial: tba = android.view.inputmethod. EditorInfo @ 642c97f nm: app.myapp ic = null
05-23 23: 09: 51.861 12785-12785 / app.myapp I / InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus
05-23 23: 09: 51.871 12785-12785 / app.myapp D / InputTransport: Canal de entrada construido: fd = 83
Canal de entrada destruido: fd = 86
05-23 23: 09: 52.285 12785-12785 / app.myapp D / SensorManager: unregisterListener ::
05-23 23: 09: 52.726 12785-12785 / app.myapp V / InputMethodManager: Entrada inicial: tba = android.view.inputmethod. EditorInfo @ dc47e9b nm: app.myapp ic = null
05-23 23: 09: 52.726 12785-12785 / app.myapp I / InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus
05-23 23: 09: 52.727 12785-12785 / app.myapp D / InputTransport: Canal de entrada destruido: fd = 83
05-23 23: 09: 52.807 12785-12785 / app.myapp D / ViewRootImpl @ 5e04455 [MainActivity]: MSG_RESIZED_REPORT: ci = Rect (0, 0 - 0, 0) vi = Rect (0, 0 - 0, 0) o = 1
05-23 23: 09: 52.888 12785-12785 / app.myapp D / ViewRootImpl @ 5e04455 [MainActivity]: MSG_WINDOW_FOCUS_CHANGED 0
05-23 23: 13: 47.153 12785-12798 / app.myapp I / art: Barrido parcial de marcas simultáneas en segundo plano GC liberado 60244 (2 MB) objetos AllocSpace, 9 objetos LOS (3 MB), 40% libre, 12 MB / 21 MB, 764us en pausa total 105.326ms

`` ``

App.js

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * <strong i="7">@flow</strong>
 */

import React, { Component } from 'react';
import {
  Platform,
  StyleSheet,
  Text,
  View
} from 'react-native';
import OneSignal from 'react-native-onesignal';



const instructions = Platform.select({
  ios: 'Press Cmd+R to reload...,\n' +
    'Cmd+D or shake for dev menu',
  android: 'Double tap R on your keyboard to reload,\n' +
    'Shake or press menu button for dev menu',
});

type Props = {};
export default class App extends Component<Props> {

    componentWillMount() {
        OneSignal.init("1c25f475-8b98-487d-8358-b3934f9bff64");
        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);
    }
    onIds=(deviceId)=> {
        console.log('Device info: ', deviceId);
    }
    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);
    }

  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
        <Text style={styles.instructions}>
          To get started, edit App.js
        </Text>
        <Text style={styles.instructions}>
          {instructions}
        </Text>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
});


build.gradle

`` ``
aplicar complemento: "com.android.application"

import com.android.build.OutputFile

/ **

  • El archivo react.gradle registra una tarea para cada variante de compilación (por ejemplo, bundleDebugJsAndAssets
  • y bundleReleaseJsAndAssets).
  • Básicamente, llaman a react-native bundle con los argumentos correctos durante la compilación de Android
  • ciclo. De forma predeterminada, se omite bundleDebugJsAndAssets, ya que en el modo debug / dev preferimos cargar el
  • empaquetar directamente desde el servidor de desarrollo. A continuación puedes ver todas las configuraciones posibles
  • y sus incumplimientos. Si decide agregar un bloque de configuración, asegúrese de agregarlo antes del
  • apply from: "../../node_modules/react-native/react.gradle" línea.
    *
  • project.ext.react = [
  • // el nombre del archivo de activos generado que contiene su paquete JS
  • bundleAssetName: "index.android.bundle",
    *
  • // el archivo de entrada para la generación de paquetes
  • entryFile: "index.android.js",
    *
  • // si agrupar JS y activos en modo de depuración
  • bundleInDebug: falso,
    *
  • // si agrupar JS y activos en modo de lanzamiento
  • bundleInRelease: cierto,
    *
  • // si agrupar JS y activos en otra variante de compilación (si está configurada).
  • // Ver http://tools.android.com/tech-docs/new-build-system/user-guide#TOC -Build-Variants
  • // La propiedad de configuración puede estar en los siguientes formatos
  • // 'bundleIn $ {productFlavor} $ {buildType}'
  • // 'bundleIn $ {buildType}'
  • // bundleInFreeDebug: true,
  • // bundleInPaidRelease: true,
  • // bundleInBeta: true,
    *
  • // si se debe deshabilitar el modo de desarrollo en variantes de compilación personalizadas (de forma predeterminada, solo se deshabilita en la versión)
  • // por ejemplo: para deshabilitar el modo de desarrollo en el tipo de construcción provisional (si está configurado)
  • devDisabledInStaging: verdadero,
  • // La propiedad de configuración puede estar en los siguientes formatos
  • // 'devDisabledIn $ {productFlavor} $ {buildType}'
  • // 'devDisabledIn $ {buildType}'
    *
  • // la raíz de su proyecto, es decir, donde vive "package.json"
  • raíz: "../../",
    *
  • // dónde poner el activo del paquete JS en modo de depuración
  • jsBundleDirDebug: "$ buildDir / intermedios / assets / debug",
    *
  • // dónde poner el activo del paquete JS en modo de lanzamiento
  • jsBundleDirRelease: "$ buildDir / intermedios / assets / release",
    *
  • // dónde colocar los recursos dibujables / activos React Native, por ejemplo, los que usa a través de
  • // require ('./ image.png')), en modo de depuración
  • resourcesDirDebug: "$ buildDir / intermediates / res / merged / debug",
    *
  • // dónde colocar los recursos dibujables / activos React Native, por ejemplo, los que usa a través de
  • // require ('./ image.png')), en modo de lanzamiento
  • resourcesDirRelease: "$ buildDir / intermediates / res / merged / release",
    *
  • // de forma predeterminada, las tareas de Gradle se omiten si ninguno de los archivos o activos JS cambia; esto significa
  • // que no miramos archivos en android / o ios / para determinar si las tareas están a la altura
  • // fecha; si tiene otras carpetas que desea ignorar por razones de rendimiento (gradle
  • // indexa todo el árbol), agréguelos aquí. Alternativamente, si tiene archivos JS en Android /
  • // por ejemplo, es posible que desee eliminarlo de aquí.
  • inputExcludes: ["android / ", "ios / "],
    *
  • // anula qué nodo se llama y con qué argumentos adicionales
  • nodeExecutableAndArgs: ["nodo"],
    *
  • // proporcionar argumentos adicionales al empaquetador
  • extraPackagerArgs: []
  • ]
    * /

project.ext.react = [
entryFile: "index.js"
]

aplicar desde: "../../node_modules/react-native/react.gradle"

/ **

  • Establezca esto en verdadero para crear dos APK separados en lugar de uno:

    • Un APK que solo funciona en dispositivos ARM


    • Un APK que solo funciona en dispositivos x86

  • La ventaja es que el tamaño del APK se reduce en aproximadamente 4 MB.
  • Sube todos los APK a Play Store y la gente los descargará.
  • el correcto en función de la arquitectura de CPU de su dispositivo.
    * /
    def enableSeparateBuildPerCPUArchitecture = false

/ **

  • Ejecute Proguard para reducir el código de bytes de Java en las versiones de lanzamiento.
    * /
    def enableProguardInReleaseBuilds = false

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
    applicationId "app.myapp"
    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
        }
    }
}

}

dependencias {
compilar proyecto (': react-native-onesignal')
compilar fileTree (dir: "libs", incluir: ["* .jar"])
compile "com.android. support: appcompat-v7 : 23.4.0"
compilar "com.facebook. react: react-native : +" // Desde node_modules
}

// Ejecuta esto una vez para poder ejecutar la aplicación con BUCK
// pone todas las dependencias de compilación en carpetas libs para que las use BUCK
tarea copyDownloadableDepsToLibs (tipo: Copiar) {
de configurations.compile
en 'libs'
}

`` ``
Por cierto, protagonizo un proyecto nuevo porque era imposible hacerlo funcionar en un proyecto existente.

Para cualquiera que también tenga este problema, generalmente se debe a la pila de navegación particular de su aplicación. Por lo general, se puede solucionar mediante la inicialización nativa del SDK como se indicó anteriormente en @urbancvek . Tenga en cuenta que el SDK todavía admite la inicialización nativa (sin usar JS), no tiene que volver a 3.1.4.

@ cesarve77 @aspidvip ¿ MainApplication.java ?

Sí, pero soy nuevo en One Signal y no pude encontrar la documentación.

2018-06-09 12:03 GMT + 10: 00 Brad Hesse [email protected] :

@urbancvek https://github.com/urbancvek, tenga en cuenta que el SDK todavía
admite la inicialización nativa (sin usar JS), no tiene que ir
volver a 3.1.4.

-
Estás recibiendo esto porque hiciste un comentario.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/geektimecoil/react-native-onesignal/issues/516#issuecomment-395931945 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/ADyXp8VcHWtSuGuhqu6GAmhuwEAs28yJks5t6y0MgaJpZM4UFgCX
.

Lo haré después.

2018-06-12 11:19 GMT + 10: 00 Brad Hesse [email protected] :

@ cesarve77 https://github.com/cesarve77 @aspidvip
https://github.com/aspidvip ¿Puede alguno de ustedes publicar su
MainApplication.java?

-
Recibes esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/geektimecoil/react-native-onesignal/issues/516#issuecomment-396435196 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/ADyXp85jPYJ5TPNv7xwQt_3CoZ-rNvsuks5t7xcSgaJpZM4UFgCX
.

Intenté actualizar y utilizar las nuevas instrucciones del nuevo archivo Léame. Después de algunos intentos,
finalmente decidió volver a "react-native-onesignal": "3.0.7", y todo funciona como antes.

Probé 3.2.4, 3.2.3 ... y cada vez tuve un problema. Así que elegí la versión de uno de mis otros proyectos.

Para reanudar tengo la implementación anterior (lado nativo) https://github.com/geektimecoil/react-native-onesignal/blob/732491fece1fa92946ca6dacf173af28a2b2e618/README.md y llamo OneSignal.configure() en mi código javascript, en mi caso de que esté en mi tienda mobx una vez que el usuario haya iniciado sesión en la aplicación.

Emisión en 3.2.3: Unable to initialize the OneSignal SDK because activity is null true or oneSignalInitDonefalse
Emisión en 3.2.4: You must initialize OneSignal before getting tags! Moving this tag operation to a pending queue.

@nicovak, eso probablemente significa que está usando alguna dependencia como react-native-navigation (así como algunas otras) que hacen que la actividad inicial pasada a nuestro SDK sea nula automáticamente.

Estamos trabajando en una solución para esto, mientras tanto, rebajar a 3.0.7 es una buena idea si está experimentando este problema en particular.

@ Nightsd01 sí, estoy usando react-native-router-flux que depende de react-navigation , después de algunas búsquedas finalmente lo hago funcionar como se esperaba.

Declaré el detector de eventos en mi App.js (incluido en index.js), estos oyentes actualizan mi tienda con los valores deseados. Así puedo llamar a funciones fácilmente cuando lo necesito. Antes de que se declararan los oyentes de eventos en mi tienda.
Pongo un ejemplo de código si alguien tiene el mismo caso.

También tuve un pequeño problema cuando se cerró la aplicación: no recibí el evento opened . Solo funcionaba si la aplicación estaba en segundo plano, con el código de arriba, todo funciona bien.

En mi App.js

import OneSignal from "react-native-onesignal";

OneSignal.configure({});
OneSignal.addEventListener("opened", openResult => {
  AppStore.handleOpenIfAppClosed(openResult);
});
OneSignal.addEventListener("ids", device => {
  AppStore.handleUserId(device);
});

<strong i="14">@observer</strong>
export default class App extends Component {

En mi tienda

  handleOpenIfAppClosed(openResult) {
    this.pendingNotificationRequest = openResult;
  }

  handleUserId(device) {
    this.userId = device.userId;
  }

@nicovak ¿Cómo solucionaste el problema principal (la actividad es nula)?

Además, con el problema opened ... ¿está seguro de que todavía está usando la última versión de react-native-onesignal ? Este es un problema que se solucionó hace un tiempo.

@ Nightsd01 No estoy usando la última versión (3.0.7), así es como soluciono la actividad es un problema nulo.
Como dije que tenía:

Problema en 3.2.3: No se puede inicializar el SDK de OneSignal porque la actividad es nula verdadera o oneSignalInitDonefalse

Problema en 3.2.4: ¡Debe inicializar OneSignal antes de obtener etiquetas! Mover esta operación de etiqueta a una cola pendiente.

@nicovak Puede ignorar esa advertencia en 3.2.4. Significa lo que dice: su aplicación de alguna manera está llamando a getTags() antes de que se realice la inicialización. Sin embargo, es solo una advertencia, porque seguirá funcionando bien.

Si ese es el único problema que tiene en 3.2.4, le recomendaría encarecidamente actualizar a 3.2.4, ya que soluciona muchos problemas que estaban presentes en 3.0.7.

@ Nightsd01 Ok, gracias, lo intentaré mañana con mi configuración actual 👍

@ Nightsd01 Traté de actualizar a 3.2.4 nuevamente, pero fue imposible que funcionara. Probé la inicialización nativa y la inicialización de JavaScript. Puse el código en la aplicación componentWillMount y afuera, pero nada funcionó.
Pasé suficiente tiempo en eso, lo siento, probaré ^ 3.2.4 en un próximo proyecto.

Descubrí qué está causando este problema @aspidvip @nicovak , se resuelve en un nuevo PR. Debería incluirse en un comunicado hoy o mañana.

@ Nightsd01 Muchas gracias, rock. Lo actualizaré y probaré el próximo lunes si está disponible.

¡Se ha lanzado la nueva actualización (3.2.5)! Si alguien más encuentra un problema similar, publíquelo aquí y estaremos encantados de investigar.

Tengo el problema nuevamente con la versión 0.56 de react native.
Debo estar en 27 ? Docs dice que 26 debería estar funcionando, ¿verdad?

    buildToolsVersion = "26.0.3"
    minSdkVersion = 16
    compileSdkVersion = 26
    targetSdkVersion = 26
    supportLibVersion = "26.1.0"
07-31 15:01:50.077 7068-7224/com.*************** I/art: Rejecting re-init on previously-failed class java.lang.Class<com.onesignal.OneSignalChromeTab$OneSignalCustomTabsServiceConnection>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/customtabs/CustomTabsServiceConnection;
        at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
        at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
        at void java.lang.Thread.run() (Thread.java:776)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.customtabs.CustomTabsServiceConnection" on path: DexPathList[[zip file "/data/app/com..***************-2/base.apk"],nativeLibraryDirectories=[/data/app/com..***************-2/lib/arm, /data/app/com..***************-2/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib, /system/vendor/lib, /product/lib]]
        at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
        at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
        at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
        at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
        at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
        at void java.lang.Thread.run() (Thread.java:776)
¿Fue útil esta página
0 / 5 - 0 calificaciones