AWS Amplify obsługuje powiadomienia push dla aplikacji Android, Swift, React Native i Flutter

19 kwietnia 2023

AWS Amplify ogłasza obsługę powiadomień push dla Androida, Swift, Flutter i React Native.

Powiadomienia push są nieodzownym elementem nowoczesnych aplikacji mobilnych. Pozwalają utrzymać zaangażowanie użytkowników i informowanie ich poprzez dostarczanie aktualnych i odpowiednich aktualizacji.

Nowa obsługa powiadomień push AWS Amplify oznacza, że ​​możesz teraz wykorzystać moc chmury do wysyłania powiadomień bezpośrednio na urządzenia użytkowników. Jednym z najbardziej ekscytujących aspektów tej nowej funkcji jest jej łatwość użycia. Wystarczy kilka wierszy kodu, aby zintegrować powiadomienia push ze swoją aplikacją i od razu rozpocząć wysyłanie wiadomości do użytkowników. Ta prostota oznacza, że ​​możesz skupić się na tym, co robisz najlepiej – tworzeniu niesamowitych aplikacji – bez martwienia się o trudną konfigurację.

AWS Amplify integruje się z Amazon Pinpoint, umożliwiając segmentację i targetowanie użytkowników oraz dostarczanie spersonalizowanych powiadomień push.

Na podstawie tego artykułu autorzy zaprezentują, jak dodać funkcje powiadomień push do aplikacji na Androida za pomocą AWS Amplify, a następnie wysyłać ukierunkowane wiadomości do użytkowników.

Warunki wstępne

Aby skonfigurować powiadomienia push w aplikacji na Androida, musisz dodać biblioteki Amplify, skonfigurować zasoby zaplecza za pomocą interfejsu Amplify CLI i skonfigurować projekt Firebase.

Utwórz swoją aplikację i zainstaluj biblioteki Amplify

Możesz rozpocząć tworzenie nowej aplikacji na Androida za pomocą Android Studio, wykonując następujące kroki:

  • Otwórz Studio Androida.
  • Utwórz nowy projekt i wybierz „Opróżnij działanie”, naciśnij Dalej.
  • Następnie skonfiguruj swój projekt:
  • Wprowadź MyAmplifyApp w polu Nazwa
  • Wybierz Java lub Kotlin z rozwijanego menu Język
  • Wybierz API 24: Android 7.0 (Nougat) z menu rozwijanego Minimum SDK
  • Naciśnij Zakończ

Android Studio otworzy twój projekt z kartą otwartą na MainActivity.java lub MainActivity.kt, w zależności od tego, czy utworzyłeś odpowiednio projekt Java lub Kotlin.

  • W Gradle Scripts otwórz build.gradle (Module: app), dodaj następujące wiersze i zapisz plik.
