AWS SNS 및 SwiftUI를 통한 애플의 알림 전달
본 문서의 정보를 사용하여 푸시 알림을 보내는 선결 조건:
1단계: iOS 애플리케이션 생성
2단계: AWS SNS 설정
3단계: 푸시 어플리케이션 지원 구현
우선, 우리는 추송 알림의 등록을 처리하고 설비 영패의 등록을 받아야 한다.
니 SNSPushDemo에서swift 및 이 파일에 다음 코드를 추가합니다. (이것은 항목의 이름입니다. 항목을 다른 이름으로 부르면 해당 이름으로 부릅니다.)
import SwiftUI
@main
struct SNSPushDemoApp: App {
@UIApplicationDelegateAdaptor private var appDelegate: AppDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
class AppDelegate: NSObject, UIApplicationDelegate, UNUserNotificationCenterDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
UNUserNotificationCenter.current().delegate = self
return true
}
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let tokenParts = deviceToken.map { data in String(format: "%02.2hhx", data) }
let token = tokenParts.joined()
print("Device Token: \(token)")
};
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
print(error.localizedDescription)
}
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
completionHandler([.banner, .badge, .sound])
}
}
이제 ContentView에 있습니다.스웨프트, 우리는 이 종류를 갱신하여import SwiftUI
struct ContentView: View {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
init() {
requestPushAuthorization();
}
var body: some View {
Button("Register for notifications") {
registerForNotifications();
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
func requestPushAuthorization() {
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { success, error in
if success {
print("Push notifications allowed")
} else if let error = error {
print(error.localizedDescription)
}
}
}
func registerForNotifications() {
UIApplication.shared.registerForRemoteNotifications()
}
4단계: 모든 설정을 설정하고 밀어넣기 준비
장치에서 프로그램을 시작하는 것부터 시작합시다.다음과 같은 메시지가 표시됩니다.
ContentView 클래스에 다음 코드 세그먼트가 추가되었으므로 이 메시지가 표시됩니다.
func requestPushAuthorization() {
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { success, error in
if success {
print("Push notifications allowed")
} else if let error = error {
print(error.localizedDescription)
}
}
}
우리가 교실에 들어갈 때, 우리는 호출할 것이다.init() {
requestPushAuthorization();
}
라이센스가 성공적으로 부여되면 다음과 같이 인쇄합니다.Push notifications allowed
다음 단계는 우리의 설비 영패를 얻는 것이다.응용 프로그램을 시작하고 등록 알림 버튼을 클릭합니다.현재 출력 창에서 장치 영패를 받을 수 있습니다.값을 복사합니다.계속하기 전에 장비 토큰이 무엇인지 설명합니다.
장치 영패는 애플이나 구글이 만들고 분배하는 유일한 키로 응용 프로그램과 iOS, 안드로이드 사이의 연결을 구축하는 데 사용된다.이 키는 장치 및 어플리케이션 설치에 따라 고유합니다.이것은 프로그램을 다시 설치할 때마다 새 장치 카드를 받을 수 있다는 것을 의미합니다.
이제 AWS 콘솔로 돌아가서 응용 프로그램 끝점 만들기 를 클릭합니다.
다음 보기에서 장치 영패를 추가해야 하지만 사용자 데이터도 추가할 수 있습니다.사용자 데이터는 밀어서 전달할 수 있는 데이터로 유일한 정보를 표시하는 데 사용할 수 있다.
예를 들어, 당신은 뉴스 프로그램이 있는데, 당신은 한 문장의 알림을 받는다. 전송을 눌렀을 때, 특정한 문장을 열고 싶을 때, 사용자 데이터에서 문장 id를 전달할 수 있다.
5단계: 밀어넣기
이제 AWS 콘솔에서 메시지 게시를 클릭하기만 하면 됩니다.
메시지를 게시하면 다음과 같은 푸시 알림이 전송됩니다.
Reference
이 문제에 관하여(AWS SNS 및 SwiftUI를 통한 애플의 알림 전달), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rashwanlazkani/apple-push-notifications-through-aws-sns-and-swiftui-2pn7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)