React-native-onesignal: (Android) E/onesignal : impossible d'initialiser le SDK OneSignal car l'activité est null true ou oneSignalInitDonefalse

Créé le 19 mai 2018  ·  30Commentaires  ·  Source: OneSignal/react-native-onesignal

Salut!
"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. travailler sur iOS

  2. ne fonctionne pas sur Android

Commentaire le plus utile

J'ai résolu en utilisant simplement react-native-onesignal:3.1.4 . Il s'initialise à l'aide de :

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"]
    }

et c'est tout. Bien plus simple que de le faire du côté JS si vous utilisez la navigation react-native.

Tous les 30 commentaires

1

@aspidvip pouvez-vous s'il vous plaît fournir plus de détails? Cette erreur lève-t-elle une exception et se bloque-t-elle, ou ne fonctionne-t-elle tout simplement pas (pas d'identifiant de joueur, impossible de recevoir des notifications push, etc.) ? Quels sont les symptômes?

J'ai eu ce problème également. Je pense que c'est à cause de la navigation native. Il lance une autre activité juste après le lancement de l'application. Si vous appelez OneSignal.init() entre-temps, cela indique que l'activité est nulle - l'erreur que vous avez.

Si vous attendez quelques secondes avant d'appeler OneSignal.init() cela fonctionne mais vous obtenez une autre erreur. Celui avec FirebaseApp non initialisé. Numéro #515. En espérant une solution ou une solution de contournement pour cela aussi...

J'ai résolu en utilisant simplement react-native-onesignal:3.1.4 . Il s'initialise à l'aide de :

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"]
    }

et c'est tout. Bien plus simple que de le faire du côté JS si vous utilisez la navigation react-native.

pas d'identifiant de joueur, impossible de recevoir des notifications push !

@urbancvek Cette même technique d'initialisation (en utilisant AppDelegate pour iOS et gradle pour Android) fonctionne également dans 3.2.3

@aspidvip C'est un problème très vaste, cela pourrait être n'importe quoi. Il s'agit probablement d'un problème lié à la navigation native et à la synchronisation de votre initialisation OneSignal

J'ai fait

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

mais non pas d'identifiant de joueur, impossible de recevoir des notifications push !

@aspidvip peux-tu poster ton build.gradle ? Ce serait certainement un problème de dépendance.

En outre, vous pouvez essayer d'accéder au fichier react-native-onesignal/build.gradle et mettre à jour le SDK Android OneSignal vers la version 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 Cela signifie que le niveau de l'API Android dans react-native-onesignal/build.gradle et dans votre app/build.gradle ne correspond probablement pas. Je suggérerais de changer le niveau d'API de votre application pour qu'il soit :

    compileSdkVersion 23
    buildToolsVersion "23.0.1"

Ce qui compte le plus, c'est qu'ils correspondent . Vous pouvez également simplement entrer dans react-native-onesignal/build.gradle et le changer pour ce que vous voulez.

la correspondance avec les fichiers build.gradle ne l'a pas corrigé

@ hamadasamir85 Je n'ai aucune idée de l'apparence de votre environnement, des dépendances que vous utilisez, etc. Jusqu'à présent, aspidvip est la seule personne à publier son build.gradle et d'autres détails. Ce problème est vaste et peut avoir de nombreuses causes potentielles. S'il vous plaît poster quelques-uns des mêmes détails que j'ai demandé à aspidvip.

@aspidvip Veuillez me faire savoir si la correspondance des versions fonctionne / ne fonctionne pas, et faites-moi également savoir quels niveaux d'API Android vous avez essayés / n'avez pas essayés.

Et franchement, cela aiderait _vraiment_ si vous pouviez envoyer un projet de démonstration qui reproduit ce problème.

Même problème:

Sur un nouveau projet natif de réaction

package.json

````{
"nom": "monapplication",
"version": "0.0.1",
"privé": vrai,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "blague"
},
"dépendances": {
"réagir": "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",
"blague": "22.4.4",
"react-test-renderer": "16.3.1"
},
"blague": {
"preset": "react-native"
}
}

