[Xamarin] Firebase, Appcenter 이용해 Push Notification 처리하기 (Android)
C#/Xamarin Maui 2019. 6. 18. 01:42Android 에서 Firebase와 Appcenter 이용해 Push Notification 을 처리하는 방법을 설명합니다.
이전에도 설명을 했지만 조금 다른 부분이 있어서 다시 포스팅 하게되었습니다.^^
Firebase 사이트로 들어가서 (https://console.firebase.google.com)
새프로젝트를 만듭니다.
아래와 같이 프로젝트 명을 입력하고 애널리틱스위치, 클라우드 Firebase 위치를 선택하고
약관 동의 후 프로젝트 만들기를 합니다.
프로젝트 만들기가 진행됩니다.
프로젝트 만들기기 완료되면 계속을 클릭합니다.
아래처럼 프로젝트가 생성된걸 확인할 수 있습니다.
여기서 오른쪽 화면의 안드로이드 아이콘을 클릭합니다.
안드로이드 앱을 등록합니다.
여기서 구성파일을 다운로드하는 화면이 나타나는데 구성파일을 다운로드 받습니다.
google-services.json 파일이 다운로드 되는데 내용은 아래와 같습니다.(* 는 지운부분)
아래 내용에 Firebase 설정 내용이 모두 들어있는 걸 확인할 수 있습니다.
(구성파일은 나중에 프로젝트에 임포트 할것이므로 위치를 잘 기억해 둡니다.)
{
"project_info": {
"project_number": "4881723**870",
"firebase_url": "https://keixamarin-945**.firebaseio.com",
"project_id": "keixamarin-945**",
"storage_bucket": "keixamarin-945**.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:48817239**70:android:98e14540e**9c20d",
"android_client_info": {
"package_name": "kr.kjun.keixamarin"
}
},
"oauth_client": [
{
"client_id": "488172399870-6akadqs18fpru2vhu5g7***dl895jm3l.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AI**SyDzlxIwQUB8HoL4vxnug_TIOPP4hxN***M"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "488172399870-6akadqs18fpru***u5g7***dl895jm3l.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}
콘솔로 이동합니다.
콘솔 메인 화면에 아래처럼 앱이 등록된걸 확인할 수 있습니다.
좌측 상단의 톱니바퀴를 눌러 프로젝트 설정을 클릭합니다.
아래 처럼 설정 화면이 나타납니다.
혹 google-services.json 파일을 다운로드 하지 않았다면 아래처럼 설정 화면에서 다운로드 가능합니다.
상단의 클라우드 메시징 을 선택합니다.
클라우징 메세징에 아래와 같은 정보가 있습니다.
여기서 서버키를 기억(저장)해야합니다. (이전 서버 키 아님)
이제 App Center 로 이동합니다.(https://appcenter.ms)
우측 상단의 Add new 버튼을 클릭해 신규 app 을 추가합니다.
앱명을 적고 Android, Xamarin 을 선택합니다.
하단의 Add new app 버튼을 클릭합니다.
아래처럼 만들어지고 좌측메뉴의 Push 를 선택합니다.
Push 를 선택하면 아래처럼 프로그램 가이드가 나타납니다.
(이 가이드 대로 코딩하면 됩니다.)
아래에서 하단에 있는 AppCenter.Start 뒤쪽의 키(appScreat key)를 기억(저장)합니다.
NEXT 클릭
이전에 기억(저장)해 놓은 서버키를 입력합니다.
입력이 완료되면 Done 를 클릭!
이제 사이트상에서 준비는 완료되었습니다.
이제 자마린 프로젝트를 하나 만듭니다. (.Net Standard)
솔루션 탐색기에서 마우스 우클릭 메뉴에서 솔루선용 Nuget Packge 관리를 클릭합니다.
Microsoft.AppCenter.Push 를 전체 프로젝트에 설치합니다.
App.xaml.cs 의 OnStart() 부분에 아래처럼 코딩합니다.
(이전에 보았던 프로그램 가이드 상에 나와있던 appScreat key 를 사용합니다.)
AppCenter.Start("android=8efc4aab-cfcb-4a73-8787-995b0***6abc", typeof(Push));
* using 추가 필요
using Microsoft.AppCenter;
using Microsoft.AppCenter.Push;
아까 다운로드 받았던 google-services.json 파일을 안드로이드 프로젝트에 추가합니다.
google-services.json 파일을 우클릭하고 속성 창이 열리면 '빌드 작업' 에서 GoogleServicesJson 을 선택합니다.
안드로이드 프로젝트는 위에서 설정했던 안드로이드 앱패키지 명으로 되어있어야합니다. (예: kr.kjun.keixamarin)
또한 필수 권한에 INTERNET 를 체크합니다.
이제 준비는 모두 끝났습니다.
Release 로 연결된 휴대폰으로 빌드합니다.
App Center 에서 만들었던 프로젝트를 선택하고 좌측 메뉴의 Push > Notifications 를 선택하고
버튼을 클릭합니다.
아래와 같이 입력 후 Send notification 을 클릭합니다.
아래처럼 핸드폰으로 notification 이 push 된 걸 확인할 수 있습니다.
AppCenter 처리 도움말
https://docs.microsoft.com/en-us/appcenter/sdk/push/xamarin-ios
https://docs.microsoft.com/en-us/appcenter/sdk/push/xamarin-android
'C# > Xamarin Maui' 카테고리의 다른 글
[Xamarin] iOS App 등록하기 2 - 프로비전 프로필 만들기 (0) | 2019.06.25 |
---|---|
[Xamarin] iOS App 등록하기 1 - App ID 등록 (0) | 2019.06.25 |
[Xamarin] Xamarin.iOS 오류 모음 (0) | 2019.06.17 |
[Xamarin] Entry 에서 언더라인 제거 하기 (0) | 2019.05.31 |
[Xamarin] 자동으로 크키 조절되는 Editor (0) | 2019.05.28 |