Обзор и настройка Custom links для Android и iOS во Flutter-приложении
Всем привет, меня зовут Алексей, я Flutter — разработчик. В этом наборе статей разберем Deep links, рассмотрим какие они есть, как их настраивать и использовать в Flutter приложении.
Всего будет 3 статьи:
- Обзор и настройка Custom links для Android и iOS (текущая)
- Настройка Universal links для iOS и App links для Android
- Обработка в приложении с использованием Flutter и Redux
Начнем!
Deep links — это просто ссылки, похожие на обычные веб-ссылки, но позволяющие пользователю открыть приложение на телефоне, либо установить его. Как и веб-ссылки deep links могут содержать дополнительную информацию.
Для удобства будем использовать uni_links. Удобный пекедж, позволяющий за короткий срок все настроить.
Deep links делятся на два типа — Custom links и Universal links (для iOS, App links для Android).
Начнем с Custom links и сразу рассмотрим их плюсы и минусы:
Плюсы:
● Очень легкая настройка
● Не нужно настраивать ничего кроме приложения
● Не нужно наличие сайта / сервера
Минусы:
● Работают только при установленном приложении
● Многие мессенджеры не распознают такой тип ссылки как ссылку (например Telegram)
● Не перенаправляют на App Store и Play Market если нет установленного приложения
● Никак не взаимодействуют с вашим веб приложением (если оно есть)
Итак, если нас все устраивает переходим к настройке и использованию.
Custom links имеют вид [YOUR_SCHEME]://[YOUR_HOST], где [YOUR_SCHEM] и [YOUR_HOST] удобные для вас слова. Дальше для примеров будем использовать example для схемы и myapp.com для хоста. По итогу получаем ссылку example://myapp.com.
Но что с ней делать?
Android:
Переходим в android/app/src/main/AndroidManifest.xml и добавляем:
<manifest ...> <!-- ... other tags --> <application ...> <activity ...> <!-- ... other tags --> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> android:scheme="example" // YOUR_SCHEME android:host="myapp.com" /> // YOUR_HOST </intent-filter> </activity> </application> </manifest>
iOS:
Переходим в ios/Runner/Runner.entitlements:
<?xml ...> <!-- ... other tags --> <plist> <dict> <!-- ... other tags --> <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLName</key> <string>myapp.com</string> // YOUR_HOST <key>CFBundleURLSchemes</key> <array> <string>example</string> // YOUR_SCHEME </array> </dict> </array> <!-- ... other tags --> </dict> </plist>
И вуаля, ваше приложение будет открываться при нажатии на example://myapp.com/[ЧТО_УГОДНО_ДАЛЬШЕ].
О Custom Links и App links и их обработке поговорим в следующих частях.
3 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів