説明:
"react-native-onesignal": "^3.2.4"
を"react-native": "0.55.4"
と一緒に使用すると、次のビルドエラーが発生します。
タスク ':react-native- onesignal:processReleaseResources 'の実行に失敗しました。
エラー:パッケージ名が「com.google.android.gms.license」の複数のライブラリ
https://documentation.onesignal.com/docs/react-native-sdk-setup#section -adding-the-gradle-pluginを含む、公式サイトのすべてのセットアップ手順に従いました。
また、 .../node_modules/react-native-onesignal/android/build.gradle
のフッターコメントで述べたように、 .../android/app/build.gradle
\の先頭に次のセクションを追加してみました:-
plugins {
id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
しかし、それは何の違いもありません。
@ avin3shは、古いバージョンのOneSignalGradleプラグインを使用しています。
新しいバージョンを使用してみてください。古いGradleプラグインを削除し、同じ方法で新しいプラグインを追加してください( app/build.gradle
の上部):
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/'}
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.10.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
@ Nightsd01ソリューションを提供してくれてありがとう、
私もこの問題を抱えていますが、それは機能しませんでした、エラーはまだ表示されます
私にも起こります。 最新のgradleプラグインを試し、Androidプラグインからgcmグループを除外しながらFirebaseライブラリのバージョンを固定し、すべてのFirebaseライブラリをバージョン15に更新しましたが、これまでのところうまくいきません。 これは私が得た最後のエラーでした: https : 乗り越えることができませんでした。
これは私のreact-native info
です。 何かおかしなことに見えますか?
Environment:
OS: macOS High Sierra 10.13
Node: 10.3.0
Yarn: 1.7.0
npm: 6.1.0
Watchman: 4.7.0
Xcode: Not Found
Android Studio: 2.3 AI-162.4069837
Packages: (wanted => installed)
react: 16.3.1 => 16.3.1
react-native: ~0.55.2 => 0.55.4
こっちも一緒。 同じエラーが発生します。 上記の解決策を試しましたが、うまくいきませんでした。
誰か助けてもらえますか?
@ Nightsd01 build.gradle
これらの行をすでに追加しましたが、それでも問題が発生します。
あなた(またはこの問題に直面している他の誰か)は、あなたが使用しているすべての依存関係を私たちに提供していただけますか? package.json
投稿するだけです
また、この問題に直面している人は、 app/build.gradle
ファイルをコピーして貼り付けてください。 具体的には、次のパラメータのいくつかを知りたいです: compileSdkVersion
、 buildToolsVersion
、 minSdkVersion
、およびtargetSdkVersion
私は同じ問題を抱えています、これが私のpackage.jsonです
{
"dependencies": {
"native-base": "^2.4.3",
"react": "16.3.2",
"react-native": "0.55.3",
"react-native-cookies": "^3.2.0",
"react-native-elements": "^0.19.1",
"react-native-haptic-feedback": "^1.1.0",
"react-native-iphone-x-helper": "^1.0.3",
"react-native-navigation": "^1.1.452",
"react-native-onesignal": "^3.2.3",
"react-native-scrollable-tab-view": "^0.8.0",
"react-native-share": "^1.0.27",
"react-native-vector-icons": "^4.6.0",
"react-native-wkwebview-reborn": "^1.20.0",
"react-native-xml2js": "^1.0.3",
"react-redux": "^5.0.7",
"redux": "^4.0.0",
"redux-logger": "^3.0.6",
"redux-persist": "^5.9.1",
"redux-thunk": "^2.2.0",
"rn-sliding-up-panel": "^1.2.0",
"url-parse": "^1.4.0"
},
"devDependencies": {
"babel-jest": "22.4.3",
"babel-preset-react-native": "4.0.0",
"jest": "22.4.3",
"react-native-dotenv": "^0.1.1",
"react-test-renderer": "16.3.1"
},
"jest": {
"preset": "react-native"
}
}
その他のパラメータの詳細は次のとおりです
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
build.gradleファイルはもうありませんが、すべてをバージョン23またはバージョン26に設定しようとしましたが、どちらも機能しませんでした。
ついにこの作品を手に入れました
https://documentation.onesignal.com/docs/react-native-sdk-setup#section-adding-the-gradle-pluginを削除する
app / build.gradleにcompile "com.google.android.gms:play-services-base:12.0.1"
を挿入します
&以下のようにandroid / build.gradleにgoogle()を追加します
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}
allprojects {
repositories {
google()
mavenLocal()
jcenter()
maven {
url "$rootDir/../node_modules/react-native/android"
}
}
}
@ neo125874 compileSdkVersionとbuildToolsVersionのバージョンは何ですか?
もう1つ変更する必要がありました。 私は、に変更distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
でgradle-wrapper.properties
、それが働きました。 compileSdkVersionは23で、buildToolsVersionは23.0.1です。
@ Nightsd01
これが私のpackage.jsonの内容です
"dependencies": {
"native-base": "^2.3.9",
"react": "16.3.1",
"react-native": "0.55.4",
"react-native-onesignal": "^3.2.4",
"react-native-router-flux": "^4.0.0-beta.28",
"react-native-smart-splash-screen": "^2.3.5"
},
"devDependencies": {
"babel-jest": "22.4.1",
"babel-preset-react-native": "4.0.0",
"jest": "22.4.2",
"react-test-renderer": "16.2.0"
},
"jest": {
"preset": "react-native"
}
そしてここにapp/build.gradle
プラグインを適用する:「com.android.application」
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/' } // Gradle Plugin Portal
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.10.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
import com.android.build.OutputFile
project.ext.react = [
entryFile: "index.js"
]
apply from: "../../node_modules/react-native/react.gradle"
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
//compileSdkVersion 27 //made no difference
//buildToolsVersion "27.0.1" //made no difference
defaultConfig {
applicationId "com.fpapp"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86"
}
}
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
}
}
}
}
dependencies {
compile project(':react-native-smart-splash-screen')
compile project(':react-native-onesignal')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
//compile "com.google.android.gms:play-services-base:12.0.1" //github onesignal experiment
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
推奨およびデフォルトのbuildToolとCompileSdkを試してみましたが、違いはありませんでした。
以下のため@ neo125874 @dhamaniasadと一緒にあなたの変更の提案された変更gradle-wrapper.properties
働きました!
@dhamaniasad私が試した23または26はうまくいく可能性があり、うまくいったと聞いてうれしいです!
@ avin3shおめでとうございます! それはグーグルプレイサービスsth関連のようです。
@ avin3sh @dhamaniasadあなたが提案したように試しましたが、このエラーが発生します
プロジェクト ':app'の構成で問題が発生しました。
プロジェクト評価リスナーへの通知に失敗しました。
com.android.build.gradle.tasks.factory.AndroidJavaCompile.setDependencyCacheDir(Ljava/io/File;)V
事前にこの感謝を解決するのを手伝ってください
私のapp/build.gradle
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/' } // Gradle Plugin Portal
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.10.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: "com.android.application"
import com.android.build.OutputFile
/**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
* and bundleReleaseJsAndAssets).
* These basically call `react-native bundle` with the correct arguments during the Android build
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
* bundle directly from the development server. Below you can see all the possible configurations
* and their defaults. If you decide to add a configuration block, make sure to add it before the
* `apply from: "../../node_modules/react-native/react.gradle"` line.
*
* project.ext.react = [
* // the name of the generated asset file containing your JS bundle
* bundleAssetName: "index.android.bundle",
*
* // the entry file for bundle generation
* entryFile: "index.android.js",
*
* // whether to bundle JS and assets in debug mode
* bundleInDebug: false,
*
* // whether to bundle JS and assets in release mode
* bundleInRelease: true,
*
* // whether to bundle JS and assets in another build variant (if configured).
* // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
* // The configuration property can be in the following formats
* // 'bundleIn${productFlavor}${buildType}'
* // 'bundleIn${buildType}'
* // bundleInFreeDebug: true,
* // bundleInPaidRelease: true,
* // bundleInBeta: true,
*
* // whether to disable dev mode in custom build variants (by default only disabled in release)
* // for example: to disable dev mode in the staging build type (if configured)
* devDisabledInStaging: true,
* // The configuration property can be in the following formats
* // 'devDisabledIn${productFlavor}${buildType}'
* // 'devDisabledIn${buildType}'
*
* // the root of your project, i.e. where "package.json" lives
* root: "../../",
*
* // where to put the JS bundle asset in debug mode
* jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
*
* // where to put the JS bundle asset in release mode
* jsBundleDirRelease: "$buildDir/intermediates/assets/release",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in debug mode
* resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in release mode
* resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
*
* // by default the gradle tasks are skipped if none of the JS files or assets change; this means
* // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
* // for example, you might want to remove it from here.
* inputExcludes: ["android/**", "ios/**"],
*
* // override which node gets called and with what additional arguments
* nodeExecutableAndArgs: ["node"],
*
* // supply additional arguments to the packager
* extraPackagerArgs: []
* ]
*/
project.ext.react = [
entryFile: "index.js"
]
apply from: "../../node_modules/react-native/react.gradle"
/**
* Set this to true to create two separate APKs instead of one:
* - An APK that only works on ARM devices
* - An APK that only works on x86 devices
* The advantage is the size of the APK is reduced by about 4MB.
* Upload all the APKs to the Play Store and people will download
* the correct one based on the CPU architecture of their device.
*/
def enableSeparateBuildPerCPUArchitecture = false
/**
* Run Proguard to shrink the Java bytecode in release builds.
*/
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.onesignal"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86"
}
}
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
}
}
}
}
dependencies {
compile project(':react-native-onesignal')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
compile "com.google.android.gms:play-services-base:12.0.1" //github onesignal experiment
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
私のgradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
jcenter()
google()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
}
}
`
package.json
`{
"name": "onesignal",
"version": "0.1.0",
"private": true,
"devDependencies": {
"babel-preset-react-native-stage-0": "^1.0.1",
"jest": "^23.1.0",
"jest-react-native": "^18.0.0",
"react-test-renderer": "16.3.1"
},
"scripts": {
"start": "react-native start",
"android": "react-native run-android",
"ios": "react-native run-ios",
"test": "jest"
},
"jest": {
"preset": "react-native"
},
"dependencies": {
"react": "16.3.1",
"react-native": "~0.55.2",
"react-native-onesignal": "^3.2.4"
}
}
@ avin3sh @dhamaniasadプロジェクトのレポを比較してもらうことはできますか?
@ Nightsd01助けてください
@davekedarは
もしそうなら、あなたはからあなたのgradleファイルの依存関係を更新する必要がありますclasspath 'com.android.tools.build:gradle:2.2.3'
に
classpath 'com.android.tools.build:gradle:4.4'
(または使用しているバージョン)
これが私がそれを機能させるために言及した記事です。 https://medium.com/@chuckyong_3313/react -native-android-build-compilation-issue-with-google-play-api-for-android-v12-0-0-ccb2f1a0fb9c
@ashishmusaleはあなたの
gradle-wrapper.properties
#Fri Jun 08 10:09:57 IST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
app/build.gradle
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/' } // Gradle Plugin Portal
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.10.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: "com.android.application"
import com.android.build.OutputFile
/**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
* and bundleReleaseJsAndAssets).
* These basically call `react-native bundle` with the correct arguments during the Android build
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
* bundle directly from the development server. Below you can see all the possible configurations
* and their defaults. If you decide to add a configuration block, make sure to add it before the
* `apply from: "../../node_modules/react-native/react.gradle"` line.
*
* project.ext.react = [
* // the name of the generated asset file containing your JS bundle
* bundleAssetName: "index.android.bundle",
*
* // the entry file for bundle generation
* entryFile: "index.android.js",
*
* // whether to bundle JS and assets in debug mode
* bundleInDebug: false,
*
* // whether to bundle JS and assets in release mode
* bundleInRelease: true,
*
* // whether to bundle JS and assets in another build variant (if configured).
* // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
* // The configuration property can be in the following formats
* // 'bundleIn${productFlavor}${buildType}'
* // 'bundleIn${buildType}'
* // bundleInFreeDebug: true,
* // bundleInPaidRelease: true,
* // bundleInBeta: true,
*
* // whether to disable dev mode in custom build variants (by default only disabled in release)
* // for example: to disable dev mode in the staging build type (if configured)
* devDisabledInStaging: true,
* // The configuration property can be in the following formats
* // 'devDisabledIn${productFlavor}${buildType}'
* // 'devDisabledIn${buildType}'
*
* // the root of your project, i.e. where "package.json" lives
* root: "../../",
*
* // where to put the JS bundle asset in debug mode
* jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
*
* // where to put the JS bundle asset in release mode
* jsBundleDirRelease: "$buildDir/intermediates/assets/release",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in debug mode
* resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in release mode
* resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
*
* // by default the gradle tasks are skipped if none of the JS files or assets change; this means
* // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
* // for example, you might want to remove it from here.
* inputExcludes: ["android/**", "ios/**"],
*
* // override which node gets called and with what additional arguments
* nodeExecutableAndArgs: ["node"],
*
* // supply additional arguments to the packager
* extraPackagerArgs: []
* ]
*/
project.ext.react = [
entryFile: "index.js"
]
apply from: "../../node_modules/react-native/react.gradle"
/**
* Set this to true to create two separate APKs instead of one:
* - An APK that only works on ARM devices
* - An APK that only works on x86 devices
* The advantage is the size of the APK is reduced by about 4MB.
* Upload all the APKs to the Play Store and people will download
* the correct one based on the CPU architecture of their device.
*/
def enableSeparateBuildPerCPUArchitecture = false
/**
* Run Proguard to shrink the Java bytecode in release builds.
*/
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion 27
buildToolsVersion '27.0.3'
defaultConfig {
applicationId "com.nesignal"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86"
}
}
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
}
}
}
}
dependencies {
compile project(':react-native-onesignal')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
android/build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.google.gms:google-services:3.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
}
}
ext {
googlePlayServicesVersion = '11.8.0'
compileSdkVersion = 27
buildToolsVersion = '27.0.3'
supportLibrariesVersion = '27.1.0'
}
// Force sub libs to use the compile sdk & build tools version
subprojects { subproject ->
afterEvaluate{
if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
}
}
}
}
とエラーが発生します
firebase-messaging.jar(com.google.firebase:firebase-messaging:12.0.0)が見つかりませんでした。
次の場所で検索されました。
https://jcenter.bintray.com/com/google/firebase/firebase-messaging/12.0.0/firebase-messaging-12.0.0.jar
https://github.com/davekedar/onesignal-error.gitこれはテスト用の私のリポジトリです。解決にご協力いただけますか?
よろしくお願いします@ ashishmusale @ Nightsd01
@davekedarプロジェクトをコンパイルできませんでした
@davekedar最近、jcenterがGoogleライブラリを解決しなくなったという問題がいくつか見られました。 allprojects { repositories { ... } }
セクションにgoogle()
を追加することをお勧めします。これにより、このエラーが修正されます。
allprojects {
repositories {
mavenLocal()
google()
jcenter()
// ...
}
}
@ashishmusale @ jkasten2ありがとうございます。 しかし、それはOneSignalに登録されていません
これは私のapp.jsです
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import OneSignal from 'react-native-onesignal'; // Import package from node modules
export default class App extends React.Component {
state = {
device : ''
}
componentWillMount() {
OneSignal.init("206a6513-b453-4807-89c1-040389fa8dea");
OneSignal.addEventListener('received', this.onReceived);
OneSignal.addEventListener('opened', this.onOpened);
OneSignal.addEventListener('ids', this.onIds);
}
componentWillUnmount() {
OneSignal.removeEventListener('received', this.onReceived);
OneSignal.removeEventListener('opened', this.onOpened);
OneSignal.removeEventListener('ids', this.onIds);
}
onReceived(notification) {
console.log("Notification received: ", notification);
}
onOpened(openResult) {
console.log('Message: ', openResult.notification.payload.body);
console.log('Data: ', openResult.notification.payload.additionalData);
console.log('isActive: ', openResult.notification.isAppInFocus);
console.log('openResult: ', openResult);
}
onIds(device) {
this.setState({device: device})
}
render() {
return (
<View style={styles.container}>
<Text>Open up App.js to start working on your app!</Text>
<Text>Changes you make will automatically reload.</Text>
<Text>Shake your phone to open the developer menu.</Text>
<Text>Device Info : {this.state.device}</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
@ashishmusale確認できれば、最終的なコンパイル済みバージョンをコミットしました
すべてが正常に行われますすべてに感謝します
それを聞いてうれしい!
誰もが私に完全に確認されたプロジェクトを与えることができますか、うまく機能しています....私は2日間立ち往生しています。 私には何も機能しません..................... plz
@nahidmbstuはあなたが立ち往生している場所を教えてくれますみんなに非常に奇妙な問題があります、あなたのためにそれを解決してみましょう
3.1.4でgcmlincenceエラーが発生しました。このリポジトリからサンプルプロジェクトを試していると、機能しません.....通知が機能する構成済みプロジェクトが必要です...
デバイスIDでプッシュトークンnull .............を取得しています。 @davekedar 。 また、1つのシグナルダッシュボードでグーグルプレイサービスの初期化エラーが発生します。
@nahidmbstu新しい新しいプロジェクトを構築しようとしましたか?
おかげで、私はグーグルプレイサービスに問題がありました、それが原因でした。 私はフォローすることでそれを解決しました
https://github.com/geektimecoil/react-native-onesignal/issues/387
@nahidmbstu素晴らしい
最も参考になるコメント
もう1つ変更する必要がありました。 私は、に変更
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
でgradle-wrapper.properties
、それが働きました。 compileSdkVersionは23で、buildToolsVersionは23.0.1です。