Cordova-plugin-firebase: рджреВрд╕рд░реЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рддреНрд░реБрдЯрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдЬреВрди 2016  ┬╖  22рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: arnesson/cordova-plugin-firebase

рдирдорд╕реНрддреЗ,
рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рдЖрдкрдХреЗ рдорд╣рд╛рди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореБрдЭреЗ рдЖрдпрдирд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЕрдкрдиреЗ config.xml рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ:
<plugin name="cordova-plugin-firebase" spec="https://github.com/arnesson/cordova-plugin-firebase" />
рджреВрд╕рд░рд╛, рдореИрдВрдиреЗ google-services.json (рдЬреЛ рдореБрдЭреЗ рдлрд╛рдпрд░рдмреЗрд╕ рд╡реЗрдм рдХрдВрд╕реЛрд▓ рд╕реЗ рдорд┐рд▓рд╛ рд╣реИ) рдХреЛ рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд░рдЦрд╛ рд╣реИред
рдореИрдВ рдЕрдкрдирд╛ рдирд┐рд░реНрдорд╛рдг рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

$ cordova run android
Running command: /home/user/android-app/App/hooks/after_prepare/010_add_platform_class.js /home/user/android-app/App
add to body class: platform-android
**Discovered plugin "cordova-plugin-firebase" in config.xml. Adding it to the project**
Fetching plugin "https://github.com/arnesson/cordova-plugin-firebase" via git clone
Repository "https://github.com/arnesson/cordova-plugin-firebase" checked out to git ref "master".
Installing "cordova-plugin-firebase" for android
ANDROID_HOME=/home/user/Android/Sdk/
JAVA_HOME=/opt/java/jdk1.8.0_92
No target specified, deploying to device 'F9AZCY31J032'.
:preBuild UP-TO-DATE

рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рджреВрд╕рд░рд╛ рдирд┐рд░реНрдорд╛рдг рд╣рдореЗрд╢рд╛ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ ...

$ cordova run android
Running command: /home/user/android-app/App/hooks/after_prepare/010_add_platform_class.js /home/user/android-app/App
add to body class: platform-android
Error: Invalid data, chunk must be a string or buffer, not object

рдореИрдВ cordova plugin add https://github.com/arnesson/cordova-plugin-firebase.git --save рджреНрд╡рд╛рд░рд╛ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рдкрд╣рд▓реЗ Error: Invalid data, chunk must be a string or buffer, not object рд╕рд╛рде рдХреНрд░реИрд╢ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ

рдФрд░ рдЬрдм рдореИрдВ рдкрд╣рд▓реА рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:

angular.module('app', ['ionic', 'app.controllers', 'app.routes', 'app.services', 'app.directives', 'firebase'])

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
    // for form inputs)
    if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
      cordova.plugins.Keyboard.disableScroll(true);
    }
    if (window.StatusBar) {
      // org.apache.cordova.statusbar required
      StatusBar.styleDefault();
    }

    window.FirebasePlugin.getInstanceId(function(token) {
      // save this server-side and use it to push notifications to this device
      console.log("Token", token);
    }, function(error) {
      console.error(error);
    });

  });
})

рдпрд╣ рдХреЛрдб ["рдЯреЛрдХрди", "рдирд▓"] рдХреЛ рдХрдВрд╕реЛрд▓ рдкрд░ рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдкрд╣рд▓реЗ рд╣реА, рдЖрдкрдХрд╛ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

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

рдХреНрдпрд╛ рдЖрдкрдХреЛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо/рдПрдВрдбреНрд░реЙрдЗрдб/рд░реЗрд╕/рд╡реИрд▓реНрдпреВ/рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕.рдПрдХреНрд╕рдПрдордПрд▓ рдореЗрдВ рдХреЛрдИ рдирдХрд▓реА рдпрд╛ рдЕрдЬреАрдм рдореВрд▓реНрдп рдорд┐рд▓рддрд╛ рд╣реИ?

рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрд░реНрдбреЛрд╡рд╛ рддреИрдпрд╛рд░ рдПрдВрдбреНрд░реЙрдЗрдб рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕реЗ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП)

рдпрд╣рд╛рдБ рд╡рд╣реА рдореБрджреНрджрд╛ред рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕.рдПрдХреНрд╕рдПрдордПрд▓ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИ:

    <string name="google_app_id">727247059290</string>
    <string name="google_app_id">@string/google_app_id</string>
    <string name="google_api_key">@string/google_api_key</string>

string.xml рд╕реЗ google_app_id рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рдкреБрди: рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдореИрдВрдиреЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЖрдИрдУрдПрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ? рдХреНрдпрд╛ рддреБрдореНрд╣рд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ?

рдирд╣реАрдВред рдореБрдЭреЗ рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЖрдИрдУрдПрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ GoogleService-Info.plist рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдкреЙрдб рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЖрдкрдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдЗрд╕рдиреЗ рдЕрдм Android рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ?

