React-native-onesignal: (Android)E / onesignal:アクティビティがnulltrueまたはoneSignalInitDonefalseであるため、OneSignalSDKを初期化できません

作成日 2018年05月19日  ·  30コメント  ·  ソース: OneSignal/react-native-onesignal

こんにちは!
"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. iOSで動作します

  2. Androidでは動作しません

最も参考になるコメント

react-native-onesignal:3.1.4を使用するだけで解決しました。 以下を使用して初期化します。

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

以上です。 react-native-navigationを使用している場合は、JS側から実行するよりもはるかに簡単です。

全てのコメント30件

1

@aspidvip詳細を教えてください。 このエラーは例外をスローしてクラッシュしますか、それとも機能しませんか(プレーヤーIDがない、プッシュ通知を受信できないなど)? 症状は何ですか?

私もこの問題を抱えていました。 それはreact-native-navigationのせいだと思います。 アプリケーションの起動直後に別のアクティビティを起動します。 その間にOneSignal.init()を呼び出すと、アクティビティがnullであると表示されます。これはエラーです。

OneSignal.init()呼び出す前に数秒待つと機能しますが、別のエラーが発生します。 FirebaseAppが初期化されていないもの。 問題#515。 これの修正または回避策も期待しています...

react-native-onesignal:3.1.4を使用するだけで解決しました。 以下を使用して初期化します。

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

以上です。 react-native-navigationを使用している場合は、JS側から実行するよりもはるかに簡単です。

プレイヤーIDがなく、プッシュ通知を受信できません!

@urbancvek同じ初期化手法(iOSの場合はAppDelegate、Androidの場合はgradleを使用)は3.2.3でも機能します

@aspidvipこれは非常に幅広い問題であり、何でも

やった

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

しかし、プレイヤーIDがなく、プッシュ通知を受信できません!

@aspidvip build.gradleを投稿できますか? これは確かに依存関係の問題になります。

また、 react-native-onesignal/build.gradleファイルにアクセスして、OneSignal androidSDKを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これは、 react-native-onesignal/build.gradleapp/build.gradleのAndroidAPIレベルが一致しない可能性が高いことを意味します。 アプリのAPIレベルを次のように変更することをお勧めします。

    compileSdkVersion 23
    buildToolsVersion "23.0.1"

最も重要なのは、それらが一致することです。 react-native-onesignal/build.gradleして、必要なものに変更することもできます。

build.gradleファイルを一致させても修正されませんでした

@ hamadasamir85環境がどのように見えるか、どの依存関係を使用しているかなどが

@aspidvipバージョンの一致が機能するか機能しないかをお知らせください。また、試した/試しなかったAndroidAPIレベルもお知らせください。

そして率直に言って、この問題を再現するデモプロジェクトを送ることができれば_本当に_助けになるでしょう。

同じ問題:

フレッシュリアクションネイティブプロジェクトについて

package.json

`` `` {
"名前": "myapp"、
「バージョン」:「0.0.1」、
「プライベート」:true、
「スクリプト」:{
"start": "node node_modules / react-native / local-cli / cli.js start"、
「テスト」:「冗談」
}、
「依存関係」:{
"react": "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"、
「冗談」:「22.4.4」、
"react-test-renderer": "16.3.1"
}、
「冗談」:{
「プリセット」:「react-native」
}
}

「」

logcat