````

logcat

````
23/05 23:08:46.555 12785-12785/? E/Zygote : v2
23/05 23:08:46.555 12785-12785/? I/libpersona : KNOX_SDCARD vérifiant cela pour 10304
KNOX_SDCARD n'est pas un personnage
23/05 23:08:46.557 12785-12785/? E/Zygote : accessInfo : 0
23/05 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 -1 -9 -1 0 1]
23/05 23:08:46.561 12785-12785/? I/SELinux : SELinux : seapp_context_lookup : seinfo=untrusted, level=s0:c512,c768, pkgname=app.myapp
23/05 23:08:46.569 12785-12785/? I/art : activation tardive -
23/05 23:08:46.623 12785-12785/? D/TimaKeyStoreProvider : TimaSignature n'est pas disponible
05-23 23:08:46.624 12785-12785/? D/ActivityThread : Ajout du fournisseur TimaKeyStore
05-23 23:08:46.735 12785-12785/app.myapp D/ContextRelationMgrBrdg : loadKlass() : caller=com.samsung.android.bridge.multiscreen.common.ContextRelationManagerBridge.:28 android.app.LoadedApk.makeAp plication:840
05-23 23:08:46.748 12785-12785/app.myapp I/FirebaseInitProvider : échec de l'initialisation de FirebaseApp
05-23 23:08:46.753 12785-12785/app.myapp V/fb-UnpackingSoSource : magasin dso verrouillé /data/user/0/app.myapp/lib-main
05-23 23:08:46.756 12785-12785/app.myapp V/fb-UnpackingSoSource : incompatibilité deps sur le magasin deps : régénération
donc stocker sale : régénérant
05-23 23:08:46.817 12785-12785/app.myapp D/ApkSoSource : ne pas autoriser la prise en compte de lib/armeabi-v7a/libfb.so : se reporter à libdir
n'autorisant pas la prise en compte de lib/armeabi-v7a/libfolly_json.so : report à libdir
05-23 23:08:46.817 12785-12785/app.myapp D/ApkSoSource : ne pas autoriser la prise en compte de lib/armeabi-v7a/libglog.so : reporter à libdir
ne pas autoriser la prise en compte de lib/armeabi-v7a/libglog_init.so : se reporter à libdir
n'autorisant pas la prise en compte de lib/armeabi-v7a/libgnustl_shared.so : report à libdir
ne pas autoriser la prise en compte de lib/armeabi-v7a/libicu_common.so : se reporter à libdir
05-23 23:08:46.818 12785-12785/app.myapp D/ApkSoSource : ne pas autoriser la prise en compte de lib/armeabi-v7a/libimagepipeline.so : se reporter à libdir
ne pas autoriser la prise en compte de lib/armeabi-v7a/libjsc.so : se reporter à libdir
ne pas autoriser la prise en compte de lib/armeabi-v7a/libprivatedata.so : reporter à libdir
ne pas autoriser la prise en compte de lib/armeabi-v7a/libreactnativejni.so : se reporter à libdir
ne pas autoriser la prise en compte de lib/armeabi-v7a/libyoga.so : se reporter à libdir
05-23 23:08:46.818 12785-12785/app.myapp V/fb-UnpackingSoSource : régénération du magasin DSO com.facebook.soloader.ApkSoSource
05-23 23:08:46.819 12785-12785/app.myapp V/fb-UnpackingSoSource : démarrage du travailleur de synchronisation
05-23 23:08:46.836 12785-12785/app.myapp V/fb-UnpackingSoSource : libération du verrou du magasin dso pour /data/user/0/app.myapp/lib-main (à partir du fil de synchronisation)
ne pas libérer le verrou du magasin dso pour /data/user/0/app.myapp/lib-main (fil de synchronisation démarré)
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 : aucune configuration de sécurité réseau spécifiée, en utilisant la plate-forme par défaut
05-23 23:08:46.988 12785-12785/app.myapp D/SensorManager: registerListener :: 0, Capteur d'accélération 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 : Impossible de se connecter à l'empaqueteur, va réessayer en silence
05-23 23:08:47.117 12785-12785/app.myapp D/InputTransport : Canal d'entrée construit : 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, Capteur d'accélération K6DS3TR, 66667, 0,
05-23 23:08:47.207 12785-12853/app.myapp I/OpenGLRenderer : EGL initialisé, version 1.4
05-23 23:08:47.207 12785-12853/app.myapp D/OpenGLRenderer : Comportement d'échange 1
05-23 23:08:47.229 12785-12853/app.myapp D/libGLESv1 : STS_GLApi : DTS n'est pas autorisé pour le package : app.myapp
05-23 23: 08: 47,232 12785-12853 / app.myapp D / mali_winsys: EGLint new_window_surface (egl_winsys_display, nulle, EGLSurface, EGLConfig, egl_winsys_surface, egl_color_buffer_format, EGLBoolean) Les