рдирд╣реАрдВ, рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ: рдЕрдорд╛рдиреНрдп рдбреЗрдЯрд╛ рдЬрдм рдореИрдВ рдЗрд╕реЗ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЙрд░реНрдбреЛрд╡рд╛ рддреИрдпрд╛рд░ рд╣реБрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╡рд╛рдкрд╕ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕реЗ рдЖрдИрдУрдПрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред ios рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдмрд┐рд▓реНрдб рдЗрд╢реНрдпреВ рд╣реИ: https://github.com/arnesson/cordova-plugin-firebase/issues/11

@raducostea - рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдПрдкреАрдПрди (рдРрдкреНрдкрд▓ рдкреБрд╢ рдЕрдзрд┐рд╕реВрдЪрдирд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣рд╛рдВ рдкреНрд▓рдЧрдЗрди рдХрд╛ рд▓рд┐рдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://github.com/phonegap-build/PushPluginред рдпрд╣ рдЖрдИрдУрдПрд╕ рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдЯреАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

@ рдзреНрд░реБрд╡ 270 рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдкреНрд▓рдЧрдЗрди рд╡рд┐рд╢реНрд▓реЗрд╖рд┐рдХреА рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдШрдЯрдирд╛рдУрдВ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ Google рд╡рд┐рд╢реНрд▓реЗрд╖рд┐рдХреА рдХреЗ рдЕрдВрджрд░ рдЬреЛрдбрд╝ рджреЗред

рддреНрд░реБрдЯрд┐: google-services.json рдФрд░ googleService-info.plist рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЕрдорд╛рдиреНрдп рдбреЗрдЯрд╛ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдпрджрд┐ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ json, plist рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдЬреЗрд╕рди, рдкреНрд▓рд┐рд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдХрд░ рддрдп рдХрд┐рдпрд╛ред рдореЗрд░реА рдЦрд░рд╛рдм рдЗрдВрдЧреНрд▓рд┐рд╢ рдХреЗ рд▓рд┐рдП рдорд╛рдлрд╝ рдХреАрдЬрд┐рдпреЗ

рд╣рд╛рдВ, рдЖрдкрдХреЛ рдлрд╛рдпрд░рдмреЗрд╕ рдХрдВрд╕реЛрд▓ рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдФрд░ рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреИрдХреЗрдЬ рдирд╛рдо / рдмрдВрдбрд▓ рдЖрдИрдбреА рдЬреЛрдбрд╝рдХрд░ рдЙрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛрдбрд╝реЗрдВред рдЖрдкрдХреЛ Android рдХреЗ рд▓рд┐рдП google-services.json рдФрд░ iOS рдХреЗ рд▓рд┐рдП GoogleService-Info.plist рдорд┐рд▓реЗрдЧрд╛ред рд╡рд╣ рдлрд╝рд╛рдЗрд▓ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдореЗрдВ config.xml рдЖрджрд┐ рдХреЗ рд╕рд╛рде рд░рдЦрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдпрд╛ www рдореЗрдВ рдирд╣реАрдВред

@raducostea @dhruv270 APN рдФрд░ рдкреБрд╢ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рднреА рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡

рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕рд╛ рдХрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВред рдЬрд╛рдБрдЪ рдХрд░реЗрдВ https://github.com/arnesson/cordova-plugin-firebase/issues/11

рдореЗрд░реЗ рдкрд╛рд╕ string.xml рдореЗрдВ рдХреЛрдИ рдирдХрд▓реА рдпрд╛ рдЕрдЬреАрдм рдореВрд▓реНрдп рдирд╣реАрдВ рд╣реИред
рдореИрдВрдиреЗ рдХреЙрд░реНрдбреЛрд╡рд╛-рдкреНрд▓рдЧрдЗрди-рдлрд╛рдпрд░рдмреЗрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдФрд░ "рдХреЙрд░реНрдбреЛрд╡рд╛ рддреИрдпрд╛рд░" рдХрд┐рдпрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж рдореИрдВ string.xml рдореЗрдВ рдирдП рдорд╛рди рджреЗрдЦ рд░рд╣рд╛ рдерд╛:

<string name="google_app_id">@string/google_app_id</string>
<string name="google_api_key">@string/google_api_key</string>

рдФрд░ рдЬрдм рдореИрдВ рдлрд┐рд░ рд╕реЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдмрдирд╛рддрд╛ рд╣реВрдВ:
рддреНрд░реБрдЯрд┐: рдЕрдорд╛рдиреНрдп рдбреЗрдЯрд╛, рдЦрдВрдб рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпрд╛ рдмрдлрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд╕реНрддреБ рдирд╣реАрдВ

рдХреНрдпрд╛ рдЖрдкрдиреЗ ios рдФрд░ android рджреЛрдиреЛрдВ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЬреЛрдбрд╝реЗ рд╣реИрдВ?

рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдмрдирд╛ рд▓реЗрддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА

**рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдЕрдкрд╡рд╛рдж:
com.android.dex.DexException: рдПрдХрд╛рдзрд┐рдХ рдбреЗрдХреНрд╕ рдлрд╝рд╛рдЗрд▓реЗрдВ Lcom/google/firebase/FirebaseException рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИрдВ;
com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:579) рдкрд░
com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:535) рдкрд░
com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:517) рдкрд░
com.android.dx.merge.DexMerger.mergeDexes (DexMerger.java:164) рдкрд░
com.android.dx.merge.DexMerger.merge(DexMerger.java:188) рдкрд░
com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:504) рдкрд░
com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) рдкрд░
com.android.dx.command.dexer.Main.run(Main.java:277) рдкрд░
com.android.dx.command.dexer.Main.main(Main.java:245) рдкрд░
com.android.dx.command.Main.main(Main.java:106) рдкрд░