「」
05-23 23:08:46.555 12785-12785 /? E / Zygote:v2
05-23 23:08:46.555 12785-12785 /? I / libpersona:KNOX_SDCARDがこれを10304でチェックしています
KNOX_SDCARDはペルソナではありません
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:ポリシーインデックス[2]、 Con:u :r: zygote:s0 SPD:SEPF_SECMOBILE_7.0_0006 RAM:SEPF_SECMOBILE_7.0_0009 、[-1 -1 -9 -1 0 1]
05-23 23:08:46.561 12785-12785 /? I / SELinux:SELinux:seapp_context_lookup:seinfo = untrusted、level = s0:c512、c768、pkgname = app.myapp
05-23 23:08:46.569 12785-12785 /? I / art:レイトイネーブル-Xcheck:jni
05-23 23:08:46.623 12785-12785 /? D / TimaKeyStoreProvider:TimaSignatureは利用できません
05-23 23:08:46.624 12785-12785 /? D / ActivityThread: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:FirebaseAppの初期化に失敗しました
05-23 23:08:46.753 12785-12785 / app.myapp V / fb-UnpackingSoSource:ロックされたdsoストア/data/user/0/app.myapp/lib-main
05-23 23:08:46.756 12785-12785 / app.myapp V / fb-UnpackingSoSource:depsストアでのdepsの不一致:再生成
だから汚れた店:再生
05-23 23:08:46.817 12785-12785 / app.myapp D / ApkSoSource:lib / armeabi-v7a / libfb.soの考慮を許可していません:libdirに延期しています
lib / armeabi-v7a / libfolly_json.soの考慮を許可しない:libdirに延期する
05-23 23:08:46.817 12785-12785 / app.myapp D / ApkSoSource:lib / armeabi-v7a / libglog.soの考慮を許可していません:libdirに延期しています
lib / armeabi-v7a / libglog_init.soの検討を許可しない:libdirに延期する
lib / armeabi-v7a / libgnustl_shared.soの検討を許可しない:libdirに延期する
lib / armeabi-v7a / libicu_common.soの検討を許可しない:libdirに延期する
05-23 23:08:46.818 12785-12785 / app.myapp D / ApkSoSource:lib / armeabi-v7a / libimagepipeline.soの考慮を許可していません:libdirに延期しています
lib / armeabi-v7a / libjsc.soの検討を許可しない:libdirに延期する
lib / armeabi-v7a / libprivatedata.soの検討を許可しない:libdirに延期する
lib / armeabi-v7a / libreactnativejni.soの検討を許可しない:libdirに延期する
lib / armeabi-v7a / libyoga.soの検討を許可しない:libdirに延期する
05-23 23:08:46.818 12785-12785 / app.myapp V / fb-UnpackingSoSource:DSOストアの再生成com.facebook.soloader.ApkSoSource
05-23 23:08:46.819 12785-12785 / app.myapp V / fb-UnpackingSoSource:シンカーワーカーを開始しています
05-23 23:08:46.836 12785-12785 / app.myapp V / fb-UnpackingSoSource:/data/user/0/app.myapp/lib-mainのdsoストアロックを解放します(シンカースレッドから)
/data/user/0/app.myapp/lib-mainのdsoストアロックを解放しない(シンカースレッドが開始されました)
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:プラットフォームのデフォルトを使用して、ネットワークセキュリティ構成が指定されていません
05-23 23:08:46.988 12785-12785 / app.myapp D / SensorManager:registerListener :: 0、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 /不明:InspectorPackagerConnection :パッケージャーに接続できませんでした。サイレントに再試行します
05-23 23:08:47.117 12785-12785 / app.myapp D / InputTransport:構築された入力チャネル: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、K6DS3TR加速度センサー、66667、0、
05-23 23:08:47.207 12785-12853 / app.myapp I / OpenGLRenderer:初期化されたEGL、バージョン1.4
05-23 23:08:47.207 12785-12853 / app.myapp D / OpenGLRenderer:スワップ動作1
05-23 23:08:47.229 12785-12853 / app.myapp D / libGLESv1:STS_GLApi:DTSはパッケージに許可されていません: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 、EGLBoolean)は0x3000、[1440x2560] -format :1を返します05-23 23:08:47.255 12785-12785 / app.myapp D / InputTransport:構築された入力チャネル:fd = 7105-23 23:08:47.255 12785-12785 / app.myapp D / ViewRootImpl @ 5c120c2 [Po pupWindow:2eda90d ]:setView = android.widget.PopupWindow $ PopupDecorView {3423ed3 VE ..... ..... ..私。


: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)または= 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:入力チャネルが破棄されました: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"]ライブラリをロードする再帰的な試行 " /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 /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.art.ARTGroupViewManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.713 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.art.ARTGroupShadowNodeの生成されたセッターが見つかりませんでした
05-23 23:08:48.717 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.art.ARTShapeViewManagerの生成されたセッターが見つかりませんでした
クラスcom.facebook.react.views.art.ARTShapeShadowNode用に生成されたセッターが見つかりませんでした
05-23 23:08:48.720 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.art.ARTTextViewManagerの生成されたセッターが見つかりませんでした
クラスcom.facebook.react.views.art.ARTTextShadowNode用に生成されたセッターが見つかりませんでした
05-23 23:08:48.722 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.checkbox.ReactCheckBoxManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.729 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.uimanager.LayoutShadowNodeの生成されたセッターが見つかりませんでした
05-23 23:08:48.740 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.picker.ReactDialogPickerManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.744 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.drawer.ReactDrawerLayoutManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.749 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.picker.ReactDropdownPickerManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.750 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.scroll.ReactHorizo​​ntalScrollViewManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.762 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.scroll.ReactHorizo​​ntalScrollContainerViewManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.764 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.progressbar.ReactProgressBarViewManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.767 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.progressbar.ProgressBarShadowNodeの生成されたセッターが見つかりませんでした
05-23 23:08:48.769 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.scroll.ReactScrollViewManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.776 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.slider.ReactSliderManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.780 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.slider.ReactSliderManager $ ReactSliderShadowNodeの生成されたセッターが見つかりませんでした
05-23 23:08:48.781 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.switchview.ReactSwitchManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.784 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.switchview.ReactSwitchManager $ ReactSwitchShadowNodeの生成されたセッターが見つかりませんでした
05-23 23:08:48.785 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.toolbar.ReactToolbarManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.791 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.webview.ReactWebViewManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.797 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.swiperefresh.SwipeRefreshLayoutManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.802 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.art.ARTSurfaceViewManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.803 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.art.ARTSurfaceViewShadowNodeの生成されたセッターが見つかりませんでした
05-23 23:08:48.804 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageViewManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.805 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageShadowNodeの生成されたセッターが見つかりませんでした
05-23 23:08:48.807 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.image.ReactImageManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.814 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.modal.ReactModalHostManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.817 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.modal.ModalHostShadowNodeの生成されたセッターが見つかりませんでした
05-23 23:08:48.818 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.text.ReactRawTextManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.820 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.text.ReactRawTextShadowNodeの生成されたセッターが見つかりませんでした
05-23 23:08:48.822 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.textinput.ReactTextInputManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.835 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.textinput.ReactTextInputShadowNodeの生成されたセッターが見つかりませんでした
05-23 23:08:48.841 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.text.ReactTextViewManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.847 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.text.ReactTextShadowNodeの生成されたセッターが見つかりませんでした
05-23 23:08:48.848 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.view.ReactViewManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.857 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.viewpager.ReactViewPagerManagerの生成されたセッターが見つかりませんでした
05-23 23:08:48.862 12785-13022 / app.myapp W /不明:ViewManagerPropertyUpdater :クラスcom.facebook.react.views.text.ReactVirtualTextViewManagerの生成されたセッターが見つかりませんでした
クラスcom.facebook.react.views.text.ReactVirtualTextShadowNode用に生成されたセッターが見つかりませんでした
05-23 23:08:48.885 12785-13022 / app.myapp D / ReactNative:ReactXplatブリッジを初期化しています。
05-23 23:08:48.890 12785-13022 / app.myapp D / ReactNative:initializeBridgeの前にReactXplatブリッジを初期化しています
05-23 23:08:48.905 12785-13022 / app.myapp D / ReactNative:initializeBridgeの後にReactXplatブリッジを初期化しています
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 /不明:ReactNative :パッケージャー接続は既に開いています。
05-23 23:08:49.512 12785-13054 / app.myapp I / WebViewFactory:com.android.chromeバージョン66.0.3359.158(コード335915852)を読み込んでいます
05-23 23:08:49.675 12785-13054 / app.myapp I / cr_LibraryLoader:ネイティブライブラリをロードする時間:13ミリ秒(タイムスタンプ3227-3240)
05-23 23:08:49.704 12785-13054 / app.myapp I / chromium:[ INFO:library_loader_hooks.cc (36)] Chromiumロギングが有効:レベル= 0、デフォルトの詳細度= 0
05-23 23:08:49.705 12785-13054 / app.myapp I / cr_LibraryLoader:予期されるネイティブライブラリのバージョン番号「66.0.3359.158」、実際のネイティブライブラリのバージョン番号「66.0.3359.158」
05-23 23:08:49.994 12785-13053 / app.myapp I / ReactNativeJS:appParamsでアプリケーション "myapp"を実行しています:{"rootTag":1}。 __DEV__ === true、開発レベルの警告がオン、パフォーマンスの最適化がオフ
05-23 23:08:50.096 12785-13054 / app.myapp E / onesignal:アクティビティがnull tr​​ueまたはoneSignalInitDonefalseであるため、OneSignalSDKを初期化できません
05-23 23:09:03.299 12785-12798 / app.myapp I / art:バックグラウンドスティッキーコンカレントマークスイープGCが22289(2MB)AllocSpaceオブジェクト、21(484KB)LOSオブジェクト、15%空き、16MB / 19MB、一時停止904us合計119.769ms
05-23 23:09:21.462 12785-12785 / app.myapp W /不明:ReactNative :パッケージャー接続は既に開いています。
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)または= 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)または= 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:入力の開始: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:構築された入力チャネル:fd = 86
05-23 23:09:22.053 12785-12785 / app.myapp V / InputMethodManager:入力の開始:tba = android.view.inputmethod。 EditorInfo @ dcef9f0 nm:app.myapp ic = null
05-23 23:09:23.373 12785-12791 / app.myapp I / art:部分的なコードキャッシュコレクションを実行、コード= 30KB、データ= 30KB
05-23 23:09:23.374 12785-12791 / app.myapp I / art:コードキャッシュ収集後、コード= 30KB、データ= 30KB
コードキャッシュ容量を128KBに増やす
05-23 23:09:51.860 12785-12785 / app.myapp V / InputMethodManager:入力の開始: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:構築された入力チャネル:fd = 83
入力チャネルが破壊されました: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:入力の開始: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:入力チャネルが破棄されました: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)または= 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:バックグラウンド部分同時マークスイープGCが解放された60244(2MB)AllocSpaceオブジェクト、9(3MB)LOSオブジェクト、40%解放、12MB / 21MB、一時停止764us合計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