android {
    compileOptions {
        // Support for Java 8 features
        coreLibraryDesugaringEnabled true
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    // Amplify core dependency
    implementation 'com.amplifyframework:core:2.5.0'

    // Support for Java 8 features
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
    implementation 'com.amplifyframework:aws-auth-cognito:2.5.0' 
    implementation 'com.amplifyframework:aws-push-notifications-pinpoint:2.5.0' }
  •  Android Studio wymaga synchronizacji projektu z nową konfiguracją. Aby to zrobić, kliknij Synchronizuj teraz na pasku powiadomień nad edytorem plików.
    • Po zakończeniu zobaczysz komunikat KONFIGURACJA POMYŚLNA w danych wyjściowych na karcie Budowa u dołu ekranu.
  • Dodaj następującą usługę do pliku ./app/AndroidManifest.xml swojej aplikacji:
<application ...>
  ...
    <service android:name="com.amplifyframework.pushnotifications.pinpoint.FCMPushNotificationService" 
    android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
  ...
</application>
  • Utwórz plik w katalogu .app/java/<com.example.myamplifyapp>/ o nazwie Backend.kt
//This import will depend on the name of the Application name you have selected
package com.example.myamplifyapp

import android.app.Application
import android.util.Log
import com.amplifyframework.AmplifyException
import com.amplifyframework.auth.cognito.AWSCognitoAuthPlugin
import com.amplifyframework.core.Amplify
import com.amplifyframework.pushnotifications.pinpoint.AWSPinpointPushNotificationsPlugin

class AndroidGettingStartedApplication : Application() {

    override fun onCreate() {
        super.onCreate()
        try {
            Amplify.addPlugin(AWSCognitoAuthPlugin())
            Amplify.addPlugin(AWSPinpointPushNotificationsPlugin())
            Amplify.configure(applicationContext)
            Log.i(AndroidGettingStartedApplication::class.simpleName, "Initialized Amplify")
        } catch (e: AmplifyException) {
            Log.e(AndroidGettingStartedApplication::class.simpleName, "Could not initialize Amplify", e)
        }
    }
}

Skonfiguruj projekt Firebase

Możesz wykonać te kroki, aby skonfigurować projekt Firebase i pobrać klucz API, który połączysz z Amazon Pinpoint w celu obsługi wysyłania powiadomień push.

  1. Przejdź do konsoli Firebase.
  2. Na środku strony przeglądu projektu kliknij ikonę Androida lub Dodaj aplikację, aby uruchomić proces konfiguracji.
  3. Wprowadź nazwę pakietu aplikacji w polu Nazwa pakietu Android.
  4. Znajdź nazwę pakietu swojej aplikacji w pliku Gradle modułu (na poziomie aplikacji), zazwyczaj app/build.gradle (przykładowa nazwa pakietu: com.example.myamplifyapp).
  5. Kliknij Zarejestruj aplikację.
  6. Pobierz plik konfiguracyjny Firebase Android (google-services.json) i dodaj go do katalogu głównego modułu (na poziomie aplikacji) swojej aplikacji.

Następnie musisz uzyskać dostęp do swojego ServerKey (określanego jako ApiKey w konfiguracji CLI):

  1. Otwórz konsolę Firebase.
  2. Wybierz swój projekt Firebase.
  3. Wybierz ikonę ustawień znajdującą się w lewym górnym rogu ekranu, a następnie wybierz Ustawienia projektu.
  4. Wybierz kartę Wiadomości w chmurze.
  5. Wybierz trzy pionowe kropki obok Cloud Messaging API (starsza wersja), a następnie wybierz Zarządzaj API w Google Cloud Console.
  6. W nowej zakładce wybierz przycisk Włącz.
  7. Wróć do poprzedniej zakładki i odśwież stronę.
  8. Skopiuj token obok klucza serwera, użyjemy go do skonfigurowania zasobu Amazon Pinpoint z Amplify CLI.

Skonfiguruj zasoby zaplecza

Możesz teraz skonfigurować zasoby zaplecza potrzebne do wysyłania ukierunkowanych kampanii powiadomień push za pomocą Amazon Pinpoint.

  • W terminalu uruchom to polecenie z folderu głównego aplikacji, aby zainicjować aplikację Amplify.
  • Interfejs Amplify CLI wykryje te ustawienia domyślne.
  • Po pomyślnym uruchomieniu amplifikacji init zobaczysz plik konfiguracyjny utworzony w ./app/res/raw/ o nazwie amplifyconfiguration.json.
  • Możesz teraz dodać zasoby zaplecza, które używają Amazon Pinpoint z Amplify CLI. Uruchom następujące polecenie w swoim terminalu
  • Wybierz FCM po wyświetleniu monitu
  • CLI poprosi o ApiKey, wklej Token skopiowany podczas konfigurowania usług powiadomień push. Po zakończeniu całej konfiguracji uruchom następujące czynności:

Po zakończeniu ampliifyconfiguration.json zostanie zaktualizowany, aby odwoływał się do nowo udostępnionych zasobów powiadomień zaplecza.

Masz teraz wszystkie swoje zasoby i konfigurację aplikacji na Androida. Jesteś gotowy do skonfigurowania kampanii z Amazon Pinpoint w celu wysyłania powiadomień push do swoich użytkowników.

Uruchamianie aplikacji

Możesz teraz uruchomić swoją aplikację w emulatorze i powinieneś zobaczyć komunikat w Android Studio na karcie logcat z napisem „Initialized Amplify”. Powinieneś także widzieć swój token powiadomień push w logcat „Registering push notifications token: X”

Jeśli oba te komunikaty są wyświetlane po uruchomieniu aplikacji, pomyślnie skonfigurowałeś aplikację do otrzymywania powiadomień push!

Konfiguruj kampanie marketingowe i wysyłaj powiadomienia push

Korzystając z Amazon Pinpoint, możesz używać atrybutów i metryk do targetowania oraz segmentowania użytkowników. Możesz odwiedzić tę stronę dokumentacji, aby dowiedzieć się więcej o korzystaniu z tych funkcji w swojej aplikacji.

Wykonaj poniższe kroki, aby skonfigurować kampanię powiadomień push z Amazon Pinpoint:

  1. Przejdź do konsoli AWS, odwiedzając konsolę AWS lub uruchamiając konsolę amplifikacji w swoim terminalu i wybierając konsolę AWS
  2. Wyszukaj i kliknij Amazon Pinpoint
  3. Na karcie „Wszystkie projekty” wybierz zasób Pinpoint, który utworzyłeś podczas konfigurowania aplikacji za pomocą interfejsu Amplify CLI.
  4. Kliknij „Journeys” w menu nawigacyjnym po lewej stronie
  5. Kliknij „Create journey”
  6. Ustaw nazwę podróży, a następnie kliknij „ustaw warunek wejścia”.
  7. W sekcji „Wybierz sposób rozpoczęcia podróży” wybierz „Dodaj uczestników z segmentu.
  8. Kliknij „zbuduj segment”, co przekieruje Cię do nowego ekranu.
  9. Wpisz nazwę swojego segmentu, a w sekcji „segmenty podstawowe” wybierz „włącz dowolnych odbiorców”, co spowoduje wysłanie powiadomienia push do zarejestrowanych tokenów powiadomień push.
  10. Opcjonalnie: Możesz także kliknąć przycisk „Dodaj kryteria”, aby skonfigurować filtry dla atrybutów w punkcie końcowym powiadomień push utworzonym w Pinpoint, umożliwiając kierowanie reklam do określonych segmentów użytkowników.
  11. Na dole ekranu możesz zobaczyć szacunkową liczbę punktów końcowych, które kwalifikują się do otrzymywania kampanii powiadomień push na podstawie wybranych odbiorców i kryteriów.
  12. Następnie kliknij „Utwórz segment”.
  13. Wróć do pierwszej zakładki z informacjami o podróży, a następnie kliknij przycisk odświeżania obok rozwijanego menu „Segmenty”. Zobaczysz swój nowo utworzony segment, wybierz go.
  14. Kliknij Zapisz.
  15. Następnie kliknij znak plusa „Dodaj aktywność” i wybierz „wyślij powiadomienie push”.
  16. Kliknij „Utwórz szablon”, otworzy się nowa karta w Twojej przeglądarce.
  17. Wybierz „Powiadomienia push” z przycisków radiowych u góry ekranu.
  18. Dodaj nazwę i opis do szablonu powiadomień push.
  19. Wybierz „Wiadomość standardowa” z sekcji „Typ powiadomienia”.
  20. Dodaj tytuł i treść wiadomości. Opcjonalnie możesz również wybrać niestandardowy dźwięk alertu i określić, czy po kliknięciu powiadomienia ma nastąpić akcja. Na razie pozostaw niestandardowy dźwięk alertu pusty i ustaw akcję na „Otwórz aplikację”.
  21. Kliknij „Utwórz”.
  22. Wróć ponownie do zakładki podróży i kliknij przycisk odświeżania po prawej stronie przycisku „Wybierz szablon powiadomień push”.
  23. Następnie kliknij przycisk „wybierz szablon powiadomień push” i wybierz utworzony szablon.
  24. Kliknij „Zapisz”.
  25. Kliknij „Przejrzyj” w prawym górnym rogu, Pinpoint pokaże Ci, czy masz jakiekolwiek problemy ze skonfigurowaną Podróżą, a następnie kliknij „Dalej”.
  26. Zobaczysz ostrzeżenia o ustawianiu czasu rozpoczęcia i testowaniu podróży, ale ponieważ chcemy rozpocząć podróż natychmiast, możesz po prostu kliknąć „Oznacz jako sprawdzone”.
  27. Na koniec kliknij „Publikuj”. Ekran podróży poinformuje Cię, ile czasu zajmie jej rozpoczęcie.
  28. Po rozpoczęciu podróży, jeśli sprawdzisz swój emulator, powinieneś zobaczyć, że otrzymano powiadomienie push.

Wnioski

Podsumowując, obsługa powiadomień push w AWS Amplify to znaczące osiągnięcie, na które programiści Androida, Swift, Flutter i React Native czekali od dawna! Dzięki swojej prostocie, możliwościom dostosowywania, segmentacji i kierowania jest to doskonałe narzędzie do utrzymywania zaangażowania i informowania użytkowników.

Zacznij tworzyć aplikacje obsługujące powiadomienia wypychane już dziś, odwiedzając dokumentację AWS.

Porządkowanie

Aby upewnić się, że nie masz żadnych nieużywanych zasobów na swoim koncie AWS, uruchom następujące polecenie, aby usunąć wszystkie zasoby, które zostały utworzone w tym projekcie, jeśli nie zamierzasz ich zachować.

źródło:AWS

Case Studies
Referencje

Bardzo sprawny kontakt z pracownikami Hostersi pozwolił nam pomyślną realizację naszego projektu i osiągnięcie założonych celów biznesowych. Jesteśmy pełni uznania dla kompetencji specjalistów Hostersi i jakości świadczonych przez nich usług.

Beata Kaczor
Dyrektor Zarządzający
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.