AWS Mobile SDK for Xamarin은 이제 AWS SDK for .NET에 포함됩니다. 이 안내서에서는 Xamarin용 모바일 SDK의 아카이브된 버전을 참조합니다.
SNS를 사용하여 푸시 알림 수신(Xamarin iOS)
이 문서에서는 Amazon Simple Notification Service(SNS) 및 .NET 및 Xamarin용 AWS Mobile SDK를 사용하여 Xamarin iOS 애플리케이션으로 푸시 알림을 전송하는 방법을 설명합니다.
프로젝트 설정
필수 조건
이 자습서를 시작하기 전에 .NET 및 Xamarin용 AWS Mobile SDK 설정의 지침을 모두 완료해야 합니다.
SNS에 대한 권한 설정
.NET 및 Xamarin용 AWS Mobile SDK 설정의 2단계를 따라 아래에서 언급하는 정책을 애플리케이션의 역할에 연결합니다. 그러면 애플리케이션이 SNS애 액세스할 수 있는 적절한 권한을 부여 받습니다.
-
IAM 콘솔
로 이동하여 구성할 IAM 역할을 선택합니다. -
정책 연결을 클릭하고 AmazonSNSFullAccess 정책을 선택한 다음 정책 연결을 클릭합니다.
주의
AmazonSNSFullAccess를 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 여기서는 빠르게 실행할 수 있도록 사용하는 것입니다. IAM 역할 권한 지정에 대한 자세한 내용은 IAM 역할 권한 개요를 참조하세요.
Apple iOS 개발자 프로그램 멤버십 받기
푸시 알림을 수신하려면 물리적 디바이스에서 앱을 실행해야 합니다. 디바이스에서 앱을 실행하려면 Apple iOS 개발자 프로그램 멤버십
iOS 인증서 생성
먼저 iOS 인증서를 생성해야 합니다. 그런 다음 푸시 알림용으로 구성된 프로비저닝 프로파일을 생성해야 합니다. 그렇게 하려면 다음을 수행하세요.
-
Apple Developer Member Center
로 이동하여 인증서, ID, 프로필을 클릭합니다. -
iOS 앱에서 식별자를 클릭하고 웹 페이지 오른쪽 상단의 더하기 버튼을 클릭하여 새 iOS 앱 ID를 추가한 다음 앱 ID 설명을 입력합니다.
-
아래로 스크롤하여 Add ID Suffix(ID 접미사 추가) 섹션에서 Explicit App ID(명시적 앱 ID)를 선택하고 번들 식별자를 입력합니다.
-
아래로 스크롤하여 App Services(앱 서비스) 섹션에서 푸시 알림을 선택합니다.
-
계속을 클릭합니다.
-
제출을 클릭합니다.
-
완료를 클릭합니다.
-
방금 생성한 앱 ID를 선택하고 편집을 클릭합니다.
-
아래로 스크롤하여 푸시 알림 섹션을 찾습니다. 개발 SSL 인증서 아래에서 인증서 생성을 클릭합니다.
-
지침을 따라 인증서 서명 요청(CSR)을 생성하고 요청을 업로드한 다음 Apple 알림 서비스(APNS)와 통신하는 데 사용될 SSL 인증서를 다운로드합니다.
-
Certificates, Identifiers & Profiles(인증서, ID, 프로필) 페이지로 돌아갑니다. 프로비저닝 프로파일 아래의 모두를 클릭합니다.
-
오른쪽 위 모서리에 있는 더하기 버튼을 클릭하여 새 프로비저닝 프로파일을 추가합니다.
-
iOS 앱 개발을 선택하고 계속을 클릭합니다.
-
앱 ID를 선택하고 계속을 클릭합니다.
-
개발자 인증서를 선택하고 계속을 클릭합니다.
-
디바이스를 선택하고 계속을 클릭합니다.
-
프로필 이름을 입력하고 생성을 클릭합니다.
-
프로비전 파일을 다운로드하고 두 번 클릭하여 프로비저닝 프로파일을 설치합니다.
푸시 알림용으로 구성된 프로파일을 프로비저닝하는 데 대한 자세한 내용은 Apple의 Configuring Push Notifications
SNS 콘솔에서 인증서를 사용해 플랫폼 ARN 생성
-
KeyChain 액세스 앱을 실행하고 화면의 왼쪽 아래에서 내 인증서를 선택합니다. 그런 다음 앞서 생성한 SSL 인증서를 마우스 오른쪽 버튼으로 클릭하여 APNS에 연결하고 내보내기를 선택합니다. 파일의 이름과 인증서를 보호할 암호를 지정하라는 메시지가 표시됩니다. 인증서는 P12 파일로 저장됩니다.
-
SNS 콘솔
로 이동하여 화면 왼쪽에서 애플리케이션을 클릭합니다. -
플랫폼 애플리케이션 생성을 클릭하여 새 SNS 플랫폼 애플리케이션을 생성합니다.
-
애플리케이션 이름을 입력합니다.
-
푸시 알림 플랫폼으로 Apple Development를 선택합니다.
-
파일 선택을 선택하고 SSL 인증서를 내보낼 때 생성한 P12 파일을 선택합니다.
-
SSL 인증서를 내보낼 때 지정한 암호를 입력하고 파일에서 자격 증명 로드를 클릭합니다.
-
플랫폼 애플리케이션 생성을 클릭합니다.
-
방금 생성한 플랫폼 애플리케이션을 선택하고 애플리케이션 ARN을 복사합니다. 나중 단계에서 이 ARN이 필요합니다.
프로젝트에 SNS용 NuGet 패키지 추가
.NET 및 Xamarin용 AWS Mobile SDK 설정 내 지침의 4단계를 따라 Amazon Simple Notification Service NuGet 패키지를 프로젝트에 추가합니다.
SNS 클라이언트 생성
var snsClient = new AmazonSimpleNotificationServiceClient(credentials, region);
원격 알림에 애플리케이션 등록
애플리케이션을 등록하려면 아래와 같이 UIApplication 객체에서 RegisterForRemoteNotifications를 호출합니다. AppDelegate.cs에 다음 코드를 배치합니다(아래에서 메시지가 표시된 위치에 플랫폼 애플리케이션 ARN을 삽입).
public override bool FinishedLaunching(UIApplication app, NSDictionary options) { // do something var pushSettings = UIUserNotificationSettings.GetSettingsForTypes ( UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound, null ); app.RegisterUserNotifications(pushSettings); app.RegisterForRemoteNotifications(); // do something return true; } public override void RegisteredForRemoteNotifications(UIApplication application, NSData token) { var deviceToken = token.Description.Replace("<", "").Replace(">", "").Replace(" ", ""); if (!string.IsNullOrEmpty(deviceToken)) { //register with SNS to create an endpoint ARN var response = await SnsClient.CreatePlatformEndpointAsync( new CreatePlatformEndpointRequest { Token = deviceToken, PlatformApplicationArn = "YourPlatformArn" /* insert your platform application ARN here */ }); } }
SNS 콘솔에서 엔드포인트로 메시지 전송
-
SNS 콘솔 > 애플리케이션
으로 이동합니다. -
플랫폼 애플리케이션을 선택하고 엔드포인트를 선택한 다음 엔드포인트에 게시를 클릭합니다.
-
텍스트 상자에 텍스트 메시지를 입력하고 메시지 게시를 클릭하여 메시지를 게시합니다.