React-native-onesignal: Google Play рд╕реЗрд╡рд╛рдПрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рддреНрд░реБрдЯрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рдлрд╝рд░ре░ 2018  ┬╖  35рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: OneSignal/react-native-onesignal

рдирдорд╕реНрддреЗ,

рдореИрдВ рдЕрдкрдиреЗ рдРрдк рдХреЛ OneSignal рд╕реЗ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВред рдРрдк рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕реВрдЪрдирд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред

рдЬрдм рдореИрдВ рдкреНрд░рд╢рд╛рд╕рди рдореЗрдВ Users/All Users рдЬрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдПрдХ рдХрдиреЗрдХреНрд╢рди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди Google Play services library initialization error. Check for conflicting plugins and make sure "com.google.android.gms.version" is in your AndroidManifest.xml. Check the logcat for more details. рдмрддрд╛рддреЗ рд╣реБрдП рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рдеред
рдореИрдВрдиреЗ AndroidManifest.xml рд╕реНрдерд┐рдд android/app/build/intermediates/manifests/full/debug рдФрд░ рдореИрдВ рд╡рд╣рд╛рдВ com.google.android.gms.version рдореЗрдЯрд╛рдбреЗрдЯрд╛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВред

рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реБрдЭрд╛рд╡?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рд╛рдВ рдпрд╣ рд╣реИред рдореИрдВ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкреНрд░рджрд╛рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

image

image

рд╕рднреА 35 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдЙрдкрдХрд░рдг OneSignal рдХреЗ рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ?

рд╣рд╛рдВ рдпрд╣ рд╣реИред рдореИрдВ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкреНрд░рджрд╛рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

image

image

рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред рдореБрдЭреЗ рдЗрд╕ рдмрд╛рдд рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдереА рдХрд┐ рдРрдк рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдбреАрдмрдЧ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