0,0-0,0} touchMode=true05-23 23:08:47.256 12785-12785/app.myapp D/ ViewRootImpl@5e04455 [MainActivity] : MSG_RESIZED_REPORT : ci=Rect(0, 84 - 0, 0) vi=Rect(0, 84 - 0, 0) ou=1MSG_RESIZED_REPORT : ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) ou=105-23 23: 08: 47,536 12785-12853 / app.myapp D / mali_winsys: EGLint new_window_surface (egl_winsys_display, nulle, EGLSurface, EGLConfig, egl_winsys_surface, egl_color_buffer_format, EGLBoolean) Les retours 0x3000, [1440x93] - Format: 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) ou=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 d'entrée détruit : 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"] tentative récursive de chargement de la bibliothèque " /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 : Impossible de trouver le setter généré pour la classe com.facebook.react.views.art.ARTGroupViewManager
05-23 23:08:48.713 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.art.ARTGroupShadowNode
05-23 23:08:48.717 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.art.ARTShapeViewManager
Impossible de trouver le setter généré pour la classe com.facebook.react.views.art.ARTShapeShadowNode
05-23 23:08:48.720 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.art.ARTTextViewManager
Impossible de trouver le setter généré pour la classe com.facebook.react.views.art.ARTTextShadowNode
05-23 23:08:48.722 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.checkbox.ReactCheckBoxManager
05-23 23:08:48.729 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.uimanager.LayoutShadowNode
05-23 23:08:48.740 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.picker.ReactDialogPickerManager
05-23 23:08:48.744 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.drawer.ReactDrawerLayoutManager
05-23 23:08:48.749 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.picker.ReactDropdownPickerManager
05-23 23:08:48.750 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.scroll.ReactHorizontalScrollViewManager
05-23 23:08:48.762 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.scroll.ReactHorizontalScrollContainerViewManager
05-23 23:08:48.764 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.progressbar.ReactProgressBarViewManager
05-23 23:08:48.767 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.progressbar.ProgressBarShadowNode
05-23 23:08:48.769 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.scroll.ReactScrollViewManager
05-23 23:08:48.776 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.slider.ReactSliderManager
05-23 23:08:48.780 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.slider.ReactSliderManager$ReactSliderShadowNode
05-23 23:08:48.781 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.switchview.ReactSwitchManager
05-23 23:08:48.784 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.switchview.ReactSwitchManager$ReactSwitchShadowNode
05-23 23:08:48.785 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.toolbar.ReactToolbarManager
05-23 23:08:48.791 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.webview.ReactWebViewManager
05-23 23:08:48.797 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.swiperefresh.SwipeRefreshLayoutManager
05-23 23:08:48.802 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.art.ARTSurfaceViewManager
05-23 23:08:48.803 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.art.ARTSurfaceViewShadowNode
05-23 23:08:48.804 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageViewManager
05-23 23:08:48.805 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageShadowNode
05-23 23:08:48.807 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.image.ReactImageManager
05-23 23:08:48.814 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.modal.ReactModalHostManager
05-23 23:08:48.817 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.modal.ModalHostShadowNode
05-23 23:08:48.818 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.text.ReactRawTextManager
05-23 23:08:48.820 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.text.ReactRawTextShadowNode
05-23 23:08:48.822 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.textinput.ReactTextInputManager
05-23 23:08:48.835 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.textinput.ReactTextInputShadowNode
05-23 23:08:48.841 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.text.ReactTextViewManager
05-23 23:08:48.847 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.text.ReactTextShadowNode
05-23 23:08:48.848 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.view.ReactViewManager
05-23 23:08:48.857 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.viewpager.ReactViewPagerManager
05-23 23:08:48.862 12785-13022/app.myapp W/ unknown:ViewManagerPropertyUpdater : Impossible de trouver le setter généré pour la classe com.facebook.react.views.text.ReactVirtualTextViewManager
Impossible de trouver le setter généré pour la classe com.facebook.react.views.text.ReactVirtualTextShadowNode
05-23 23:08:48.885 12785-13022/app.myapp D/ReactNative : Initialisation de React Xplat Bridge.
05-23 23:08:48.890 12785-13022/app.myapp D/ReactNative : Initialisation de React Xplat Bridge avant initializeBridge
05-23 23:08:48.905 12785-13022/app.myapp D/ReactNative : initialisation de React Xplat Bridge après 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 : La connexion de l'empaqueteur est déjà ouverte, nooping.
05-23 23:08:49.512 12785-13054/app.myapp I/WebViewFactory : Chargement de la version com.android.chrome 66.0.3359.158 (code 335915852)
05-23 23:08:49.675 12785-13054/app.myapp I/cr_LibraryLoader : Temps de chargement des bibliothèques natives : 13 ms (horodatages 3227-3240)
05-23 23:08:49.704 12785-13054/app.myapp I/chromium : [ INFO:library_loader_hooks.cc (36)] Journalisation Chromium activée : niveau = 0, verbosité par défaut = 0
05-23 23:08:49.705 12785-13054/app.myapp I/cr_LibraryLoader : numéro de version de bibliothèque native attendu "66.0.3359.158", numéro de version de bibliothèque native réelle "66.0.3359.158"
05-23 23:08:49.994 12785-13053/app.myapp I/ReactNativeJS : Exécution de l'application "myapp" avec appParams : {"rootTag":1}. __DEV__ === true, les avertissements au niveau du développement sont activés, les optimisations de performances sont désactivées
05-23 23:08:50.096 12785-13054/app.myapp E/onesignal : impossible d'initialiser le SDK OneSignal car l'activité est null true ou oneSignalInitDonefalse
05-23 23:09:03.299 12785-12798/app.myapp I/art: Balayage de marque simultané persistant en arrière-plan GC libéré 22289 (2 Mo) objets AllocSpace, 21 (484 Ko) objets LOS, 15 % gratuits, 16 Mo/19 Mo, 904us en pause total 119.769ms
05-23 23:09:21.462 12785-12785/app.myapp W/ unknown:ReactNative : La connexion de l'outil de packaging est déjà ouverte, 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) ou=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) ou=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 : entrée de démarrage : 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 d'entrée construit : fd=86
05-23 23:09:22.053 12785-12785/app.myapp V/InputMethodManager : entrée de démarrage : tba=android.view.inputmethod. EditorInfo@dcef9f0 nm : app.myapp ic=null
05-23 23:09:23.373 12785-12791/app.myapp I/art : faire une collecte partielle du cache de code, code=30KB, data=30KB
05-23 23:09:23.374 12785-12791/app.myapp I/art : après la collecte du cache de code, code=30KB, data=30KB
Augmentation de la capacité du cache de code à 128 Ko
05-23 23:09:51.860 12785-12785/app.myapp V/InputMethodManager : entrée de démarrage : 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 d'entrée construit : fd=83
Canal d'entrée détruit : 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 : entrée de démarrage : 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 d'entrée détruit : 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) ou=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: Balayage de marque simultané partiel en arrière-plan GC libéré 60244 (2 Mo) objets AllocSpace, 9 (3 Mo) objets LOS, 40 % libre, 12 Mo/21 Mo, en pause 764us total 105,326 ms

