이전에 aws에서 수동으로 디바이스 토큰을 등록하는걸 해보았고,
이제 프로젝트에서 자동으로 등록할 수 있는 방법을 진행해보도록 하겠습니다:-)
일단 프로젝트를 준비합니다.
aws의 라이브러리를 사용하기 위해 cocoapods를 사용하겠습니다.
(cocoapods 사용법은 패스.)
Podfile에
pod ‘AWSMobileAnalytics’, ‘~> 2.4.1’
pod ‘AWSSNS’, ‘~> 2.4.1’
두가지를 작성하고 install을 합니다.
AWSSNS, AWSCore, AWSCognitoIdentity 세가지를 import합니다.
그리고 이제 [이곳]으로 가서 준비를 시작해보겠습니다.
Cognito 등록하기.
접속하면 이런 화면이 나옵니다.
전 Manage Federated Identities를 선택였습니다. 사실 뭐가 뭔지 모름.
이런 화면이 나오면 identity pool name 을 작성하시고,
하단 체크박스는 로그인하지 않은 비인증 유저도 사용할 수 있게 선택하는 것 같습니다.
그리고 create Pool.
이런 화면이 나오는데 View Details 를 열어보면
이런 화면이 나옵니다.
Roule을 새로 만들어 주는데, 그게 아니라면 IAM 항목에서 미리 생성해두고 선택할 수 있는 것 같습니다.
일단 이곳에서 자동으로 Create 해주기 때문에 크게 신경쓰지 않도록 합니다.
그리고 Allow.
원하는 언어를 선택하면 알아서 하단 코드를 변환시켜줍니다.
일단 전 Objective-c를 선택.
그러면 자동으로 친절하게 코드를 만들어줍니다.
IAM 설정하기.
비승인유저 체크를 하지 않았다면 신경쓰지 않아도 되겠지만,
만약 저 위의 체크박스를 체크하여 unauth_role 이 생성되신분은 한가지 더작업을 진행합니다.
[이곳] 에 접속합니다.
unauth_role을 선택합니다.
권한을 붙여줘야합니다.
우리는 sns의 기능을 사용할 것이기 때문에
sns를 검색하고 fullaccess를 체크하고 Attach policy를 버튼을 눌러 붙여줍니다.
이렇게 권한을 붙였고, 이제 프로젝트를 설정하겠습니다.
프로젝트에 설정하기.
위의 Cognito 등록 완료 화면에 있는 코드를 복사 붙여넣기 하였습니다.
그리고 토큰을 등록합니다.
그리고 빌드를 해봅시다.
이렇게 성공을 하게 되면 이전에 수동으로 등록되었던 곳에 자동으로 토큰 값이 등록되는 것을 확인할 수 있습니다.
이렇게 수동으로 했던 작업이
자동으로 등록되는 것을 확인할 수 있습니다:-)
Tutorial Sample Source
obj-c : https://github.com/kuu723/AWS_PushTest_Objc
swift : https://github.com/kuu723/AWS_PushTest_swift