Cordova SDK - 기본 연동

문서

전제 조건

원활한 연동 프로세스를 위해 Singular Cordova SDK를 설치하기 전에 다음 필수 단계를 완료하세요.

필수 전제 조건:

  • 계획 단계를 완료합니다: Singular SDK 연동하기의 가이드를 따르세요 : 계획 및 사전 요구 사항의 가이드를 따르세요. 이 단계는 모든 Singular SDK 연동에 필수입니다.
  • 작동하는 Cordova 앱: iOS 및/또는 Android에 필요한 빌드 도구가 구성된 작동하는 Cordova 프로젝트가 있는지 확인합니다.
  • SDK 자격 증명: 개발자 도구 > SDK 연동 > SDK 키에서 Singular 플랫폼에서 Singular SDK 키와 SDK 시크릿을 검색합니다.

중요: Singular 리포팅 API 키를 사용하지 마세요. SDK 연동 페이지의 SDK별 자격증명만 사용하세요. 잘못된 자격 증명을 사용하면 데이터가 Singular에 도달하지 못합니다.


설치

Singular 플러그인 설치하기

코드바 CLI를 사용하여 코드바 프로젝트에 Singular 플러그인을 추가하세요. 이 플러그인은 iOS 및 안드로이드용 네이티브 Singular SDK에 대한 자바Script 바인딩을 제공합니다.

Cordova CLI를 통해 설치하기

  1. 터미널을 엽니다: Cordova 프로젝트의 루트 디렉토리로 이동합니다.
  2. 플러그인을 추가합니다: 다음 명령을 실행하여 Singular SDK 플러그인을 설치합니다:
    bash
    cordova plugin add singular_cordova_sdk
  3. 설치 확인: config.xml 파일에서 플러그인 항목을 확인하거나 실행하여 플러그인이 추가되었는지 확인합니다:
    bash
    cordova plugin list

Ionic 프레임워크 연동

Ionic Framework로 Cordova 앱을 빌드하는 경우 다음 추가 단계에 따라 Singular SDK를 올바르게 연동하세요.

Ionic용 플러그인 설치

  1. Ionic CLI를 통해 설치: Ionic Cordova 명령을 사용하여 플러그인을 추가합니다:
    bash
    ionic cordova plugin add singular_cordova_sdk
  2. Cordova 변수를 선언합니다: 기본 TypeScript 파일(일반적으로 app.component.ts 또는 home.page.ts)에서 맨 위에 Cordova 변수를 선언합니다:
    TypeScript
    declare var cordova;
  3. 플랫폼 준비 내에서 초기화: 플랫폼 준비 이벤트를 사용하여 SDK 초기화 전에 네이티브 플러그인이 로드되도록 합니다:
    TypeScript
    import { Component } from '@angular/core';
    import { Platform } from '@ionic/angular';
    
    declare var cordova;
    
    export class HomePage {
      constructor(public platform: Platform) {
        this.platform.ready().then(() => {
          // Initialize Singular SDK here (see SDK Integration section)
    
        });
      }
    }

왜 플랫폼 준비가 필요한가? platform.ready() 약속은 코드가 액세스를 시도하기 전에 Cordova 플러그인이 완전히 로드되도록 보장합니다. Ionic을 사용할 때는 항상 이 콜백 내에서 Singular SDK를 초기화하세요.


플랫폼 구성

안드로이드 구성

핵심 SDK 기능 및 어트리뷰션 추적을 활성화하려면 안드로이드 전용 권한 및 설정을 구성하세요.

필수 권한 추가

어트리뷰션, 네트워크 액세스 및 설치 리퍼러 추적을 활성화하려면 Cordova config.xml 파일에 필요한 Android 권한을 추가하세요.

  1. config.xml을 엽니다: Cordova 프로젝트의 루트로 이동하여 config.xml 파일을 엽니다.
  2. 권한을 추가합니다: <platform name="android"> 섹션에서 다음 권한을 추가합니다:
    config.xml
    <platform name="android">
        <!-- Required for GAID collection and attribution -->
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest">
            <uses-permission android:name="com.google.android.gms.permission.AD_ID" />
        </edit-config>
    </platform>

키즈 앱의 경우 중요: 키즈 SDK를 연동하는 경우 com.google.android.gms.permission.AD_ID권한을 추가하지 마세요. 이 권한은 표준 앱에는 필요하지만 13세 미만의 어린이를 대상으로 하는 앱의 경우 COPPA 규정을 준수하기 위해 생략해야 합니다.

추가 권한(자동 추가)

다음 권한은 Singular 코르도바 플러그인에 의해 자동으로 추가되며 수동 구성이 필요하지 않습니다:

  • android.permission.INTERNET - 데이터 전송을 위한 네트워크 액세스
  • android.permission.ACCESS_NETWORK_STATE - 네트워크 상태 모니터링
  • BIND_GET_INSTALL_REFERRER_SERVICE - 리퍼러 추적 설치

iOS 구성

