-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Перенос серверной логики определения webview из коров + добавление кук #29
Conversation
andreitakarski
commented
Nov 1, 2024
- В b2n перенесено все в папку client;
- Перенесена вся логика из папки extract-alfa-mobile-webview-params в корах в папку server;
- Добавлена кука с параметрами вебвью
- Добавлена проверка куки при определении вебвью окружения
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Привет.
- Нужно добавить
README.md
с инструкциями для партнёров; - Нужно всё упростить на сервере:
- Если кука уже есть – значит это вебвью окружение, информация об АМ уже там. Можно ничего не делать;
- Если куки нет:
- чекнуть, вебвью ли?
- для вебвью, записать в куку инфу о нативном приложении.
Всякие особенности нашего веб-приложения (Capsule, Voskhod) здесь не нужны.
Наверно, было бы круто, на клиенте добавить утилитку, которая сама будет парсить куку, создавать экземпляр b2native
и возвращать его.
BTW: В комментарий к Задаче, докинул ссылку на обновленную серверную логику в нашем веб-приложении.
aaffe4d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Привет.
Глянь ещё комментики, пожалуйста 😇
Всё не успел посмотреть, хочу в течение дня досмотреть...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Привет.
Предлагаю следующие изменения к этому ПР → https://github.com/core-ds/bridge-to-native/tree/feat/NEWCLICKUI-3942_suggestions (можно зачерипикать коммиты, если нет замечаний).
Там 👆 пока только к серверной части изменения, по фронту есть вопросы по существующей реализации. Надо отдельно разбираться.
Мотивация по изменениям.
- Мы должны эту либу делать универсальной – подходящей для любого партнера, не затаскивая сюда сущности из нашего веб-приложения (что за
blankPagePath
?); - Мы должны сделать её как можно более легкой в использовании, максимально инкапсулируя детали реализиции вебвью-модуля нативного приложения (зачем в
index
экспорт внутренних методов?).
Что сделано
В server
теперь только две функции в index
:
isWebviewEnvironment
– чтобы партнер мог узнать, пришел запрос из вебвью нашего нативного приложения или нет;storeNativeParamsForClientIfWebview
– чтобы партнёр мог просто вызвать эту функцию, и за него все само распарсилось и записалось в куку.
Все, о чем он должен знать – это интерфейс этих двух функций.
Что ещё нужно сделать
- Автоматически читать куку при инициализации b2native на клиенте (убрать
nativeParams
вообще); - Убрать все специфичные для нашего веб-приложения фичи (типа blankPage, handleRedirect и пр.).
В ближайшее время постараюсь предложить изменения на клиенте, но не уверен, что успею завтра.