「」
プラグインを適用する:「com.android.application」

com.android.build.OutputFileをインポートします

/ **

  • react.gradleファイルは、ビルドバリアントごとにタスクを登録します(例:bundleDebugJsAndAssets
  • およびbundleReleaseJsAndAssets)。
  • これらは基本的に、Androidビルド中に正しい引数を使用してreact-native bundleを呼び出します
  • サイクル。 デフォルトでは、bundleDebugJsAndAssetsはスキップされます。これは、デバッグ/開発モードでは、
  • 開発サーバーから直接バンドルします。 以下に、可能なすべての構成を示します。
  • およびそれらのデフォルト。 構成ブロックを追加する場合は、必ず前に追加してください。
  • apply from: "../../node_modules/react-native/react.gradle"行。
    *
  • project.ext.react = [
  • // JSバンドルを含む生成されたアセットファイルの名前
  • bundleAssetName: "index.android.bundle"、
    *
  • //バンドル生成用のエントリファイル
  • entryFile: "index.android.js"、
    *
  • // JSとアセットをデバッグモードでバンドルするかどうか
  • bundleInDebug:false、
    *
  • //リリースモードでJSとアセットをバンドルするかどうか
  • bundleInRelease:true、
    *
  • // JSとアセットを別のビルドバリアントにバンドルするかどうか(構成されている場合)。
  • // http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variantsを参照してください
  • //構成プロパティは次の形式にすることができます
  • // 'bundleIn $ {productFlavor} $ {buildType}'
  • // 'bundleIn $ {buildType}'
  • // bundleInFreeDebug:true、
  • // bundleInPaidRelease:true、
  • // bundleInBeta:true、
    *
  • //カスタムビルドバリアントで開発モードを無効にするかどうか(デフォルトではリリースでのみ無効になります)
  • //例:ステージングビルドタイプで開発モードを無効にする(構成されている場合)
  • devDisabledInStaging:true、
  • //構成プロパティは次の形式にすることができます
  • // 'devDisabledIn $ {productFlavor} $ {buildType}'
  • // 'devDisabledIn $ {buildType}'
    *
  • //プロジェクトのルート、つまり「package.json」が存在する場所
  • 根: "../../"、
    *
  • // JSバンドルアセットをデバッグモードにする場所
  • jsBundleDirDebug: "$ buildDir / Intermediates / assets / debug"、
    *
  • // JSバンドルアセットをリリースモードにする場所
  • jsBundleDirRelease: "$ buildDir / Intermediates / assets / release"、
    *
  • //ドローアブルリソースを配置する場所/ React Nativeアセット(例:経由で使用するアセット)
  • // require( './ image.png'))、デバッグモード
  • resourcesDirDebug: "$ buildDir / Intermediates / res / merged / debug"、
    *
  • //ドローアブルリソースを配置する場所/ React Nativeアセット(例:経由で使用するアセット)
  • // require( './ image.png'))、リリースモード
  • resourcesDirRelease: "$ buildDir / Intermediates / res / merged / release"、
    *
  • //デフォルトでは、JSファイルまたはアセットが変更されていない場合、gradleタスクはスキップされます。 これの意味は
  • //タスクが最大であるかどうかを判断するためにandroid /またはios /のファイルを調べないこと
  • // 日にち; パフォーマンス上の理由で無視したい他のフォルダがある場合(gradle
  • //ツリー全体にインデックスを付けます)、ここに追加します。 または、android /にJSファイルがある場合
  • //たとえば、ここから削除したい場合があります。
  • inputExcludes:["android / "、 "ios / "]、
    *
  • //呼び出されるノードと追加の引数をオーバーライドします
  • nodeExecutableAndArgs:["node"]、
    *
  • //パッケージャーに追加の引数を提供します
  • extraPackagerArgs:[]
  • ]
    * /

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