iOS 구성은 Cordova 플러그인에 의해 자동으로 처리됩니다. iOS 프로젝트에는 추가적인 수동 구성 단계가 필요하지 않습니다.

코코아팟 설치: iOS용으로 빌드할 때 Cordova는 pod install 을 자동으로 실행하여 필요한 종속성을 가져옵니다. 개발 머신에 CocoaPods가 설치되어 있는지 확인하세요.


SDK 연동

개인정보 보호 규정 준수: Singular SDK를 구현할 때는 GDPR, CCPA, COPPA 등 운영 지역의 개인정보 보호법을 준수하세요. 지침은 SDK 옵트인 및 옵트아웃 사례를 참조하세요.

앱을 실행할 때마다 Singular SDK를 초기화하세요. SDK 초기화는 모든 Singular 어트리뷰션 기능에 필수적이며 사용자 리텐션 지표를 계산하기 위한 새 세션을 생성합니다.

기본 SDK 초기화

SDK 자격 증명으로 SingularConfig 객체를 생성하고 init() 방법을 사용하여 SDK를 초기화합니다. 이 작업은 앱 수명 주기에서 가능한 한 빨리 수행해야 합니다.

초기화 예시

  1. 자격 증명 가져오기: Singular 계정에로그인하고 개발자 도구 > SDK 연동 > SDK 키로이동하여 SDK 키와 시크릿을 찾습니다.
  2. 구성을 생성합니다: 자격 증명으로 SingularConfig 개체를 인스턴스화합니다.
  3. SDK를 초기화합니다: init() 을 호출하여 SDK를 시작합니다.
JavaScript
// Create the Singular configuration object
var singularConfig = new cordova.plugins.SingularCordovaSdk.SingularConfig(
  "YOUR_SDK_KEY",
  "YOUR_SDK_SECRET"
);

// Initialize the Singular SDK
cordova.plugins.SingularCordovaSdk.init(singularConfig);

고급 구성

init() 을 호출하기 전에 구성 메서드를 연결하여 추가 SDK 기능을 구성합니다. 이 예에서는 딥링킹, 로깅 및 세션 시간 초과를 포함한 일반적인 구성 옵션을 보여줍니다.

JavaScript
// Create configuration with credentials
var singularConfig = new cordova.plugins.SingularCordovaSdk.SingularConfig(
  "YOUR_SDK_KEY",
  "YOUR_SDK_SECRET"
);

// Enable debug logging (disable in production)
singularConfig.withLoggingEnabled();

// Set custom session timeout (default is 60 seconds)
singularConfig.withSessionTimeoutInSec(120);

// Configure deep linking handler
var linkHandler = function(data) {
  var deeplink = data.deeplink;
  var passthrough = data.passthrough;
  var isDeferred = data.isDeferred;

  console.log("Received deep link:", deeplink);
  console.log("Is deferred:", isDeferred);

  // Handle navigation based on deep link
  if (deeplink) {
    // Navigate to appropriate screen
  }
};
singularConfig.withSingularLink(linkHandler);

// Set custom user ID (if user is logged in)
singularConfig.withCustomUserId("user_12345");

// Initialize Singular
cordova.plugins.SingularCordovaSdk.init(singularConfig);

구성 참조: 사용 가능한 구성 옵션의 전체 목록은 Cordova SDK 구성 참조를 참조하세요.

메타 인스톨 리퍼러 어트리뷰션

메타 (페이스북) 인스톨 리퍼러 어트리뷰션을 구성하여 페이스북 및 인스타그램 광고 캠페인에서 인스톨을 추적할 수 있습니다.

2025년 6월 18일 기준: 메타의 고급 모바일 측정 보고(AMM)를 사용하면대부분의 사용 사례에서 메타 인스톨 리퍼러를 구현할 필요가 없습니다. 앱에 AMM 보고가 활성화된 경우 메타 인스톨 리퍼러를 구현하지 않는 것이 좋습니다.

메타 인스톨 리퍼러 활성화

AMM이 활성화되어 있지 않거나 레거시 트래킹을 위해 메타 인스톨 리퍼러가 필요한 경우 SDK 구성에 Facebook 앱 ID를 추가하세요.

  1. Facebook 앱 ID를 찾습니다: Facebook 개발자 계정에로그인하고 앱의 대시보드로 이동하여 앱 ID를 찾습니다.
  2. 구성에 추가합니다: withFacebookAppId() 방법을 사용하여 메타 인스톨 리퍼러를 활성화합니다:
    JavaScript
    // Create configuration
    var singularConfig = new cordova.plugins.SingularCordovaSdk.SingularConfig(
      "YOUR_SDK_KEY",
      "YOUR_SDK_SECRET"
    );
    
    // Enable Meta Install Referrer
    singularConfig.withFacebookAppId("YOUR_FACEBOOK_APP_ID");
    
    // Initialize SDK
    cordova.plugins.SingularCordovaSdk.init(singularConfig);

Facebook 앱 ID 찾기: Facebook 앱 ID를 찾는 방법에 대한 자세한 지침은 앱의 Facebook 앱 ID는 어디에서 찾을 수있나요?