рдирдорд╕реНрддреЗ,
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рджреЗрдЦрд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдПрдХ рдЦрд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдореБрдЦреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ?
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕\react-native-onesignal\android\src\main\java\com\geektime\rnonesignalandroid рдореЗрдВ рд╕рд╣реА com.geektime.rnonesignalandroid рдкреИрдХреЗрдЬ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 16.0.0
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ 0.54.2
рдорд╛рдИ рдореЗрдирдПрдкреНрд▓реАрдХреЗрд╢рди.рдЬрд╛рд╡рд╛
package com.XXX;
import com.geektime.rnonesignalandroid.ReactNativeOneSignalPackage;
import android.app.Application;
import com.facebook.react.ReactApplication;
import com.AlexanderZaytsev.RNI18n.RNI18nPackage;
import com.facebook.reactnative.androidsdk.FBSDKPackage;
import com.inprogress.reactnativeyoutube.ReactNativeYouTube;
import com.oblador.vectoricons.VectorIconsPackage;
import com.imagepicker.ImagePickerPackage;
import com.RNFetchBlob.RNFetchBlobPackage;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
import com.facebook.CallbackManager;
import com.facebook.FacebookSdk;
import com.facebook.appevents.AppEventsLogger;
import java.util.Arrays;
import java.util.List;
public class MainApplication extends Application implements ReactApplication {
private static CallbackManager mCallbackManager = CallbackManager.Factory.create();
protected static CallbackManager getCallbackManager() {
return mCallbackManager;
}
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
<strong i="12">@Override</strong>
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
<strong i="13">@Override</strong>
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(new MainReactPackage(),
new ReactNativeOneSignalPackage(),
new RNI18nPackage(), new FBSDKPackage(mCallbackManager), new ReactNativeYouTube(), new VectorIconsPackage(),
new ImagePickerPackage(), new RNFetchBlobPackage());
}
<strong i="14">@Override</strong>
protected String getJSMainModuleName() {
return "index";
}
};
<strong i="15">@Override</strong>
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
<strong i="16">@Override</strong>
public void onCreate() {
super.onCreate();
FacebookSdk.sdkInitialize(getApplicationContext());
// If you want to use AppEventsLogger to log events.
SoLoader.init(this, /* native exopackage */ false);
AppEventsLogger.activateApp(this);
}
}
рдореЗрд░реЗ рдиреЛрдбреНрд╕_рдореЙрдбреНрдпреВрд▓реНрд╕ рдореЗрдВ ReactNativeOneSignalPackage.java
package com.geektime.rnonesignalandroid;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.JavaScriptModule;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* Created by Avishay on 1/31/16.
*/
public class ReactNativeOneSignalPackage implements ReactPackage {
...
}
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХреНрдпреЛрдВ "рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рд▓рд┐рдВрдХ" рд▓рд╛рдЗрди "рд╕рдВрдХрд▓рди рдкрд░рд┐рдпреЛрдЬрдирд╛ (': рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдПрдХ-рд╕рд┐рдЧреНрдирд▓') рдирд╣реАрдВ рдЬреЛрдбрд╝ рд░рд╣рд╛ рдерд╛" рдореИрдВрдиреЗ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ
рдПрдХ рдФрд░ рдЫреЛрдЯреА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд▓рд┐рдВрдХ рдХреНрд░рд┐рдпрд╛ рд╣рд░ рдмрд╛рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ
import com.geektime.rnonesignalandroid.ReactNativeOneSignalPackage;
new ReactNativeOneSignalPackage(),
рдорд╕рд▓рд╛ рдмрдВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
@Kisepro рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдБред рдЕрдкрдиреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ, рдореИрдВрдиреЗ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдФрд░ рд░реАрдбрдореА рдореЗрдВ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рджреЗрд╢реА-рдПрдХ-рд╕рд┐рдЧреНрдирд▓ рдПрд╕рдбреАрдХреЗ рдХреЛ рдЬреЛрдбрд╝рд╛ред
рдХреНрдпрд╛ рдЖрдкрдиреЗ рдкрддреНрд░ рдХреЗ рд▓рд┐рдП рд░реАрдбрдореА рдореЗрдВ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдареАрдХ-рдареАрдХ рдкрд╛рд▓рди рдХрд┐рдпрд╛? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЖрдкрдиреЗ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛?
@ Nightsd01 рд╣рд╛рдВ рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдареАрдХ-рдареАрдХ рдкрд╛рд▓рди рдХрд┐рдпрд╛, рдФрд░ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдЬрдм рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЙрд╕ рдореБрджреНрджреЗ рдкрд░ рдЕрдкрдирд╛ рд╕рдордп рдирд╣реАрдВ рдЧрдВрд╡рд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ "рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдкреБрд╢-рдЕрдзрд┐рд╕реВрдЪрдирд╛" рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕рдВрдХрд▓рди рдирд┐рд░реНрджреЗрд╢ рдХреА рддрд░рд╣ рдПрдХ рдФрд░ рд╕рдВрдШрд░реНрд╖ рдерд╛
dependencies {
compile ('com.google.android.gms:play-services-gcm:8.1.0') {
force = true;
}
...
}
рдореБрдЭреЗ рдЕрдм рдЗрд╕ рдкреИрдХреЗрдЬ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╣рдЯрд╛рдирд╛ рдХреЛрдИ рдмрдбрд╝реА рдмрд╛рдд рдирд╣реАрдВ рдереА
рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдХрд░ рдЦреБрд╢реА рд╣реБрдИ рдХрд┐ рдЗрд╕рд╕реЗ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЧрдпрд╛ред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ onesignal рдЧреНрд░реЗрдб рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдРрдк рдЧреНрд░реЗрдбрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
plugins {
id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХреНрдпреЛрдВ "рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рд▓рд┐рдВрдХ" рд▓рд╛рдЗрди "рд╕рдВрдХрд▓рди рдкрд░рд┐рдпреЛрдЬрдирд╛ (': рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдПрдХ-рд╕рд┐рдЧреНрдирд▓') рдирд╣реАрдВ рдЬреЛрдбрд╝ рд░рд╣рд╛ рдерд╛" рдореИрдВрдиреЗ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ
рдПрдХ рдФрд░ рдЫреЛрдЯреА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд▓рд┐рдВрдХ рдХреНрд░рд┐рдпрд╛ рд╣рд░ рдмрд╛рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ
рдорд╕рд▓рд╛ рдмрдВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИