adjust-icon

SDK Signature(SDK 서명) 라이브러리 연동

Adjust의 SDK Signature(SDK 서명) 라이브러리는 Adjust SDK의 독립형 플러그인으로 설계되었습니다. 따라서 코드를 변경하거나 앱에서 Adjust SDK를 사용하는 방법을 변경할 필요가 없습니다. 플러그인 설치 후에는 Adjust SDK에서 생성된 모든 요청이 계속 정상적으로 작동합니다.

Before you begin

서명 라이브러리를 Android 앱에 연동하려면 다음을 확인하시기 바랍니다.

  • 사용 중인 Android API 버전이 21 이상 이어야 합니다.
  • 사용 중인 Adjust SDK 버전이 4.38.2 이상 이어야 합니다. 이 요건은 Adjust SDK가 간접적으로 사용되는 경우에도 적용됩니다.
  • Proguard를 사용하는 경우 서명 라이브러리와 Adjust SDK에서 동일한 Proguard 구성을 사용해야 합니다.
  • 116KB page size aligned Signature libraries 에 관심이 있는 경우 Adjust 담당자 또는 support@adjust.com 으로 이메일 주시기 바랍니다.

Migrating from Signature v1 or v2 library

이전에 Signature v1 또는 Signature v2를 사용한 적이 있다면 서명 라이브러리를 연동하기 전에 이전 버전을 제거해야 합니다. 다음을 수행하시기 바랍니다.

  • 이전에 Signature v1을 연동한 경우 프로젝트에서 서명 함수를 호출하는 모든 코드를 제거합니다.
  • 이전에 Signature v2를 연동한 경우 프로젝트에서 Signature v2 라이브러리를 제거합니다.

Updating the Signature Library

Adjust Signature 라이브러리를 업데이트하려면 기존의 Signature 라이브러리를 새 버전으로 교체하고 테스트를 다시 실행하시기 바랍니다. 인증서가 구성되고 변경되지 않은 한 Adjust에서 앱 로직이나 설정을 즉시 변경할 필요는 없습니다. 시크릿 ID가 다음 기준에 부합하는 경우 반드시 비활성화하시기 바랍니다.

  • 더 이상 설치 리포트에 기여하지 않는 경우.
  • 모든 앱 플랫폼 및 스토어에서 새로운 앱 버전을 출시

Integrate the signature library (SDK v4 only)

다음 단계에 따라 Android 프로젝트에서 서명 라이브러리를 연동합니다.

  1. GitHub에서 서명 라이브러리 콘텐츠를 불러옵니다.
  2. 앱 모듈 디렉터리 내에 새 libs 디렉터리를 생성합니다.
  3. 제공된 AAR 라이브러리를 libs 디렉터리에 복사합니다.

Android Studio의 디렉터리 스크린샷

  1. 앱 수준의 build.gradle 파일을 열고 다음을 추가합니다.

    android {
    defaultConfig {
    ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
    }
    }
    dependencies {
    implementation files('libs/adjust-lib.aar')
    }
  2. Android Studio 팝업창에서 Sync Now 를 선택하여 변경 사항을 동기화합니다.

이제 끝입니다! Signature 라이브러리가 프로젝트에 연동되었습니다. 다음 섹션의 단계에 따라 Adjust suite의 디지털 인증서를 설정합니다.

Set up your certificates in the Adjust suite

Signature 라이브러리를 앱에 연동하면 Adjust SDK가 Adjust로 전송하는 모든 요청이 서명됩니다. Adjust SDK는 또한 서명 인증서의 핑거프린트를 포함한 관련 정보를 Adjust 서버로 전송합니다.

인증서의 핑거프린트는 인증서 내의 공개 정보를 암호화한 해시입니다. 앱의 인증 여부를 검증하는 데 사용할 수 있습니다.

서명 라이브러리는 인증서 핑거프린트의 인증 여부를 검증할 수 없습니다. 핑거프린트가 포함된 요청을 Adjust가 인증된 것으로 수락하게 하려면 핑거프린트를 Adjust Suite의 허용 리스트에 추가해야 합니다. 이를 위해 인증서의 핑거프린트를 가져와 Adjust에 전송합니다.

From a keystore

자체 키스토어를 사용하거나 Android Studio에서 키스토어가 생성된 경우 다음 단계에 따라 인증서의 핑거프린트를 가져올 수 있습니다.

  1. 앱의 릴리스 버전 서명에 사용한 키스토어 파일(.jks)을 찾습니다. 키스토어는 Google Play Store로 전송된 릴리스 버전에 서명할 때 사용한 키스토어여야 합니다. 키스토어가 다른 경우 SDK 요청은 거부됩니다.

  2. 다음의 명령어를 실행하여 키를 나열합니다. 괄호 안의 내용은 입력한 정보로 대체합니다.

    Terminal window
    $ keytool -list -v -keystore <path/to/keystore.jks> -alias <your_key_alias>

    이 명령은 키스토어 암호를 요구합니다. 키스토어를 생성할 때 정의한 암호입니다.

    최종 출력 결과는 다음과 같습니다.

    Alias name: Key0
    Creation date: May 15, 2018
    Entry type: PrivateKeyEntry
    Certificate chain length: 1
    Certificate[1]:
    Owner: CN=[Adjust, GmbH.]
    Issuer: CN=[Adjust, GmbH.]
    Serial number: 642f1b62
    Valid from: Tue May 15 09:46:06 CEST 2018 until: Sat May 09
    09:46:06 CEST 2043
    Certificate fingerprints:
    MD5: E7:88:9F:8C:9D:F4:14:C1:CF:E8:4C:97:F3:F2:3A:E3
    SHA1:
    C4:BD:07:91:BC:09:F8:B6:15:CD:BC:A3:3F:BC:68:8B:C2:EF:4F:F5
    SHA256:
    55:FB:97:0F:46:0F:94:EC:07:EA:01:69:50:5A:20:3F:A0:91:60:A4:F
    1:33:58:EA:76:DC:54:9E:A7:6A:B9:1A
    Signature algorithm name: SHA256withRSA
    Subject Public Key Algorithm: 2048-bit RSA key
    Version: 3
  3. SHA-1 핑거프린트를 저장하여 Adjust suite의 허용 리스트에 추가합니다.

From Google Play Internal App Sharing

Google Play Internal App Sharing을 사용하는 경우, 허용 리스트에 등록하려면 조직의 SHA-1 인증서 핑거프린트와 내부 테스트 인증서 핑거프린트를 모두 Adjust에 전송해야 합니다.

핑거프린트를 추출하는 방법은 다음과 같습니다.

  1. Google Play Console로 이동한 다음 로그인합니다.
  2. 해당 앱을 선택합니다.
  3. 릴리스 관리 —> 앱 릴리스 —> Internal App Sharing(내부 앱 공유) 관리 > 앱 인증서 를 차례로 선택합니다.
  4. 내부 테스트 인증서 와 조직의 키스토어 모두에 대한 SHA-1 인증서 핑거프린트 를 저장 하여 Adjust suite의 허용 리스트에 추가합니다.

Google Play Console의 인증서 페이지 스크린샷

From Google Play App Signing

Google Play App Signing을 사용하는 경우, 허용 리스트에 등록하려면 조직의 SHA-1 인증서 핑거프린트와 내부 테스트 인증서 핑거프린트를 모두 Adjust에 전송해야 합니다.

핑거프린트를 추출하는 방법은 다음과 같습니다.

  1. Google Play Console로 이동한 다음 로그인합니다.
  2. 해당 앱을 선택합니다.
  3. 릴리스 관리 > 앱 서명(App Signing) 을 선택합니다.
  4. 앱 서명 인증서업로드 인증서 모두에 대한 SHA-1 인증서 핑거프린트 를 저장하여 Adjust에 전송합니다.