````

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

````
appliquer le plugin : "com.android.application"

importer com.android.build.OutputFile

/**

  • Le fichier react.gradle enregistre une tâche pour chaque variante de build (par exemple bundleDebugJsAndAssets
  • et bundleReleaseJsAndAssets).
  • Ceux-ci appellent essentiellement react-native bundle avec les bons arguments lors de la construction d'Android
  • cycle. Par défaut, bundleDebugJsAndAssets est ignoré, car en mode debug/dev nous préférons charger le
  • bundle directement depuis le serveur de développement. Ci-dessous vous pouvez voir toutes les configurations possibles
  • et leurs valeurs par défaut. Si vous décidez d'ajouter un bloc de configuration, assurez-vous de l'ajouter avant le
  • apply from: "../../node_modules/react-native/react.gradle" .
    *
  • project.ext.react = [
  • // le nom du fichier d'asset généré contenant votre bundle JS
  • bundleAssetName : "index.android.bundle",
    *
  • // le fichier d'entrée pour la génération de bundle
  • fichier d'entrée : "index.android.js",
    *
  • // s'il faut regrouper JS et les actifs en mode débogage
  • bundleInDebug : faux,
    *
  • // s'il faut regrouper JS et les assets en mode release
  • bundleInRelease : vrai,
    *
  • // s'il faut regrouper JS et les actifs dans une autre variante de build (si configuré).
  • // Voir http://tools.android.com/tech-docs/new-build-system/user-guide#TOC -Build-Variants
  • // La propriété de configuration peut être dans les formats suivants
  • // 'bundleIn${productFlavor}${buildType}'
  • // 'bundleIn${buildType}'
  • // bundleInFreeDebug : vrai,
  • // bundleInPaidRelease : vrai,
  • // bundleInBeta : vrai,
    *
  • // s'il faut désactiver le mode dev dans les variantes de build personnalisées (par défaut uniquement désactivé dans la version)
  • // par exemple : pour désactiver le mode dev dans le type de build intermédiaire (si configuré)
  • devDisabledInStaging : vrai,
  • // La propriété de configuration peut être dans les formats suivants
  • // 'devDisabledIn${productFlavor}${buildType}'
  • // 'devDisabledIn${buildType}'
    *
  • // la racine de votre projet, c'est-à-dire où réside "package.json"
  • racine: "../../",
    *
  • // où mettre l'actif du bundle JS en mode débogage
  • jsBundleDirDebug : "$buildDir/intermediates/assets/debug",
    *
  • // où mettre l'asset bundle JS en mode release
  • jsBundleDirRelease : "$buildDir/intermediates/assets/release",
    *
  • // où mettre les ressources pouvant être dessinées / les actifs React Native, par exemple ceux que vous utilisez via
  • // require('./image.png')), en mode débogage
  • resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
    *
  • // où mettre les ressources pouvant être dessinées / React Native assets, par exemple ceux que vous utilisez via
  • // require('./image.png')), en mode release
  • resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
    *
  • // par défaut, les tâches de gradle sont ignorées si aucun des fichiers ou actifs JS ne change ; ça signifie
  • // que nous ne regardons pas les fichiers dans android/ ou ios/ pour déterminer si les tâches sont à la hauteur
  • // Date; si vous avez d'autres dossiers que vous souhaitez ignorer pour des raisons de performances (gradle
  • // indexe l'arbre entier), ajoutez-les ici. Alternativement, si vous avez des fichiers JS dans Android/
  • // par exemple, vous voudrez peut-être le supprimer d'ici.
  • inputExclut : ["android/ ", "ios/ "],
    *
  • // remplace quel nœud est appelé et avec quels arguments supplémentaires
  • nodeExecutableAndArgs : ["nœud"],
    *
  • // fournit des arguments supplémentaires au packager
  • extraPackagerArgs : []
  • ]
    */