рдЕрджреНрдпрддрди - рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░рдг рдпрд╣ рдерд╛ рдХрд┐ рдореБрдЭреЗ рд╕реВрдЪрдирд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдереАред рддреЛ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣ рдкрдВрдХреНрддрд┐ рдЖрдкрдХреЗ AndroidManifest.xml :

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдпрд╣ рдХреЛрдб рдЬреЛрдбрд╝рд╛ рд▓реЗрдХрд┐рди рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ :-( рдХреГрдкрдпрд╛ рдорджрдж рдХрд░реЗрдВред

рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛

@LuckyLuky @wpyar @yaseralimardany рдХреЛрдИ рдЙрдкрд╛рдп? рдзрдиреНрдпрд╡рд╛рдж..

рд╡реИрд╕реЗ рдореИрдВрдиреЗ рдЬреЛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдЙрддреНрдкрдиреНрди AndroidManifest.xml рдХреЗ рдбрд┐рдмрдЧ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ, рдпрджрд┐ рдЗрд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐ рд╣реИред рдЕрдиреНрдпрдерд╛, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ред

рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛

@LuckyLuky @yaseralimardany рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рд╛, рдореЗрд░реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рдмрд┐рд▓реНрдб рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдореБрджреНрджрд╛ рд╣реИ ...
рдЧреНрд░реЗрдбреЗрд▓, рдЬреАрдПрдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдЖрдЦрд┐рд░рдХрд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рддреБрдо рджреЛрдиреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рджред

рдореБрдЭреЗ рд▓реЙрдЧрдХреИрдЯ рдореЗрдВ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:
E/OneSignal: FCM рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЕрдЬреНрдЮрд╛рдд рддреНрд░реБрдЯрд┐
java.lang.NoSuchMethodError: рдХреЛрдИ рд╕реНрдерд┐рд░ рд╡рд┐рдзрд┐ isDeviceProtectedStorage(Landroid/content/Context;)Z рдХрдХреНрд╖рд╛ рдореЗрдВ рдпрд╛ рдЗрд╕рдХреЗ рд╕реБрдкрд░ рдХреНрд▓рд╛рд╕реЗрд╕ ('android.support.v4.content.ContextCompat' рдХреА рдШреЛрд╖рдгрд╛ /data/app/com.motoshubapp-2/base.apk рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ)
com.google.firebase.FirebaseApp.zza рдкрд░ (рдЕрдЬреНрдЮрд╛рдд рд╕реНрд░реЛрдд)
com.google.firebase.FirebaseApp.initializeApp (рдЕрдЬреНрдЮрд╛рдд рд╕реНрд░реЛрдд) рдкрд░
com.onesignal.PushRegistratorFCM.initFirebaseApp рдкрд░ (PushRegistatorFCM.java:64)
com.onesignal.PushRegistratorFCM.getToken рдкрд░ (PushRegistatorFCM.java:50)
com.onesignal.PushRegistratorAbstractGoogle.attemptRegistration(PushRegistratorAbstractGoogle.java:97) рдкрд░
com.onesignal.PushRegisterAbstractGoogle.access$100 рдкрд░ (PushRegistatorAbstractGoogle.java:37)
com.onesignal.PushRegisterAbstractGoogle$1.run рдкрд░ (PushRegisterAbstractGoogle.java:84)
java.lang.Thread.run рдкрд░ (рдереНрд░реЗрдб.рдЬрд╛рд╡рд╛:818)

рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ pushToken рд╢реВрдиреНрдп рд╣реИред onesignl рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рд╣реИ:

Google Play рд╕реЗрд╡рд╛рдПрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рддреНрд░реБрдЯрд┐

рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ред

рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

рдореИрдВ рднреА рдЗрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ

рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЗрд╕рдХреА onesignal рд╕рдорд╕реНрдпрд╛ред рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд┐рд╕реЗ рдЖрдк androidmanifest рдореЗрдВ рдРрдк рдЖрдИрдбреА рдбрд╛рд▓рддреЗ рд╣реИрдВред

@yaseralimardany рдореБрдЭреЗ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЯреЛрдХрди рдХреЛ рднреА рдзрдХреНрдХрд╛ рджреЗрдирд╛ рд╢реВрдиреНрдп рд╣реИред рдХреБрдЫ рдирдпрд╛??

@LuckyLuky рдореБрдЭреЗ рдЕрдиреБрдорддрд┐ рдереА рдФрд░ рдЕрднреА рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИред

@adirzoari рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЕрдиреБрдорддрд┐ рдмрд┐рд▓реНрдб рдХреЗ рджреМрд░рд╛рди рдЙрддреНрдкрдиреНрди AndroidManifest.xml рдХреЗ рдбрд┐рдмрдЧ/рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдореМрдЬреВрдж рд╣реИред рдЕрдиреНрдпрдерд╛, рдореИрдВ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред

рд╢рд╛рдпрдж рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдлрд╝рд╛рдпрд░рдмреЗрд╕ рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдирд╡реАрдирддрдо 3.2.4 OneSignal SDK рд╣реИ рдЬреЛ 21 рдордИ рдХреЛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЧреНрд░реИрдбрд▓ рдкреНрд▓рдЧрд┐рди рдЪрд░рдг

рд╣рд╛рдВ, рдореИрдВ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ :(

рдпрд╣рд╛рдБ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ...рдореИрдВ xamarin рдХреЗ рд╕рд╛рде onesignal рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд╣рд▓ рдХрд┐рдпрд╛ ....
рдореИрдВрдиреЗ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ google play рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдкреИрдХреЗрдЬ рдФрд░ onesignal рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рджрд┐рдпрд╛ред
рдЗрд╕рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ onesignal рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
Ps: рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рдмрдирд╛рдП рдЧрдП рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдореЗрдВ рджреЗрдЦреЗрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ Google Play рд╕реЗрд╡рд╛рдПрдВ dll рд╣реИред
P2s: рдореИрдВ xamarin рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде onesignal рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

@lahed , рдЖрдкрдХреЗ рдХрдВрдкрд╛рдЗрд▓ рдПрд╕рдбреАрдХреЗрд╡рд░реНрд╕рди 26 рдХреЗ рд╕рдВрд╕реНрдХрд░рдг, рдмрд┐рд▓реНрдбрдЯреВрд▓рд╡рд░реНрд╕рди "26.0.0" рдХреЛ рдЖрдкрдХреЗ рдХрдВрдкрд╛рдЗрд▓ "com.android. support:appcompat-v7 :

+1

рдЪреЗрдХ #525

@lahed , рдореБрдЭреЗ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдорд┐рд▓ рд░рд╣реА рд╣реИ рд▓реЗрдХрд┐рди рдРрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрд░реИрд╢ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ ???????????????????

рдореЗрд░реА рдмрд┐рд▓реНрдб.рдЧреНрд░реЗрдбрд▓

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        maven { 
            url 'https://maven.google.com/' 
            name '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()
        maven { 

            url "$rootDir/../node_modules/react-native/android"
        }
        maven { 
            url 'https://maven.google.com/' 
            name 'Google' 
        }
    }
}

рдРрдк/рдмрд┐рд▓реНрдб.рдЧреНрд░реЗрдбрд▓

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 26
    buildToolsVersion "26.0.2"

    defaultConfig {
        applicationId "com.driverapp"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
         manifestPlaceholders = [onesignal_app_id: "7cb17176-6d1d-48cb-89aa-2df617123eba",
                                onesignal_google_project_number: "REMOTE"]
    }
    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-mauron85-background-geolocation')
    compile project(':react-native-image-picker')
    compile project(':react-native-onesignal')
    compile project(':react-native-vector-icons')
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.android.support:appcompat-v7:26.0.1"
    compile "com.facebook.react:react-native:+"  // From node_modules
    compile(project(':react-native-maps')){
        exclude group: 'com.google.android.gms', module: 'play-services-base'
        exclude group: 'com.google.android.gms', module: 'play-services-maps'
    }
    compile 'com.google.android.gms:play-services-base:+'
    compile 'com.google.android.gms:play-services-maps:+'
}

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