Google Play Console의 앱 서명 페이지 스크린샷

From Huawei AppGallery App Signing

Huawei AppGallery App Signing을 사용하는 경우, 허용 리스트에 등록하려면 조직의 SHA-1 인증서 핑거프린트와 내부 테스트 인증서 핑거프린트를 모두 Adjust에 전송해야 합니다.

핑거프린트를 추출하는 방법은 다음과 같습니다.

  1. AppGallery Connect의 앱 서명 페이지에서 앱 서명 인증서(certificate.pem)를 다운로드합니다.

AppGallery Connect의 앱 서명 페이지 스크린샷

  1. 인증서를 다운로드한 후에 다음 명령을 실행하여 인증서의 SHA-1 핑거프린트를 출력합니다.

    Terminal window
    $ openssl x509 -fingerprint -in certificate.pem -noout -SHA1

    출력 결과는 다음과 같습니다.

    SHA1 Fingerprint=C4:BD:07:91:BC:09:F8:B6:15:CD:BC:A3:3F:BC:68:8B:C2:EF:4F:F5
  2. Adjust suite의 허용 리스트에 추가할 핑거프린트를 저장합니다.

Add your digital certificate fingerprints to Adjust’s allowlist

인증서의 핑거프린트를 확보한 후에 다음 단계에 따라 핑거프린트를 허용 리스트에 추가합니다.

  1. AppView에서 앱을 선택하여 앱 세부 사항 화면을 엽니다.
  2. Protection 탭을 선택합니다.
  3. 의심되는 설치 섹션의 편집 버튼을 선택합니다.
  4. Android 핑거프린팅 섹션에서 새 핑거프린트 를 선택합니다.
  5. SHA-1 핑거프린트를 표시되는 텍스트 상자에 붙여넣기합니다.
  6. 추가 를 선택합니다.

이제 끝입니다! 이제 핑거프린트가 앱의 허용 리스트에 추가되었습니다.

Test your app

Adjust 테스팅 콘솔을 사용하여 서명 라이브러리가 앱에 연동되었는지 확인할 수 있습니다.

다음과 같이 서명 라이브러리 연동을 테스트합니다.

  1. 설치 정보가 전송되도록 테스트 기기에서 앱을 완전히 삭제합니다.

  2. 테스팅 콘솔을 사용하여 해당 기기의 정보를 삭제하시기 바랍니다. 앱 토큰과 Adjust InSights 앱에서 얻은 광고 ID를 전달하여 forget_device 엔드포인트를 사용할 수도 있습니다. 다음의 광고 ID 또한 사용이 가능합니다: adid, android_id, gps_adid, imei, oaid

    호출은 다음과 같습니다.

    Terminal window
    $ curl -X POST 'https://app.adjust.com/forget_device?app_token={yourAppToken}&id={adid}'
  3. 테스팅 콘솔에서 기기를 삭제한 후에 테스트 기기에 앱을 설치한 다음 실행하여 Adjust로 설치 정보를 전송합니다.

  4. 테스팅 콘솔에 테스트 기기의 광고 ID를 입력하여 설치 이벤트 정보를 불러옵니다. 다음 내용을 확인하시기 바랍니다.

    1. SignatureVerificationResult 필드에 다음 값이 표시되어야 합니다. Valid Signature
    2. SignatureVersion 필드에 다음 값이 표시되어야 합니다. 3

이러한 필드가 있고 올바른 정보를 포함하고 있다면 서명 라이브러리가 성공적으로 연동된 것입니다. 필드에 다른 값이 표시되는 경우, 연동 단계를 다시 검토하거나 support@adjust.com에 연락하시기 바랍니다.

이제 끝입니다! Signature 라이브러리가 앱에 성공적으로 연동되었습니다. 어트리뷰션 윈도우 2개가 완료되면 SDK Signature(SDK 서명) 검증을 시행하여 서명된 요청만 Adjust에서 수락하도록 할 수 있습니다.