AndroidUncategorized

[Android] SafetyNet 서비스 종료! Play Integrity으로 마이그레이션 기록 

그동안 Android에서 SafetyNet로 앱 체크를 잘 사용해왔는데, 서비스가 곧 종료된다. 종료되기전에 Play Integrity으로 갈아타보자. 구글 서비스들은 무료여서 좋은 것들이 많은데, 어느 순간 서비스를 종료해버려서 어쩔 수 없이 앱에서 걷어내는 작업을 해야하는 불편함이 생긴다. Play Integrity는 제발 오랜 시간 동안 서비스 해주길 바란다.



SafetyNet 서비스 중단 알림 메세지

SafetyNet이 지원 중단되었으며 더 이상 새 프로젝트를 허용하지 않습니다. 새 프로젝트에서는 대신 Play Integrity로 앱 체크를 사용해야 하며 SafetyNet을 사용하는 기존 앱은 종료 기한 전에 Play Integrity로 이전해야 합니다. 자세한 내용은 지원 중단 타임라인을 참조하세요.
앱 체크는 2023년 6월까지 기존 SafetyNet 프로젝트를 계속 지원합니다. 그 이후에는 SafetyNet 구성이 중지되고 수정할 수 없습니다. 2024년 6월 이후 모든 SafetyNet 기능이 영구적으로 종료되고 삭제됩니다.


Play Integrity API 로 마이그레이션 작업 방법

  1. Play Integrity API를 사용 설정이 필요하다. Google Play Console에서 앱을 선택 한다.
  2. 출시 섹션에서 앱 무결성을 클릭한다.
  3. 페이지의 Play Integrity API 섹션으로 이동하여 Cloud 프로젝트 연결을 클릭한 후 Google Cloud 프로젝트 목록에서 Firebase 프로젝트를 선택한다. 여기에서 선택하는 프로젝트는 앱을 등록했던 동일한 Firebase 프로젝트를 선택한다.
  4. Firebase Console의 앱 체크 섹션에서 Play Integrity 제공자로 앱 체크를 사용하도록 앱을 등록해주어야한다. 하지만 3번 작업을 해주었다면 이미 등록된 걸로 나올 것이다.
  5. 앱에 앱 체크 라이브러리 추가 후 Sync 버튼을 클릭해준다.
dependencies {
    // 이미 추가되어 사용했음으로 버전만 업그레이드
     implementation(platform("com.google.firebase:firebase-bom:32.2.3"))


    // 신규 추가
    // Add the dependencies for the App Check libraries
    // When using the BoM, you don't specify versions in Firebase library 
dependencies
    implementation("com.google.firebase:firebase-appcheck-playintegrity")
}

사용할 준비가 끝났다. 앱 체크 초기화 코드를 변경한다.

AS-IS : Android에서 SafetyNet으로 앱 확인 활성화

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:32.2.3"))


    // Add the dependencies for the App Check libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-appcheck-playintegrity")
}

TO-BE :

FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
        PlayIntegrityAppCheckProviderFactory.getInstance());

이제 테스트 후 업데이트된 앱을 구글플레이 스토어를 통해 사용자에게 배포한다.

업데이트된 클라이언트 앱이 Firebase에 전송하는 모든 요청과 함께 앱 체크 토큰을 보내기 시작하지만 Firebase 제품에서는 Firebase Console의 앱 체크 섹션에서 적용을 사용 설정할 때까지 토큰이 유효하지 않아도 된다.

다행히 코드에 큰 변화가 없어서 빠르게 해결할 수 있었다.

[REFERENCE]

Android에서 Play Integrity로 앱 체크 사용 시작하기

Leave a Reply

error: Content is protected !!