project.ext.react = [
fichier d'entrée : "index.js"
]

appliquer à partir de : "../../node_modules/react-native/react.gradle"

/**

  • Définissez ceci sur true pour créer deux APK distincts au lieu d'un :

    • Un APK qui ne fonctionne que sur les appareils ARM


    • Un APK qui ne fonctionne que sur les appareils x86

  • L'avantage est que la taille de l'APK est réduite d'environ 4 Mo.
  • Téléchargez tous les APK sur le Play Store et les gens téléchargeront
  • le bon en fonction de l'architecture CPU de leur appareil.
    */
    def enableSeparateBuildPerCPUArchitecture = false

/**

  • Exécutez Proguard pour réduire le bytecode Java dans les versions de version.
    */
    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
        }
    }
}

}

dépendances {
compiler le projet(':react-native-onesignal')
compiler fileTree(dir: "libs", inclure: ["*.jar"])
compiler "com.android. support:appcompat-v7 :23.4.0"
compiler "com.facebook. react : react
}

// Exécutez ceci une fois pour pouvoir exécuter l'application avec BUCK
// met toutes les dépendances de compilation dans les bibliothèques de dossiers pour que BUCK puisse les utiliser
copie de tâcheDownloadableDepsToLibs(type : copie) {
à partir de configurations.compile
dans 'libs'
}