適用元: "../../ node_modules / react-native / react.gradle"

/ **

  • これをtrueに設定すると、1つではなく2つの別々のAPKが作成されます。

    • ARMデバイスでのみ機能するAPK


    • x86デバイスでのみ機能するAPK

  • 利点は、APKのサイズが約4MB削減されることです。
  • すべてのAPKをPlayストアにアップロードすると、ユーザーはダウンロードします
  • デバイスのCPUアーキテクチャに基づいた正しいもの。
    * /
    def enableSeparateBuildPerCPUArchitecture = false

/ **

  • Proguardを実行して、リリースビルドでJavaバイトコードを縮小します。
    * /
    def enableProguardInReleaseBuilds = false

アンドロイド{
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
        }
    }
}

}

依存関係{
プロジェクトをコンパイルします( ':react-native-onesignal')
fileTree(dir: "libs"、include:["* .jar"])をコンパイルします
コンパイル"com.androidサポート:APPCOMPAT-V7 :23.4.0"
compile "com.facebook。react :react-native :+" // node_modulesから
}

//これを1回実行すると、BUCKでアプリケーションを実行できるようになります
//すべてのコンパイル依存関係をBUCKが使用できるようにフォルダライブラリに配置します
タスクcopyDownloadableDepsToLibs(タイプ:コピー){
configuration.compileから
'libs'に
}

