Teraz zastosujmy to, czego nauczyliśmy się podczas ostatnich wykładów w naszym projekcie sklepu, który zbudowaliśmy na cały ten kurs.
Tutaj dostałem ten projekt ze zintegrowaną React Navigation pięć tak często w sekcji, w której pokazuję, jak
zaktualizować, aby zareagować na nawigację pięć.
I nic nie zmieniłem.
To jest aplikacja, jaką znamy, działająca na symulatorach.
I kochanie, możemy oczywiście utworzyć tutaj konto z pewnymi danymi uwierzytelniającymi.
Przede wszystkim muszę się zarejestrować.
A teraz tutaj możemy dodawać produkty i tak dalej.
Teraz mój pomysł jest martwy, gdy dodamy tutaj produkt.
W rzeczywistości nie przechowujemy produktu ze wszystkimi danymi, które przesyłamy do tej pory, kiedy
tworzymy produkt, udostępniamy tytuł, opis, zdjęcie.
Jesteś El Price i jesteś właścicielem I. RE. Ale zamiast tego, oprócz udostępniania tego
wszystkiego, chcę również dodać token push urządzenia użytkownika, który dodał jego produkt.
Aby odepchnąć Tolkana od sprzedawcy, chcę to również dodać do produktu.
Czemu?
Dzięki temu, gdy pobieramy dane produktu, możemy również pobrać token push należący do produktu.
I chociaż nie pokażemy tego innym użytkownikom, użyjemy go w kodzie, aby zapewnić, że kiedy
zamówienie zostanie złożone, kiedy dodamy zamówienie, nie tylko przechowujemy.
Tata zamówił dane w bazie danych, ale wysyłamy również powiadomienie push do właściciela właśnie
zamówionego produktu, informując go, że produkt został zamówiony.
To mój pomysł tutaj.
To oczywiście oznacza, że będziemy musieli przeanalizować przedmioty znajdujące się w koszyku, a następnie zasadniczo
wyślemy powiadomienie push dla każdego produktu.
To mój pomysł.
Aby dług mógł się upewnić, że to zadziała, musimy przede wszystkim się przygotować.
Projektuje powiadomienia push.
Oznacza to, że przede wszystkim powinniśmy przejść do App Jason i dodać tutaj wpis Androida, w
którym powiedzieliśmy, że należy użyć interfejsu API następnych powiadomień, aby był prawdziwy.
Właśnie to pokazałem wam w innych wykładach.
Wszyscy musimy poprosić użytkownika o zgodę.
Pytanie brzmi, gdzie chcemy to zrobić.
Oczywiście, ponieważ to Steve.
Twórca produktu, który powinien otrzymywać powiadomienia push.
Zapytam o pozwolenie tuż przed stworzeniem nowego produktu.
Mamy więc naszego użytkownika, nasz ekran dodanych produktów, w którym tworzymy nowy produkt.
I tam w końcu uruchamiamy akcję w produktach, które James tutaj uruchomi, tworzy akcję
produktu.
A teraz moje pomysły, które proszę o pozwolenie tutaj.
Następnie pobieram token tutaj, a następnie możemy dodać token do danych wychodzących wysyłanych na
serwer.
Dlatego po pierwsze, Expo zainstaluj pakiet powiadomień Expo, a także uprawnienia Expo.
A następnie zastosujmy oba, tak jak dowiedzieliśmy się o wykładach w tym module.
Więc z tym zainstalowanym tutaj i stwórz produkt, zanim zrobimy cokolwiek innego.
Chcemy korzystać z interfejsu API powiadomień i do tego musimy zaimportować wszystko jako powiadomienia.
Z.
Powiadomienia o wystawach, a to także już importuje wszystko jako uprawnienia z uprawnień do wystaw.
A dzięki tym dwóm interfejs API jest importowany w produkcie create, możemy użyć powiadomień, aby uzyskać nasz token push expo.
Jednak, jak wiesz, nie chcemy tego bezpośrednio robić.
Zamiast tego chcemy przede wszystkim sprawdzić status uprawnień, więc powinniśmy korzystać z uprawnień i
uzyskać informacje o tych uprawnieniach do powiadomień.
To zwraca obietnicę.
A ponieważ mamy tutaj funkcję asynchroniczną, możemy po prostu na nią poczekać.
Teraz otrzymamy obiekt martwego stanu, który ma tę właściwość statusu, która mówi nam, czy zezwolenie
zostało udzielone, czy nie.
Możemy więc sprawdzić, czy obiekt statusu.
Status DOT może nie zostać przyznany, co oznacza, że nie mamy jeszcze uprawnień.
Następnie chcemy ponownie użyć interfejsu API uprawnień, aby poprosić o pozwolenie na powiadomienia.
Z tym kodem.
I to wszystko, co mieliśmy wcześniej.
Teraz wystarczy asynchronicznie czekać zamiast tego.
Ale poza tym jest tak samo.
I tutaj znów otrzymamy nasz status.
Obiekt.
Teraz, ponieważ mielibyśmy konflikt nazwisk, wszyscy jesteście nazwani w tym roku.
Zaktualizowany obiekt statusu.
I oczywiście tutaj też powinniśmy poczekać, ponieważ tata jest synchroniczny i zwraca obietnicę.
W tym momencie możemy teraz sprawdzić, czy zaktualizowany obiekt statusu ma status.
To nie jest równe przyznanemu.
W takim przypadku wiemy, że nie będziemy mogli wysyłać powiadomień push.
I tata jest absolutnie w porządku.
Po prostu utworzę tutaj zmienną tokena i ustawię token na wartość Knol tutaj, aby było bardzo jasne, że po prostu nie
mamy tutaj tokena.
Właściwie nie nazywajmy jego tokena, ponieważ już użyliśmy tej nazwy.
Nazwijmy to.
Wciśnij token.
Ponieważ w końcu chcemy odzyskać tatę.
Ustawiliśmy więc na zero, jeśli absolutnie nie otrzymaliśmy pozwolenia, ponieważ w tym przypadku nie możemy nic
zrobić, ponieważ po prostu nie mamy pozwolenia na wysyłanie powiadomień push.
Jest jak jest.
Ale w przypadku ELT tata robi to.
W takim przypadku możemy ustawić nasz token push równy powiadomieniu Stotz uzyskać XPO Push, asynchronizacja Tolkana i oczywiście,
to obietnica.
Powinniśmy więc na to poczekać.
Oczywiście nie otrzymujemy tokena bezpośrednio.
Zamiast tego otrzymujemy obiekt, który ma pole danych, jeśli pamiętasz.
Więc możemy zawinąć to tutaj w nawiasy i wywołać dane na ten temat.
Oznacza to po prostu, że przede wszystkim ta obietnica została spełniona.
Następnie wywołujemy dane dotyczące rozstrzygniętego obiektu po tym, jak oczekujemy, że obieca i zobaczy wartość w danych, które
następnie przechowujemy w zmiennej tokena push.
Więc tutaj będziemy mieli nasz token push, którego potrzebujemy.
Teraz, kiedy to mamy, możemy kontynuować.
A ponieważ czekaliśmy.
Ten kod zostanie wykonany tylko po zakończeniu taty.
Oczywiście tę linię należy teraz usunąć.
A teraz, z danymi, które wysłaliśmy na serwer, nie wysyłamy tylko opisu tytułu,
właściciela I. RE. , ale także token push właściciela.
I to będzie nasz żeton push tutaj.
I to albo teraz, albo to nasz token, który otrzymaliśmy od XPO.
Tak więc teraz, gdy tworzymy nowy produkt, idealnie możemy wysłać nasz token push.
Teraz otrzymujesz, że to Tolkan, a to wszystko nie będzie działać na symulatorach, jak się dowiedziałeś.
Tak więc, Dan, dla wszystkich zabezpieczeń i znowu, test jest na moim prawdziwym iPhonie.
Ponownie uruchomiłem aplikację i właśnie zalogowałem się z utworzonym przez nas użytkownikiem.
A teraz w ramach Admon stworzę nowy produkt.
Tolkan.
Teraz musimy sobie wyobrazić, że jesteś el.
Właśnie złapałem jakiś losowy obraz.
I Ellender, nagroda tutaj.
I opis.
Potwierdziłem to i otrzymuję błąd, tata, zaktualizowany obiekt statusu nie został znaleziony, a dług ma sens,
ponieważ tak naprawdę ustawiam to tutaj jako czek, ale potem używam go poza bezpiecznym czekiem
.
Oczywiście ma to niewłaściwy zakres, niewielki nadzór z mojej strony.
Możemy to naprawić, ponownie wykorzystując tutaj obiekt statusu, zmieniając go w zmienną z
let.
Następnie tutaj po prostu ustawiamy nasz obiekt statusu na nową wartość, a następnie ponownie używamy stanu jako obiektu.
Oto jeśli czek.
Teraz zakres jest odpowiedni i to zadziała.
Spróbujmy więc jeszcze raz.
Wciśnij, przetestuj wstawiony obraz, który wybrał, wstaw cenę i opis.
To jest test.
Następnie zamknij to potwierdź.
A teraz wydaje się, że to działa.
Dodałem mój produkt.
I co będzie teraz interesujące, będzie nasza baza danych.
Oto moja baza danych FIREBASE.
Dlatego używamy zaplecza i tutaj dodano nowy produkt.
I rzeczywiście, tutaj znów widzimy nasz żeton push.
Dodałem nakładkę na mój rzeczywisty token urządzenia.
Ale jest to teraz token push, który pozwala nam wysłać powiadomienie do użytkownika, który utworzył ten produkt.
Więc teraz popracujmy nad tą drugą częścią i upewnijmy się, że rzeczywiście wysyłamy powiadomienie,
gdy faktycznie zamówimy produkt.