Skip to content

🐸 React Native template for a quick start with TypeScript.

Notifications You must be signed in to change notification settings

vomikay/react-native-template-typescript

Repository files navigation

🐸 React Native Template TypeScript

Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Push-увСдомлСния для iOS ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Если Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ сами Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ React Native Firebase.

🏷️ ВозмоТности

  • ΠŸΡ€ΠΎΡΡ‚Π°Ρ JWT аутСнтификация
  • Firebase Push-увСдомлСния
  • Π—Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ экран
  • Production ΠΈ Development сборки
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° SVG ΠΈΠΊΠΎΠ½ΠΎΠΊ

πŸ“‹ ВрСбования

  • Node.js 12 LTS ΠΈ Π²Ρ‹ΡˆΠ΅
  • Yarn 1.9 ΠΈ Π²Ρ‹ΡˆΠ΅
  • Xcode 11.13.1 ΠΈ Π²Ρ‹ΡˆΠ΅

βœ”οΈ Зависимости

πŸš€ Быстрый старт

  1. Π‘oΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
npx react-native init MyApp --template https://github.com/vomikay/react-native-template-typescript.git
  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΠΎΠ΅ Firebase ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

  2. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для Android

  3. НастройтС увСдомлСния для iOS

  4. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для iOS

  5. УстановитС зависимости

yarn install
cd ios && pod install
  1. ЗапуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
yarn start
yarn android [ios]

❔ FAQ

Как ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Google Play Store?

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·Π½ΡƒΡŽ сборку Π² Play Store, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΅Π΅ протСстируйтС. Π‘Π½Π°Ρ‡Π°Π»Π° ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΡƒΠΆΠ΅ установили. УстановитС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° устройство, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ yarn android:release. Π”Π°Π»Π΅Π΅ слСдуйтС инструкции с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта React Native.

Как ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Apple App Store?

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Apple App Store, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΅Π³ΠΎ протСстируйтС. УстановитС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° устройство, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ yarn ios:release ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Build Π² Xcode со схСмой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Release. Π”Π°Π»Π΅Π΅ слСдуйтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ инструкции.

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΡƒ Push-ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ?

Инонка 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>