필수 사항
원활한 연동 과정을 위해 Singular Cordova SDK를 설치하기 전에 다음 필수 단계를 완료하십시오.
필수 전제 조건:
- 계획 단계 완료: 'Singular SDK 연동: 계획 및 필수 사항' 가이드의 지침을 따르십시오. 이 단계들은 모든 Singular SDK 연동에 필수적입니다.
- 작동 가능한 Cordova 앱: iOS 및/또는 Android용으로 필요한 빌드 도구가 구성된 정상 작동하는 Cordova 프로젝트가 있는지 확인하십시오.
- SDK 자격 증명: Singular 플랫폼의 '개발자 도구 > SDK 연동 > SDK 키'에서 Singular SDK 키와 SDK 시크릿을 확인하십시오.
중요: Singular Reporting API 키를 사용하지 마십시오. SDK 연동 페이지에서 제공하는 SDK 전용 자격 증명만 사용하십시오. 잘못된 자격 증명을 사용하면 데이터가 Singular로 전송되지 않습니다.
설치
Singular 플러그인 설치
Cordova CLI를 사용하여 Cordova 프로젝트에 Singular 플러그인을 추가하십시오. 이 플러그인은 iOS 및 Android용 네이티브 Singular SDK에 대한 JavaScript 바인딩을 제공합니다.
Cordova CLI를 통한 설치
- 터미널을 엽니다: Cordova 프로젝트의 루트 디렉터리로 이동합니다.
-
플러그인 추가: 다음 명령어를 실행하여
Singular SDK 플러그인을 설치하세요:
cordova plugin add singular_cordova_sdk -
설치 확인: `
config.xml` 파일에서 플러그인 항목이 있는지 확인하거나 다음 명령어를 실행하여 플러그인이 추가되었는지 확인하세요:cordova plugin list
Ionic Framework 연동
Ionic Framework를 사용하여 Cordova 앱을 빌드하는 경우, Singular SDK를 올바르게 연동하려면 다음 추가 단계를 따르십시오.
Ionic용 플러그인 설치
-
Ionic CLI를 통한 설치: Ionic Cordova 명령어를 사용하여
플러그인을 추가하세요:
ionic cordova plugin add singular_cordova_sdk -
Cordova 변수 선언: 메인 TypeScript
파일(일반적으로
app.component.ts또는home.page.ts) 상단에 Cordova 변수를 선언하세요:declare var cordova; -
platform ready 내에서 초기화: platform
ready 이벤트를 사용하여 SDK 초기화 전에 네이티브 플러그인이 로드되도록 하세요:
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) }); } }
왜 platformReady인가? platform.ready()
프로미스는 코드가 플러그인에 접근하기 전에
Cordova 플러그인이 완전히 로드되었음을 보장합니다. Ionic을 사용할 때는 항상 이 콜백 내에서 Singular SDK를
초기화하십시오.
플랫폼 구성
Android 구성
핵심 SDK 기능 및 어트리뷰션 추적을 활성화하기 위해 Android 전용 권한 및 설정을 구성하십시오.
필수 권한 추가
어트리뷰션, 네트워크 액세스 및 설치 리퍼러 추적을 활성화하려면
Cordova의 config.xml 파일에 필요한 Android 권한을 추가하십시오.
-
config.xml 열기: Cordova
프로젝트의 루트 디렉터리로 이동하여
config.xml파일을 엽니다. -
권한 추가:
<platform name="android">섹션 내에서 다음 권한을 추가합니다:<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>
어린이 앱의 경우 중요: Kids SDK를
연동하는 경우,
com.google.android.gms.permission.AD_ID 권한을
추가하지 마십시오. 이 권한은 일반 앱에는 필요하지만, COPPA
규정을 준수하기 위해 13세 미만 어린이를 대상으로 하는 앱에서는
생략해야 합니다.
추가 권한 (자동 추가)
다음 권한들은 Singular Cordova 플러그인에 의해 자동으로 추가되며 수동 설정은 필요하지 않습니다:
-
android.permission.INTERNET- 데이터 전송을 위한 네트워크 액세스 -
android.permission.ACCESS_NETWORK_STATE- 네트워크 상태 모니터링 -
BIND_GET_INSTALL_REFERRER_SERVICE- 설치 참조자 추적
iOS 구성
iOS 구성은 Cordova 플러그인이 자동으로 처리합니다. iOS 프로젝트의 경우 추가적인 수동 구성 단계가 필요하지 않습니다.
CocoaPods 설치: iOS용 빌드 시, Cordova는
pod install 를 자동으로 실행하여 필요한 종속성을 가져옵니다.
개발용 컴퓨터에 CocoaPods가 설치되어 있는지 확인하십시오.
SDK 연동
개인정보 보호 규정 준수: Singular SDK를 구현할 때 GDPR, CCPA, COPPA 등을 포함하여 운영 지역의 개인정보 보호법을 준수하십시오. 자세한 내용은 SDK 옵트인 및 옵트아웃 지침을 참조하십시오.
앱이 실행될 때마다 Singular SDK를 초기화하십시오. SDK 초기화는 모든 Singular 어트리뷰션 기능에 필수적이며, 사용자 유지율 지표를 계산하기 위한 새로운 세션을 생성합니다.
기본 SDK 초기화
SDK 자격 증명을 사용하여 ` SingularConfig ` 객체를 생성하고
` init() ` 메서드를 통해 SDK를 초기화하십시오. 이는
앱의 라이프사이클에서 가능한 한 빨리 수행되어야 합니다.
초기화 예시
- 인증 정보 가져오기: Singular계정에 로그인한 후 Developer Tools > SDK Integration > SDKKeys 로 이동하여 SDK 키와 시크릿을 확인합니다.
-
구성 생성: 자격 증명을 사용하여
SingularConfig객체를 생성합니다. -
SDK 초기화:
init()를 호출하여 SDK를 시작합니다.
// 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 기능을 구성합니다. 이 예제는 딥 링크, 로깅, 세션 타임아웃을 포함한 일반적인 구성
옵션을 보여줍니다.
// 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 구성 참조를 참조하십시오.
Meta 설치 리퍼러 어트리뷰션
Facebook 및 Instagram 광고 캠페인을 통한 설치를 추적하려면 Meta(Facebook) 설치 리퍼러 어트리뷰션을 구성하십시오.
2025년 6월 18일 기준: Meta의 고급 모바일 측정 보고(AMM) 기능으로 인해 대부분의 사용 사례에서 Meta 설치 리퍼러를 구현할 필요가 없어졌습니다. 앱에 AMM 보고가 활성화된 경우 Meta 설치 리퍼러를 구현하지 않는 것이 좋습니다.
Meta 설치 리퍼러 활성화
AMM이 활성화되지 않았거나 레거시 추적을 위해 Meta 설치 리퍼러가 필요한 경우, SDK 구성에 Facebook 앱 ID를 추가하세요.
- Facebook 앱 ID 찾기: Facebook 개발자 계정에로그인하고 앱 대시보드로 이동하여 앱 ID를 확인하세요.
-
구성에 추가:
withFacebookAppId()메서드를 사용하여 Meta Install Referrer를 활성화하세요:// 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는 어디에서 찾을 수 있나요?'를참조하세요.
고급 설정
Google Ads iOS 연동 전환 측정 필수 사항
앱에서 iOS 14.5 이상 사용자를 대상으로 Google Ads 캠페인을 실행하는 경우, iOS 연동 전환 측정(ICM)을 지원하려면 추가 SDK 구성 단계가 필요합니다. 여기에는 다음이 포함됩니다:
- Google의 기기 내 측정(ODM) SDK 연동
- Singular iOS SDK v12.8.1 이상으로 업데이트(Unity의 경우 v5.5.0 이상, Flutter/Cordova의 경우 v1.8.0 이상, React Native의 경우 v3.9.0 이상)
-
-ObjC링크어 플래그 추가 및SingularConfig에서enableOdmWithTimeoutInterval활성화
참고: enableOdmWithTimeoutInterval를 활성화하면
SDK 초기화가 지연되고 딥 링크 콜백이 연기될 수 있습니다.
재작업을 방지하려면 초기 SDK 구현 단계에서 이 설정을 완료하십시오.