рдЕрдиреБрддреНрддреАрд░реНрдг рд╣реЛрдирд╛**

рдореЗрд░реЗ рдкрд╛рд╕ @neosekar рдЬреИрд╕рд╛ рд╣реА рдореБрджреНрджрд╛ рд╣реИред рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓реА:

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдмрдбрд╝реА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рд╡рд┐рдзрд┐ рдЧрдгрдирд╛ рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪ рдЧрдП рд╣реИрдВред рдореИрдВ рдПрдХ рдлрд┐рдХреНрд╕ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ 2:

рдореИрдВрдиреЗ рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдХреЗ рдареАрдХ рдХрд┐рдпрд╛:

  • /рдкреНрд▓рдЧрдЗрдиреНрд╕/рдХреЙрд░реНрдбреЛрд╡рд╛-рдкреНрд▓рдЧрдЗрди-рдлрд╛рдпрд░рдмреЗрд╕/src/android/build.gradle рд╕реЗ рд▓рд╛рдЗрди 5,6,7 рдирд┐рдХрд╛рд▓реЗрдВ
  • рд▓рд╛рдЗрди 1 рдХреЛ /plugins/cordova-plugin-firebase/src/android/build-extras.gradle рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ
  • рдирд┐рдХрд╛рд▓реЗрдВ /рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо/рдПрдВрдбреНрд░реЙрдЗрдб рдлрд╝реЛрд▓реНрдбрд░
  • рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЬреЛрдбрд╝реЗрдВ (рдХреЙрд░реНрдбреЛрд╡рд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдПрдВрдбреНрд░реЙрдЗрдб рдЬреЛрдбрд╝реЗрдВ)
  • рдмрд┐рд▓реНрдб/рд░рди (рдХреЙрд░реНрдбреЛрд╡рд╛ рд░рди android --device)

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 'com.google.gms.google-services' рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓рдЧрдЗрди рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред

рдПрдХрд╛рдзрд┐рдХ рдбреАрдПрдХреНрд╕ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдПрд▓рдХреЙрдо/google/firebase/FirebaseException рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ:

рдпрд╣ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдПрдХ рдЕрдиреНрдп рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬреЛ com.google рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред gms:google-services , Firebase SDK рдпрд╛ рдЗрд╕рдХреЗ рдХреБрдЫ рднрд╛рдЧред рдореИрдВрдиреЗ рд╕реНрд╡рдпрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдФрд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдвреВрдВрдврдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
http://stackoverflow.com/questions/30648172/gradle-library-duplicates-in-dependencies

рдЬрдм рдХреЛрдИ рдЖрдИрдУрдПрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рди рд╣реЛ рддреЛ GoogleService-Info.plist рд╣реЛрдиреЗ рд╕реЗ "рджреВрд╕рд░реА рдмрд┐рд▓реНрдб рддреНрд░реБрдЯрд┐" рд╣реЛрдЧреАред рдореИрдВ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ GoogleService-Info.plist рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХреЗрд╡рд▓ рддрднреА рдмрдирд╛рдИ рдЬрд╛рдП рдЬрдм рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо/рдЖрдИрдУрдПрд╕ рдореМрдЬреВрдж рд╣реЛ ....

рдЗрд╕рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЖрдк after_prepare.js рдХреЛ рдкреИрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЕрдкрдиреЗ рдкреИрдЪ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛

@ st8st8 рд╕рдорд╕реНрдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдареАрдХ рд╣реИ (рдЧрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рдкрд░)

...
if(fileExists("GoogleService-Info.plist") && directoryExists("platforms/ios/")){
...

рдореИрдВ рдЕрднреА рдПрдХ рд╣реА рдореБрджреНрджреЗ рдкрд░ рдЖрдпрд╛ рдерд╛ рдФрд░ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж GoogleService-Info.plist рдФрд░ google-services.json рджреЛрдиреЛрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред

рдореИрдВ рдЖрдпрдирд┐рдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдареАрдХ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдФрд░ рдкреНрд▓рдЧрдЗрди рдХреЛ рд╣рдЯрд╛рдХрд░ рдлрд┐рд░ рд╕реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдФрд░ рдкреНрд▓рдЧрдЗрди рдЬреЛрдбрд╝реЗрдВ, рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред
рдЖрдпрдирд┐рдХ 2 рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд▓рд┐рдЦрддрд╛ рд╣реВрдВред

рдХреЙрд░реНрдбреЛрд╡рд╛-рдкреНрд▓рдЧрдЗрди-рдлрд╛рдпрд░рдмреЗрд╕ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

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