рдПрдХ рд╕рд┐рдЧреНрдирд▓ рдХреЛрдб

 OneSignal.init("7cb17176-6d1d-48cb-89aa-2df617123eba")
      OneSignal.setSubscription(true);
     // OneSignal.inFocusDisplaying(2);


      OneSignal.addEventListener('received', this.onReceived);
      OneSignal.addEventListener('opened', this.onOpened);
      OneSignal.addEventListener('ids', this.onIds);

      OneSignal.configure();  // if device info not working 


    }


    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);
    }




    componentWillUnmount() {
      OneSignal.removeEventListener('received', this.onReceived);
      OneSignal.removeEventListener('opened', this.onOpened);
      OneSignal.removeEventListener('ids', this.onIds);

    }

androidmanifesto.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.driverapp">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>

    <application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:allowBackup="false"
      android:theme="@style/AppTheme">
      <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:windowSoftInputMode="adjustResize"
        android:launchMode="singleTop">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
      </activity>
      <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
       <meta-data
      android:name="com.google.android.geo.API_KEY"
      android:value="key"/>
    </application>

</manifest>

<activity ...> <service android:name="com.google.firebase.components.ComponentDiscoveryService" > <meta-data android:name="com.google.firebase.components:com.google.firebase.iid.Registrar" android:value="com.google.firebase.components.ComponentRegistrar" /> </service> ... </activity>

рдЗрд╕рд╕реЗ рдореЗрд░рд╛ рдХрд╛рдо рдмрдирддрд╛ рд╣реИ

рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рдореИрдВ onesignal рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг 2.6.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпрд╛ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рдХреБрдЫ рдФрд░ рд╣реИ? рдзрдиреНрдпрд╡рд╛рдж

рдпрд╣рд╛рдБ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕ рдЕрдиреНрдп рдореБрджреНрджреЗ рдкрд░ рдЕрдкрдиреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рдкреЛрд╕реНрдЯ рдХреА рд╣реИрдВ:

https://github.com/OneSignal/react-native-onesignal/issues/525#issuecomment -668732429

рдореИрдВрдиреЗ рдРрдк рдореЗрдВ onesignal рдХреЗ app_id рдХреЛ рдПрдХ рдирдП рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред

рдореИрдВ рднреА рдЗрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

exclusiveTanim picture exclusiveTanim  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ilyakar picture ilyakar  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

HristoEftimov picture HristoEftimov  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ccstorch picture ccstorch  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Steffi3rd picture Steffi3rd  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