````
Au fait, je lance un nouveau projet car il était impossible de le faire fonctionner sur un projet existant.

Pour tous ceux qui ont également ce problème, c'est généralement à cause de la pile de navigation particulière de votre application. Il peut généralement être corrigé en utilisant l'initialisation native du SDK comme @urbancvek indiqué ci-dessus. Veuillez noter que le SDK prend toujours en charge l'initialisation native (sans utiliser JS), vous n'avez pas besoin de revenir à 3.1.4.

@cesarve77 @aspidvip Est-ce que l'un de vous peut poster votre MainApplication.java ?

Oui, mais je suis nouveau dans One signal et je n'ai pas pu trouver la documentation

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

@urbancvek https://github.com/urbancvek veuillez noter que le SDK reste
prend en charge l'initialisation native (sans utiliser JS), vous n'avez pas à y aller
retour à 3.1.4.

-
Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/geektimecoil/react-native-onesignal/issues/516#issuecomment-395931945 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/ADyXp8VcHWtSuGuhqu6GAmhuwEAs28yJks5t6y0MgaJpZM4UFgCX
.

Je le ferais plus tard.

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

@cesarve77 https://github.com/cesarve77 @aspidvip
https://github.com/aspidvip L'un de vous peut-il publier votre
Application principale.java ?

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/geektimecoil/react-native-onesignal/issues/516#issuecomment-396435196 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/ADyXp85jPYJ5TPNv7xwQt_3CoZ-rNvsuks5t7xcSgaJpZM4UFgCX
.

J'ai essayé de mettre à jour et d'utiliser les nouvelles instructions du nouveau fichier readme. Après quelques essais je
a finalement décidé de revenir à "react-native-onesignal": "3.0.7", et tout fonctionne comme avant.

J'ai testé 3.2.4, 3.2.3... et à chaque fois j'ai eu un problème. J'ai donc choisi la version d'un de mes autres projets.

Pour reprendre j'ai l'ancienne implémentation (côté natif) https://github.com/geektimecoil/react-native-onesignal/blob/732491fece1fa92946ca6dacf173af28a2b2e618/README.md et j'appelle OneSignal.configure() dans mon code javascript, dans mon cas, c'est dans mon magasin mobx une fois que l'utilisateur est connecté à l'application.

