Π Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π΄Π»Ρ iOS ΠΌΠΎΠ³ΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ°ΠΌΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ React Native Firebase.
- ΠΡΠΎΡΡΠ°Ρ JWT Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
- Firebase Push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ
- ΠΠ°Π³ΡΡΠ·ΠΎΡΠ½ΡΠΉ ΡΠΊΡΠ°Π½
- Production ΠΈ Development ΡΠ±ΠΎΡΠΊΠΈ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SVG ΠΈΠΊΠΎΠ½ΠΎΠΊ
- Push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ: React Native Firebase, Notify
- ΠΠ°Π³ΡΡΠ·ΠΎΡΠ½ΡΠΉ ΡΠΊΡΠ°Π½: react-native-splash-screen
- ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ: react-native-config
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SVG ΠΈΠΊΠΎΠ½ΠΎΠΊ: react-native-svg
- ΠΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ: react-native-toast-message
- Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ : Redux Toolkit, Redux Persist
- Π‘oΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ
npx react-native init MyApp --template https://github.com/vomikay/react-native-template-typescript.git
-
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
yarn install
cd ios && pod install
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
yarn start
yarn android [ios]
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ΅Π»ΠΈΠ·Π½ΡΡ ΡΠ±ΠΎΡΠΊΡ Π² Play Store, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π΅Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΡΠΉΡΠ΅. Π‘Π½Π°ΡΠ°Π»Π° ΡΠ΄Π°Π»ΠΈΡΠ΅ Π»ΡΠ±ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ yarn android:release
. ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° React Native.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Apple App Store, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΡΠΉΡΠ΅. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ yarn ios:release
ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Build Π² Xcode ΡΠΎ ΡΡ
Π΅ΠΌΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Release. ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ.
ΠΠ½ΠΎΠ½ΠΊΠ° Push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ iOS Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΠΊΠΎΠ½ΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ Push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Human Interface Guidlines.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ Push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π½Π° Android, ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Notify. ΠΠ°ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ Π΄Π»Ρ React Native Firebase:
<!-- android/app/src/main/AndroidManifest.xml -->
<manifest xmlns:tools="http://schemas.android.com/tools">
<application>
<!-- ... -->
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/my_notification_icon"
/>
</application>
</manifest>
ΠΠ° Android Π² Π»ΡΠ±ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ , ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ²Π΅Ρ Π΄Π»Ρ ΠΎΠΊΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. Π§ΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ²Π΅Ρ ΠΎΡΡΠ΅Π½ΠΊΠ°, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ:
<!-- android/app/src/main/res/values/colors.xml -->
<resources>
<color name="my-custom-color">#123456</color>
</resources>
<!-- android/app/src/main/AndroidManifest.xml -->
<manifest xmlns:tools="http://schemas.android.com/tools">
<application>
<!-- ... -->
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/my-custom-color"
tools:replace="android:resource"
/>
</application>
</manifest>