「」
ちなみに、既存のプロジェクトでは動かせなかったので、新しいプロジェクトにスターを付けました。

この問題を抱えている人にとっては、通常、アプリの特定のナビゲーションスタックが原因です。 これは通常、上記の@urbancvekのようにSDKのネイティブ初期化を使用して修正できます。 SDKは(JSを使用せずに)ネイティブ初期化を引き続きサポートしているため、3.1.4に戻る必要はありません。

@ cesarve77 @aspidvipどちらかがMainApplication.javaを投稿できますか?

はい、しかしImはOneシグナルで新しく、ドキュメントが見つかりませんでした

2018-06-09 12:03 GMT + 10:00ブラッドヘッセ[email protected]

@urbancvek https://github.com/urbancvekSDKはまだ
(JSを使用せずに)ネイティブ初期化をサポートしているので、行く必要はありません
3.1.4に戻ります。


あなたがコメントしたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/geektimecoil/react-native-onesignal/issues/516#issuecomment-395931945
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/ADyXp8VcHWtSuGuhqu6GAmhuwEAs28yJks5t6y0MgaJpZM4UFgCX

後でやります。

2018-06-12 11:19 GMT + 10:00ブラッドヘッセ[email protected]

@ cesarve77 https://github.com/cesarve77 @aspidvip
https://github.com/aspidvipあなたのどちらかがあなたを投稿できますか
MainApplication.java?


