728x90

Android 에서 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

 

 

728x90
Posted by kjun.kr
,