Vlad
А может можно самому саниммровать?
Никита
там в issue кидали либу какую то. Плюс в свое время использовал keyboard-aware-scrollview Плюс можно реально поковыряться с onLayout/mesure чтобы находить позицию инпута и на onFocus делать нужный скролл. Еще и добавлять padding снизу при фокусе
Vlad
Понял, спасибо, пойду ковырять эту красоту...)
Паша
Гайз, привет Решил сделать проект не через экспо а на нативе и ловлю ошибку постоянно такую же https://stackoverflow.com/questions/50793841/execution-failed-for-task-appmergedebugresources-react-native-currently-tr из всех ответов только "почитсить кэш градла" Мб кто сталкивался?
K B
react - navigate создаю createStackNavigator - делаю там свой header но у header есть несколько вариаций в зависимости от экрана можно ли прокинуть какие-либо признаки в headert из других экранов ?
K B
const AppNavigator = createStackNavigator( { mainTackScreen: { screen: mainScreens, }, }, { defaultNavigationOptions: { header: props => <Header {...props} />, }, }, );
K B
mainScreens - createDrawerNavigator
K B
признаки привязать к экранам mainTackScreen: { screen: mainScreens, navigateOptional:{ params:.... } }, что-нибудь такого типа
K B
не хочется на каждый стек экранов делать вызывать свой компонент header и прокидывать в него параметры хочется как-то привязать параметры к экранам и хэдр создавать сразу в одном месте
Anton
Нужно их почистить, например удалить те что есть сейчас (но это не точно). Статьи точно есть как это делать
Паша
У тебя дубликаты в ресурсах
дубликаты эмуляторов андроида?
Evgeniy
Кто работалс react-native-iap, а именно с подписками для ios. Как правильно делать проверку активная ли подписка? Проблема в том, что на дебаге все работает норм. А в testFlight происходит проблема. isSubscriptionActiveIos = () => { RNIap.getPurchaseHistory() .then(purchases => { // console.log('purchases', purchases) RNIap.validateReceiptIos({ //Get receipt for the latest purchase 'receipt-data': purchases[purchases.length - 1].transactionReceipt, 'password': 'secret' }, true) .then(receipt => { //latest_receipt_info returns an array of objects each representing a renewal of the most const renewalHistory = receipt.latest_receipt_info const expiration = renewalHistory[renewalHistory.length-1].expires_date_ms expiration > Date.now() ? this.props.handleIsSubscribed(true) : this.props.handleIsSubscribed(false); }) .catch(error => { console.log('ERROR', error); Alert.alert(error.message); this.props.handleIsSubscribed(false)}) }) } this.props.handleIsSubscribed(true) - в этом методе я пишу значение в стору и потом юзаю в дальнейшем
Stas
ну потому, что как минимум нужно отсортировать latestReceiptInfo
Stas
по purchaseDate
Evgeniy
ну потому, что как минимум нужно отсортировать latestReceiptInfo
я думал, что последняя в конце идет так как на дебаге так и получается
Evgeniy
ок попробую. спасибо
Stas
ну я бы не был в этом так уверен)
Stas
+ будьте готовы
Stas
что ваш реквест на валидацию
Stas
может часто фейлится
Narek
это больная тема)
Stas
он больше для сервера предназначен
Narek
сделано если честно через жопу)
Narek
ща
Narek
скину тебе
Stas
в эту либо нужно бы добавить возможность забрать ресипт нативными средставми, и локально его декодировать.
Stas
ходить с клиента на сервер Apple по api так себе идея
Evgeniy
у меня еще получается после этой проверки открывается экран с покупкаи если надо купить. и по нажатию на кнопку очень долго жду диалог с подтверждением покупки
Stas
очень долго, это сколько?
Evgeniy
бывает больше минуты
Stas
хм.
Stas
в sandbox может чуть тупить
Stas
но чтобы минута..
Evgeniy
я читал про это
Evgeniy
а когда перед этим валидацию у бираю быстрее становится
Stas
а зачем вам валидация перед покупкой?
Stas
я имею ввиду, после нажатия на кнопку купить
Evgeniy
ну получается при входе в приложение проверка на то активна ли подписка, а если не активна открывается окно с подписками
Stas
так
Stas
ну вообще зависимости быть не должно.
Stas
Кто работалс react-native-iap, а именно с подписками для ios. Как правильно делать проверку активная ли подписка? Проблема в том, что на дебаге все работает норм. А в testFlight происходит проблема. isSubscriptionActiveIos = () => { RNIap.getPurchaseHistory() .then(purchases => { // console.log('purchases', purchases) RNIap.validateReceiptIos({ //Get receipt for the latest purchase 'receipt-data': purchases[purchases.length - 1].transactionReceipt, 'password': 'secret' }, true) .then(receipt => { //latest_receipt_info returns an array of objects each representing a renewal of the most const renewalHistory = receipt.latest_receipt_info const expiration = renewalHistory[renewalHistory.length-1].expires_date_ms expiration > Date.now() ? this.props.handleIsSubscribed(true) : this.props.handleIsSubscribed(false); }) .catch(error => { console.log('ERROR', error); Alert.alert(error.message); this.props.handleIsSubscribed(false)}) }) } this.props.handleIsSubscribed(true) - в этом методе я пишу значение в стору и потом юзаю в дальнейшем
добавьте в запрос еще одну пропертю: exclude-old-transactions: true - станет быстрее здесь еще нужно учитывать cancellation_date - дату когда юзер сделал refund через apple support. т.е. похорошему, нужно искать любую незаэкспайренную подписку и у которой нет cancellation_date
Stas
ну и все-таки, эппл рекомендую так не делать)
Stas
https://developer.apple.com/documentation/storekit/in-app_purchase/validating_receipts_with_the_app_store
Evgeniy
ну лучше через сервак свой делать?
Stas
в идеале да
Stas
но тут есть нюансы, если вам как мне нужен оффлайн мод)
Stas
и валидация в оффлайне)
Evgeniy
Понял. Буду думать над этим)
Stas
тогда на данный момент эта либа не лучший выбор
Evgeniy
та нет, оффлайн мне впринципе не нужен
Олег
Всем привет, как отловить ошибку почему парситься JSOn валидаторы хавают норм через jquery (на сайте) тоже хавает вот только вытягиваю Фетч (ибо надо на react native) начинается пздц очень информативная ошибка ошибка
Олег
Никита
а что если залогать configData.describeConfig?
Олег
Да ниче обичный json
Aynur
точно? скрин пожалуйста
Никита
ну там вроде как пробел на нулевой позиции судя по ошибке
Севä
мб Content-Type некорректно определяется
Севä
попробуй указать в фетче
Севä
Не моё дело конечно, но почему пост?
Севä
и ещё, возможно тебе надо после фетча .then(res => res.json()) ?
Олег
Хз сервер не я писал да и менять там чтото не вариант так как raspberry мониторят екологию и разбросани хрен зна где а общего доступа через инет чтоби менять что то сервер нету только ручками только хардкор)
Олег
и ещё, возможно тебе надо после фетча .then(res => res.json()) ?
Тоже самое вобще ресовлю через text() чтоби хоть что то получить)
Севä
лол, а сервер в респонс правильный контент тайп подставляет?
Олег
лол, а сервер в респонс правильный контент тайп подставляет?
НА сервере вобще не ставится ни одного заголовка😡(он писался еще во времена динозавров)
Олег
jquery думаю хавает так как там data type явно прописан но вот хрен аналог есть в Фетч (на Content-Type и Accept но чет не помагает)
Mikhail
Acces-Control-Allow-Origin header должен быть на стороне сервера
Олег
Но из других таких же запросов все норм
Mikhail
Проверь, может в json трабл?
Gena
Можете его вот так залоггировать? console.log(`my json '${json}'`)
Олег
Проверь, может в json трабл?
Нет валидатори говорят что все норм барузер парсит постмен хавает вопрос как отловить ошибку
Севä
А ты можешь не фетч заюзать, а что-нибудь вроде axios'а