あなたが言及されたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/geektimecoil/react-native-onesignal/issues/516#issuecomment-396435196
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/ADyXp85jPYJ5TPNv7xwQt_3CoZ-rNvsuks5t7xcSgaJpZM4UFgCX

新しいreadmeの新しい手順を更新して使用しようとしました。 何度か試した後、私は
最終的に"react-native-onesignal": "3.0.7",戻すことを決定し、すべてが以前と同じように機能します。

3.2.4、3.2.3 ...をテストし、問題が発生するたびにテストしました。 そこで、他のプロジェクトの1つのバージョンを選びました。

再開するには、古い実装(ネイティブ側) https://github.com/geektimecoil/react-native-onesignal/blob/732491fece1fa92946ca6dacf173af28a2b2e618/README.mdを使用し、JavaScriptコードでOneSignal.configure()を呼び出します。ユーザーがアプリにログインすると、mobxストアにある場合。

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

@nicovakは、SDKに渡される最初のアクティビティが自動的にnullになる原因となる、 react-native-navigation (およびその他の依存関係)などの依存関係を使用していることを意味している可能性があります。

現在、この問題の解決に取り組んでいます。この特定の問題が発生している場合は、3.0.7にダウングレードすることをお勧めします。

Nightsd01は、はい、私が使用していますreact-native-router-fluxに依存するreact-navigationいくつかは、検索した後、私は最終的に期待通りに働いてもらいます。

App.js(index.jsに含まれています)でイベントリスナーを宣言しました。これらのリスナーは、ストアを目的の値で更新します。 そのように、必要なときに簡単に関数を呼び出すことができます。 イベントリスナーが私の店で宣言される前。
誰かが同じケースを持っている場合、私はコードの例を置きます。

アプリを閉じたときにも少し問題がありました。イベントopened受信しません

私の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 {

私の店で

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

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

@nicovak主な問題をどのように修正しましたか(アクティビティはnullです)?

また、 opened問題で...最新バージョンのreact-native-onesignalまだ使用していますか? これはしばらく前に修正された問題です。

@ Nightsd01私は最後のバージョン(3.0.7)を使用していません、それは私がアクティビティがnullの問題を修正する方法です。
私が持っていたと言ったように:

3.2.3の問題:アクティビティがnulltrueまたはoneSignalInitDonefalseであるため、OneSignalSDKを初期化できません

3.2.4の問題:タグを取得する前にOneSignalを初期化する必要があります! このタグ操作を保留中のキューに移動します。

@ nicovak3.2.4ではその警告を無視できます。 それはそれが言うことを意味します:あなたのアプリは初期化が行われる前にどういうわけかgetTags()呼び出しています。 ただし、それでも問題なく動作するため、これは単なる警告です。

それが3.2.4で発生している「唯一の」問題である場合は、3.0.7に存在していた多くの問題が修正されるため、3.2.4に更新し直すことを強くお勧めします。

@ Nightsd01わかりました、ありがとうございます。明日、実際のセットアップで試してみます👍

@ Nightsd01もう一度3.2.4にアップデートしようとしましたが、動作させることができませんでした。 ネイティブ初期化とJavaScript初期化を試しました。 アプリcomponentWillMount外にコードを入れましたが、何も機能しませんでした。
十分な時間を費やしました。申し訳ありませんが、次のプロジェクトで^ 3.2.4を試してみます。

この問題の原因を突き止め@ aspidvip @ nicovak 、新しいPRで解決されました。 今日または明日のリリースに含める必要があります。

@ Nightsd01どうもありがとう、あなたはロックします。 利用可能な場合は、次の月曜日にアップグレードしてテストします。

新しいアップデート(3.2.5)がリリースされました! 他の誰かが同様の問題に遭遇した場合は、ここに投稿してください。調査させていただきます。

0.56バージョンのreactnativeで再び問題が発生します。
私は27にいる必要がありますか? ドキュメントは26はずだと言っていますよね?

    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)
このページは役に立ちましたか?
0 / 5 - 0 評価