Émission sur 3.2.3 : Unable to initialize the OneSignal SDK because activity is null true or oneSignalInitDonefalse
Problème sur 3.2.4 : You must initialize OneSignal before getting tags! Moving this tag operation to a pending queue.

@nicovak cela signifie probablement que vous utilisez une dépendance telle que react-native-navigation (ainsi que d'autres) qui provoquent la nullité de l'activité initiale transmise à notre SDK.

Nous travaillons sur une solution à ce problème, en attendant, la rétrogradation vers la 3.0.7 est une bonne idée si vous rencontrez ce problème particulier.

@Nightsd01 oui j'utilise react-native-router-flux qui dépend de react-navigation , après quelques recherches, je le fais enfin fonctionner comme prévu.

J'ai déclaré un écouteur d'événement dans mon App.js (inclus dans index.js), ces écouteurs mettent à jour mon magasin avec les valeurs souhaitées. Comme ça, je peux appeler des fonctions facilement quand j'en ai besoin. Avant que les écouteurs d'événement ne soient déclarés dans mon magasin.
Je mets un exemple de code si quelqu'un a le même cas.

J'ai également eu un petit problème lors de la fermeture de l'application : je n'ai pas reçu l'événement opened . Cela ne fonctionnait que si l'application était en arrière-plan, avec le code au-dessus, tout fonctionnait bien.

Dans mon 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 {

Dans mon magasin

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

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

@nicovak Comment avez-vous

De plus, avec le problème opened ... êtes-vous sûr d'utiliser toujours la dernière version de react-native-onesignal ? C'est un problème qui a été corrigé il y a quelque temps.

@ Nightsd01 Je n'utilise pas la dernière version (3.0.7), c'est ainsi que je corrige l'activité est un problème nul.
Comme je l'ai dit, j'avais :

Problème sur 3.2.3 : Impossible d'initialiser le SDK OneSignal car l'activité est null true ou oneSignalInitDonefalse

Problème sur 3.2.4 : Vous devez initialiser OneSignal avant d'obtenir des balises ! Déplacement de cette opération de balise vers une file d'attente en attente.

@nicovak Vous pouvez ignorer cet avertissement dans 3.2.4. Cela signifie ce qu'il dit : votre application appelle en quelque sorte getTags() avant que l'initialisation ne soit terminée. C'est juste un avertissement cependant, car cela fonctionnera toujours très bien.

Si c'est le seul problème que vous rencontrez dans la version 3.2.4, je vous recommande fortement de revenir à la version 3.2.4 car elle résout de nombreux problèmes présents dans la version 3.0.7.

@Nightsd01 Ok, merci, je vais essayer demain avec ma configuration actuelle

@ Nightsd01 J'ai essayé de mettre à jour à nouveau vers 3.2.4 mais impossible de le faire fonctionner. J'ai essayé l'initialisation native et l'initialisation javascript. J'ai mis du code dans l'application componentWillMount et à l'extérieur mais rien n'a fonctionné.
J'ai passé assez de temps dessus désolé, je vais essayer ^3.2.4 sur un prochain projet.

J'ai compris la cause de ce problème @aspidvip @nicovak , il est résolu dans un nouveau PR. Devrait être inclus dans une version aujourd'hui ou demain.

@ Nightsd01 Merci beaucoup, vous êtes rock. Je vais le mettre à niveau et le tester lundi prochain s'il est disponible.

La nouvelle mise à jour (3.2.5) est sortie ! Si quelqu'un d'autre rencontre un problème similaire, veuillez le poster ici et nous serons heureux d'enquêter

J'ai à nouveau le problème avec la version 0.56 de React Native.
Je dois être dans 27 ? Docs dit que 26 devrait fonctionner, non ?

    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)
Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

williamrijksen picture williamrijksen  ·  29Commentaires

diego-paired picture diego-paired  ·  28Commentaires

mnmeyers picture mnmeyers  ·  32Commentaires

haxtrujillo picture haxtrujillo  ·  44Commentaires

Adesh picture Adesh  ·  28Commentaires