Alik
Вот так напиши
Alik
Ты navigate из пропсов не дергаешь, он андефайнд. Ты указываешь путь не такой, какой указал изначально в навигаторе
Oleg
<MainScreenButton onPress={() => this.props.navigation.navigate(‘NeMain’)} />
а где взять MainScreenButton и почему его onPress другой?
Alik
Вставь этот онпресс в любую кнопку на главном экране
Alik
так? https://t.me/reactnative_ru/149857
‘NeMain’ != ‘NeMainTabnavigator’
alexeyvax
Всем привет, подскажите пожалуйста с вопросом про разделение приложения на бесплатную и платную версию. Пробую разделять для андроида, через buildFlavors. Кто-то делал что-то подобное? Спасибо)
Oleg
‘NeMain’ != ‘NeMainTabnavigator’
и правда... заработало. спасибо, хоть и странно, я нигде не видел, какой параметр нужен.
Alik
Пройди гайд, который под Getting Started
Anton
Всем привет, подскажите пожалуйста с вопросом про разделение приложения на бесплатную и платную версию. Пробую разделять для андроида, через buildFlavors. Кто-то делал что-то подобное? Спасибо)
Да, так и делают обычно. Если именно одно приложение, то можно через встроенные покупки расширять бесплатное до платной. Какой то конкретный вопрос мб есть?
alexeyvax
Да, так и делают обычно. Если именно одно приложение, то можно через встроенные покупки расширять бесплатное до платной. Какой то конкретный вопрос мб есть?
Вот хотел сделать так, чтобы была простая версия (с базовым функционалом и рекламой) и возможность по подписке убирать рекламу и включать доп функциональность. Гуглил и гугл говорит, что нужно разделять через buildFlawors и targets(для ios). Т.е. фактически, это будет два разных приложения и нужно будет скачивать заново, только уже другую версию? или я может не правильно понял)
Anonymous
Привет, пытыюсь засунуть ответ с бэка после успешного логина, в AsyncStorage, и что то пишет ошибки, await AsyncStorage.setItem("RESULT", this.state.result.success); так можно делать же ? данные пихать в AsyncStorage
Anonymous
делай через store и Promise
типо через redux ?
Konstantin
типо через redux ?
я с mobx работаю
Anonymous
я с mobx работаю
я так пониаю большие значения нельзя засунуть в AsyncStorage? только строку
Konstantin
я так пониаю большие значения нельзя засунуть в AsyncStorage? только строку
через json.stringify объект в строку и суешь, потом парсишь
alexeyvax
Ну ты по идее можешь сделать двумя способами. Либо у тебя будут два приложения одно обычное и одно pro например. Либо одно приложение, но функционал разделен на базовый и pro.
Ага, т.е. можно сделать и так и так. Тогда хотел бы спросить, а как вообще принято делать, два приложения или одно но с переключением функционала? Я имею ввиду юзер экспириенс и всё такое.
Андрей
Ага, т.е. можно сделать и так и так. Тогда хотел бы спросить, а как вообще принято делать, два приложения или одно но с переключением функционала? Я имею ввиду юзер экспириенс и всё такое.
Как по мне удобнее всего внутри приложения оплатить премиум аккаунт и не скачивать ничего дополнительного. НО всё зависит от функционала, который вы планируете открывать пользователю за деньги.
alexeyvax
Как по мне удобнее всего внутри приложения оплатить премиум аккаунт и не скачивать ничего дополнительного. НО всё зависит от функционала, который вы планируете открывать пользователю за деньги.
Понял, спасибо, функционал довольно небольшой, влезет в пару if) Я вот тоже склоняюсь к варианту одно приложение и доп функционал. А вот тогда, реализовать это поведение можно через buildFlavors?
Anonymous
через json.stringify объект в строку и суешь, потом парсишь
я результат записываю в state, затем записываю из stata в AsyncStorage (await AsyncStorage.setItem("RESULT", this.state.result.success);) и чет ошибки пишет
Anonymous
Андрей
Понял, спасибо, функционал довольно небольшой, влезет в пару if) Я вот тоже склоняюсь к варианту одно приложение и доп функционал. А вот тогда, реализовать это поведение можно через buildFlavors?
buildFlavors нужно как раз для разбиения на несколько приложений. Будут разные appId, да и куча остальных параметров, которые укажете. Каждый flavor обзываете по своему типа standart, pro, каждому можете подсунуть разные ресурсы. Каждое по своей команде будет собираться. На выходе два приложения.
Konstantin
зачем результат в state?
Konstantin
json.stringify к объекту делал?
alexeyvax
buildFlavors нужно как раз для разбиения на несколько приложений. Будут разные appId, да и куча остальных параметров, которые укажете. Каждый flavor обзываете по своему типа standart, pro, каждому можете подсунуть разные ресурсы. Каждое по своей команде будет собираться. На выходе два приложения.
Ок, оставим тогда buildFlawors ) Как тогда можно реализовать функциональность по добавлению подписки, есть ли какие-то бест практисес и готовые решения на этот счёт? Мне интересна сама схема, детали реализации уже сам нагуглю))
Андрей
Ну это уже через google play и appstore делайте. Можете там создать подписку месячную например и дальше уже от этого плясать. Прикрутите покупки внутри приложения.
Андрей
а нельзя проверку производить типа подписан пользователь на про-версию или нет? и в зависимости от результата выводить/не выводить рекламу или какие доп. ф-ии?
Можно конечно. Про flavors рассказал, как про альтернативный вариант, который часто практикуется, когда делают именно две отдельные версии приложения.
Anonymous
json.stringify к объекту делал?
let result = await response.json(); JSON.stringify(result) ?
Anonymous
типо так ?
Konstantin
типа да, но result должен быть объектом
alexeyvax
Ну это уже через google play и appstore делайте. Можете там создать подписку месячную например и дальше уже от этого плясать. Прикрутите покупки внутри приложения.
т.е. предположим, для андроида, я создаю в консоли месячную подписку. Я так понимаю нужно будет встроить кусок кода в приложение, модалку или попап какой нибудь(от гугл плей), где будет предлогаться купить платную версию. Предположим, что юзер открыл модалку, перешёл по ссылке, купил подписку, и входит в приложение. Нужно ли будет мне делать запрос в гугл плей, чтобы узнать что у юзера куплена подписка или как я узнаю, что у него есть подписка? Вот это момент слегка непонятен :)
Anonymous
Konstantin
Anonymous
Пожалуйста
а так вообще нормлаьно хранить данные в AsyncStorage ?
Anonymous
вполне
ок, спасибо
Konstantin
ок, спасибо
но не все там стоит хранить
Yurii
Вот хотел бы узнать, как узнать, что юзер подписан на платную версию)
Валидацию наличия покупки у юзера нужно сделать на беке. И бек должен говорить клиенту есть ли купленный у юзера тот или другой функционал. Это даже гдето в гайдах по покупкам от Apple/Google есть.
alexeyvax
Валидацию наличия покупки у юзера нужно сделать на беке. И бек должен говорить клиенту есть ли купленный у юзера тот или другой функционал. Это даже гдето в гайдах по покупкам от Apple/Google есть.
не, ну это понятно, что на фронте такие вещи не делаются ) Хотелось узнать, куда нужно делать запросы, особенности, что с чем связано, бест практисес в общем )
Yurii
не, ну это понятно, что на фронте такие вещи не делаются ) Хотелось узнать, куда нужно делать запросы, особенности, что с чем связано, бест практисес в общем )
Тебе только какойто iap прикрутить надо для встроенных покупок. И отдать данные беку. Остальное они разрулить должны.
Yurii
и будет ли считаться авторизацией через фейсбук, гугл и прочее, или только своя авторизация?
Бек как-то в любом случае идентифицирует твоего юзера. А покупки привязываются к appleId и гугл аккаунту. В общем нужно рабираться с iap. Если покупки через сторы конечно же.
alexeyvax
Тебе только какойто iap прикрутить надо для встроенных покупок. И отдать данные беку. Остальное они разрулить должны.
А что если не идетифицирует, это простая лямбда на авс, без лишней логики. Т.е. нужно добавить какую-то авторизацию ещё?
Александр
Александр
что эт такое
Maxim 📱 D
Александр
cпасибо
Александр
а исправить то как
Maxim 📱 D
а исправить то как
отменить изменения которые к ней привели
Александр
я только експо поставил уже ошибка эта
alexeyvax
А скажите плиз, могу ли я выложить приложение в гугл плей и апп стор, как бесплатное, но с рекламой, а после этого, без проблем, заимплементить платную подписку с доп функционалом и отключением рекламы?
Maxim 📱 D
я только експо поставил уже ошибка эта
Хз, я не сталкивался, и не работаю с экспо, но если ты опишешь нормально проблему, когда она возникла и почему может и смогу помочь. И пройди заново гайд по запуску, на всякий случай
Александр
Ну смотри
Александр
Переставл винду, поставил ноду
Александр
Поставил експо
Александр
Стартую проект
Александр
5 секунд проходит вылазит это
Maxim 📱 D
проект новый?
Александр
Да
Maxim 📱 D
Да
версия ноды какая?
Александр
12.13.0