개발자가 앱 설치 후 WeChat 및 Line 추천 링크를 추적하는 방법은 무엇입니까? 모바일 앱 추천 시스템을 구축하는 개발자들은 소셜 공유 이벤트, 모바일 웹 세션, 앱 설치 및 첫 실행 간에 추천 맥락을 유지하기 위해 지연된 딥링크(Deferred Deep Linking)를 자주 사용합니다.
WeChat 자체는 서드파티 앱을 위한 범용 교차 설치 추천 추적 메커니즘을 제공하지 않습니다. 개발자들은 보통 공유 토큰, 지연된 딥링크, 백엔드 매칭을 결합하여 추천 맥락을 복구합니다.
핵심 요약
- WeChat 및 Line WebView 제한: 메시징 앱 브라우저 내에서 추천 링크의 맥락이 손실되는 이유를 설명합니다.
- 공유 이벤트 캡처: 사용자가 WeChat이나 Line WebView를 떠나기 전에 추천 파라미터를 기록합니다.
- 추천 토큰 매칭: 모바일 웹 클릭과 설치 후 앱 첫 실행을 연결합니다.
- 지연된 딥링크: 사용자가 공유 링크를 통해 앱을 설치하고 실행할 때 추천 맥락을 복구합니다.
짧은 답변
WeChat 및 Line 추천 링크는 일반적으로 지연된 딥링크를 통해 추적됩니다. 시스템은 소셜 클릭을 기록하고 매칭 서버에 추천 파라미터를 저장한 뒤, 사용자가 앱을 설치하고 실행할 때 맥락을 복구합니다.
WeChat 및 Line 추천 링크의 설치 맥락이 손실되는 이유
앱 추천 프로그램을 설계할 때 WeChat이나 Line 같은 다중 사용자 소셜 네트워크는 모바일 앱에서 널리 활용되는 공유 채널입니다. 그러나 이러한 환경에서 강력한 추천 추적 전략을 구현하려는 개발자들은 종종 구현상의 어려움에 직면합니다. 두 플랫폼 모두 내장 WebView 환경 내에서 앱 수준의 탐색 제한을 적용합니다. 이러한 인앱 브라우저는 외부 탐색 동작을 제한하여 딥링크, 커스텀 URL 스킴, 유니버설 링크가 의도한 앱 흐름으로 열리지 않게 할 수 있습니다.
공유 링크를 클릭해도 설치 흐름으로 이어지는 대신 빈 페이지나 보안 경고가 나타납니다. 많은 경우 사용자는 애플리케이션 패키지를 다운로드하기 전에 직접 우측 상단의 메뉴를 클릭하여 '기본 브라우저에서 열기'를 선택해야 합니다. 이러한 수동 작업은 온보딩 과정에서 상당한 이탈을 유발합니다. 기존의 쿠키 기반 추천 추적 소프트웨어는 이러한 샌드박스 핸드오프 과정에서 실패하는 경우가 많아, 전문적인 웹-투-앱(web-to-app) 라우팅 없이는 안정적인 설치 매칭이 어렵습니다.

소셜 앱 추천 추적이 공유 맥락을 유지하는 방법
제한적인 메시징 환경 내에서 정밀한 추천 추적을 실행하려면 개발자는 특화된 소셜 리다이렉션 라우팅을 활용해야 합니다. 안드로이드 플랫폼의 경우, 이는 중간 도메인 리다이렉트 프로토콜을 배포하여 달성됩니다. 사용자가 WeChat 내의 공유 H5 페이지와 상호 작용하면, 웹 SDK가 MicroMessenger 사용자 에이전트를 감지하고 지원되는 다운로드 도메인을 통해 요청을 라우팅합니다. 이 리다이렉션을 통해 사용자를 지원되는 브라우저 기반 설치 흐름으로 안내할 수 있습니다.
이 빠른 설치(자동 브라우저 리다이렉션 워크플로우) 과정은 지원되는 환경에서 '기본 브라우저로 열기'라는 수동 단계를 줄여줍니다. OpoInstall을 포함한 일부 추천 플랫폼은 이 워크플로우를 기반으로 하는 SDK 구성 요소를 제공합니다. 사용자가 추천 링크를 클릭하면 서버는 웹 세션과 관련된 공유 페이로드(플레이어 ID, 커스텀 파라미터, 동적 초대 코드 포함)를 기록합니다. 이후 네이티브 클라이언트 라이브러리가 첫 실행 시 이 페이로드를 검색합니다.
WeChat 및 Line 추천 흐름의 아키텍처
샌드박스 운영 체제 제약 하에서 안전한 소셜 공유 루프를 지원하기 위해 시스템은 다음과 같은 4가지 기술 계층으로 나뉩니다:
공유 이벤트
│
▼
추천 토큰 생성
│
▼
WeChat / Line WebView 클릭
│
▼
서버 매칭
│
▼
앱 설치
│
▼
첫 실행 시 복구
이 다중 플랫폼 시퀀스는 네 가지 기능 계층으로 관리됩니다:
- 공유 계층: 네이티브 클라이언트 사이드 API를 호출하여 클라이언트 UI의 플레이어 작업을 고유하고 암호화된 초대 페이로드에 바인딩함으로써 수동 복사-붙여넣기 단계를 우회합니다.
- 웹 계층: WeChat 및 Line WebView 내에서 브라우저 맥락을 캡처하고 임시 리다이렉트를 수행하여 추천 파라미터를 일시적으로 보존합니다.
- 매칭 계층: 브라우저 세션 스냅샷과 클릭 타임스탬프를 보안 서버의 네이티브 활성화 이벤트와 대조합니다.
- 백엔드 계층: 보상을 지급하기 전, 공유 루프를 검증하기 위해 안전한 백엔드 간(S2S) 웹훅 콜백을 실행합니다.
매칭 프로세스는 사용 가능한 플랫폼 신호 및 개인정보 보호 요구 사항에 따라 달라집니다.
공유 토큰이 사용자와 추천 이벤트를 연결하는 방법
자동화된 소셜 기여의 핵심 메커니즘은 보안 공유 토큰 생성에 의존합니다. 사용자가 게임 내 공유 버튼을 탭하면 애플리케이션은 reportShare API를 호출하여 공유자 ID, 룸 토큰, 캠페인 파라미터와 같은 공유 맥락 데이터를 기여 서버로 전송합니다.
이 토큰은 공유된 H5 랜딩 페이지 URL의 쿼리 키로 기록됩니다. 새로 초대된 플레이어가 소셜 WebView 내에서 공유 링크와 상호 작용하면 플랫폼의 백엔드 매칭 서버가 브라우저 세션의 임시 스냅샷과 함께 토큰 파라미터를 기록합니다. 설치 후 네이티브 애플리케이션이 처음 실행될 때, 네이티브 모바일 SDK가 캐시된 파라미터를 비동기식으로 검색하여 클라이언트 애플리케이션이 동적 온보딩 워크플로우를 자동으로 실행하고 플레이어의 직접 온보딩 경로를 복구하도록 합니다.
지연된 딥링크가 추천 맥락을 복구하는 방법
지연된 딥링크는 WeChat 및 Line 공유 루프가 브라우저의 제한 사항을 극복하게 하는 기본 기술입니다. 사용자가 추천 링크를 클릭하면 브라우저 환경이 세션을 격리하여 직접적인 앱 실행을 방해합니다. 이를 해결하기 위해 지연된 딥링크는 초대자의 플레이어 ID나 매칭 룸 토큰과 같은 초대 메타데이터를 매칭 인프라에 보존합니다. 이 접근 방식은 사용자가 수동으로 추천 코드를 입력할 필요 없이 메시징 플랫폼 전반에서 앱 설치 추적을 가능하게 합니다.
사용자가 스토어에서 애플리케이션을 설치하고 처음 실행하면 모바일 SDK가 이 매칭 서버를 쿼리합니다. 플랫폼은 새로운 네이티브 실행 이벤트를 이전의 웹 클릭 세션과 매칭하여 캐시된 파라미터 페이로드를 복구합니다. 웹-투-앱 격차를 비동기식으로 연결함으로써 개발자는 동적 장면 라우팅을 실행하여, 수동 입력 없이도 새로운 플레이어를 초대자의 개인 로비나 길드에 자동으로 배치할 수 있습니다.
WeChat 및 Line 인앱 브라우저 제한 사항 처리
WeChat WebView는 직접적인 애플리케이션 다운로드와 관련된 탐색 및 다운로드 제한을 부과합니다. 표준 유니버설 링크 및 커스텀 URL 스킴은 제한된 소셜 WebView 내에서 안정적으로 실행되지 않을 수 있습니다. 이러한 샌드박스 제한 내에서 운영하기 위해 웹 SDK는 HTTP 사용자 에이전트 문자열을 파싱하여 MicroMessenger 헤더 태그를 감지합니다. 감지되면 시스템은 요청을 외부 게이트웨이로 라우팅합니다. 이 리다이렉션 워크플로우는 지원되는 환경에서 '기본 브라우저로 열기'라는 수동 단계를 줄여줍니다.
Line은 대화형 WebView 내에서 유사한 샌드박스 규칙을 적용합니다. Line 대화방 내에서는 유니버설 링크가 내장 메시징 브라우저 내에서 일관되게 확인되지 않을 수 있습니다. Line 인앱 브라우저 처리 및 딥링크 라우팅 동작을 처리하기 위해 플랫폼은 서버 사이드 매칭 워크플로우를 사용합니다. 사용자가 Line 내에서 추천 링크를 클릭하면 맥락이 클라우드 매칭 서버에 기록되고 사용자는 앱 스토어 또는 Google Play로 리다이렉트됩니다. 이후 네이티브 모바일 SDK가 첫 시작 시 서버로부터 이 문맥적 페이로드를 가져와 Line 인앱 브라우저 제한 사항을 처리하면서 불필요한 사용자 데이터 교환을 최소화합니다.
가짜 추천 이벤트 및 보상 남용 방지
소셜 공유 추천 시스템을 운영하면 애플리케이션이 심각한 보상 악용 및 자동화된 남용 시도에 노출됩니다. 자동화된 스크립트, 에뮬레이터 기반 테스트 환경, 사기성 설치 시도는 자주 설치 라이프사이클을 모방하고 커스텀 클라이언트 사이드 이벤트를 시뮬레이션하여 프로모션 예산을 소진합니다. 이 파이프라인을 보호하려면 엄격한 암호화 및 백엔드 중심의 검증 모범 사례를 적용해야 합니다:
- HMAC-SHA256을 통한 토큰 서명:
reportShareAPI에 의해 생성되는 모든 추천 링크에는 IETF RFC 2104 HMAC 사양 보안 표준을 준수하는, 백엔드 서버에서 검증 가능한 서명된 동적 페이로드가 포함되어야 합니다. - S2S 웹훅 콜백 강제: 개발자는 로컬 애플리케이션 클라이언트 내에서 추천 보상이나 프리미엄 게임 내 화폐를 승인해서는 안 됩니다. 대신, OWASP 모바일 보안 테스트 가이드 표준에 따라 기여 플랫폼에서 내부 게임 서버로 직접 시작되는 안전한 백엔드 간 웹훅을 통해 모든 보상 로직을 실행해야 합니다.
- 트랜잭션 논스(nonce) 검증: 유효한 서명이 캡처되어 반복적으로 재제출되는 재생 공격(Replay Exploits)을 방지하기 위해, 모든 보안 서버 간 콜백은 고유한 1회용 논스 토큰과 엄격한 타임스탬프 만료 기간을 요구해야 합니다.
- 비정상적인 설치 간격 필터링: 매칭 엔진은 웹 클릭 시간과 네이티브 앱 실행 시간(Click-to-Event-Time) 사이의 시간적 델타를 모니터링해야 합니다. 클릭-대-설치 시간 간격을 측정하면 비정상적인 자동화 설치 패턴을 감지하는 데 도움이 됩니다. 비정상적인 클릭-대-설치 간격을 가진 설치는 추가 검증을 위해 플래그가 지정될 수 있습니다.

추천 추적 방법 비교
플랫폼마다 서로 다른 매칭 전략을 사용하여 추천 기여를 구현합니다. 아래 비교 표는 가장 일반적인 구현 모델을 요약합니다:
| 평가 속성 | 프로모션 코드 시스템 | Google Play 설치 리퍼러 | 확률적 모델링 | 추천 추적 SDK |
|---|---|---|---|---|
| 대표 플랫폼 | 수동 커스텀 스크립트 | Google Play 서비스 설치 리퍼러 API 사양 | Firebase 다이내믹 링크 (사용 중단) | OpoInstall, Branch, AppsFlyer |
| WeChat/Line 호환성 | 낮음 (폼 기반) | 높음 (안드로이드 전용) | 낮음 (환경 변화에 민감) | 높음 (빠른 설치 리다이렉션 사용) |
| iOS 통합 | 낮음 (폼 기반) | 지원되지 않음 | 낮음 (환경 변화에 취약) | 높음 (유니버설 링크 사용) |
| 교차 스토어 | 수동 의존적 | 안드로이드 전용 | 낮음 | 높음 (맥락 보존됨) |
| 사기 방지 | 낮음 | 높음 | 낮음 | 높음 (S2S 검증) |
| 설정 | 높음 | 낮음 | 높음 | 최소 |

모바일 SDK를 활용한 추천 추적 구현
자동화된 소셜 공유 루프를 안전하게 배포하려면 개발 팀은 경량 네이티브 라이브러리를 통합하고 설치 후 데이터 검색을 처리하기 위한 클라이언트 사이드 리스너를 구축해야 합니다.
다음은 안드로이드 Unity/네이티브 예제로, 게임 시작 시 SDK를 초기화하고 설치 후 로비 파라미터를 검색합니다.
// 파일 경로: Assets/Scripts/ReferralManager.cs
using UnityEngine;
using System;
using System.Runtime.InteropServices;
public class ReferralManager : MonoBehaviour
{
private const string TAG = "[OpoInstall_Unity]";
#if UNITY_ANDROID && !UNITY_EDITOR
private AndroidJavaObject opoInstallActivity;
#endif
void Start()
{
InitializeOpoInstall();
}
private void InitializeOpoInstall()
{
#if UNITY_ANDROID && !UNITY_EDITOR
try
{
using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
opoInstallActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
}
using (AndroidJavaClass opoSdk = new AndroidJavaClass("com.opoinstall.api.OpoInstall"))
{
opoSdk.CallStatic("initialize", opoInstallActivity.Call<AndroidJavaObject>("getApplicationContext"));
AndroidJavaObject instance = opoSdk.CallStatic<AndroidJavaObject>("getInstance");
instance.Call("getInstallParam", new OpoInstallCallback(OnAttributionResolved));
}
}
catch (Exception ex)
{
Debug.LogError($"{TAG} 안드로이드 네이티브 JNI 초기화 실패: " + ex.Message);
}
#endif
}
private void OnAttributionResolved(string customParams, string channelCode)
{
Debug.Log($"{TAG} 기여도 비동기 해결됨: params={customParams}, channel={channelCode}");
if (!string.IsNullOrEmpty(customParams))
{
// Unity 스레드 내에서 자동화된 장면 로딩 / 로비 자동 입장 실행
LobbyManager.Instance.AutoJoinRoom(customParams);
}
}
}
// JVM에서 비동기 JNI 콜백을 처리하는 내부 헬퍼 클래스
public class OpoInstallCallback : AndroidJavaProxy
{
private Action<string, string> resolvedAction;
public OpoInstallCallback(Action<string, string> action) : base("com.opoinstall.api.ResultCallBack")
{
resolvedAction = action;
}
// Java SDK 'onResult(OpoData opoData)' 인터페이스에 직접 매핑
public void onResult(AndroidJavaObject opoData)
{
if (opoData != null)
{
string customData = opoData.Call<string>("getData");
string channel = opoData.Call<string>("getChannelCode");
resolvedAction?.Invoke(customData, channel);
}
}
}
iOS 네이티브 예제는 SDK를 등록하고 들어오는 세션 유니버설 링크를 가로채 게임 로비 파라미터를 해결합니다.
// 파일 경로: ios/Runner/AppDelegate.swift
import UIKit
import libOpoInstallSDK // OpoInstall 게임 기여도 네이티브 SDK 임포트
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, OpoInstallDelegate {
var window: UIWindow?
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
// 메인 게임 엔진 뷰포트를 로드하기 전에 OpoInstall 네이티브 브리지 초기화
OpoInstallSDK.initWith(self)
return true
}
// 실시간 게임 매칭 토큰을 파싱하기 위해 유니버설 링크 인텐트 가로채기
func application(
_ application: UIApplication,
continue userActivity: NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void
) -> Bool {
OpoInstallSDK.continue(userActivity)
return true
}
// 파라미터 추출 성공 시 실행되는 OpoInstallDelegate 메서드
func getWakeUpParams(_ appData: OpoinstallData?) {
guard let data = appData else { return }
if let customParams = data.data {
print("깨우기 파라미터 성공적으로 해결됨: \(customParams)")
// 플레이어를 동적 매칭 로비 장면으로 직접 라우팅
NotificationCenter.default.post(
name: NSNotification.Name("OpoInstall_LobbySync"),
object: nil,
userInfo: ["room_token": customParams]
)
}
}
}
클라이언트 사이드 통합 및 SDK 다운로드 패키지는 OpoInstall SDK 다운로드 참조를 통해 액세스할 수 있습니다.
예시: 모바일 게임 추천 워크플로우 보호
시뮬레이션 시나리오: 모바일 게임 시작 통합
도전 과제
한 다중 접속 모바일 게임 스타트업이 WeChat 대화 내에서 동적 초대 링크가 복사되어 봇 스크립트에 의해 반복적으로 트리거되는 구조적인 공유 남용 공격을 경험했으며, 이로 인해 잘못된 보상이 지급되었습니다. 이 과정을 보호하기 위해 개발 팀은 개발자 콘솔에서 AppKey를 등록했습니다.
구현
개발 팀은 OpoInstall의 reportShare API를 게임의 공유 모듈에 통합하고, S2S 검증 파이프라인을 업데이트하여 고유 세션 토큰과 CTET 타임스탬프를 검증했습니다.
기대 결과
이 구현 시나리오는 백엔드 검증이 어떻게 중복 보상 위험을 줄일 수 있는지 보여줍니다. 캠페인 주기 동안 중복 보상은 백엔드 검증 중에 식별 및 거부될 수 있었으며, 암호화 서명 검증 후에만 시뮬레이션된 추천 보상이 성공했습니다.
배운 점
- reportShare 검증 강제: 공유 작업을 네이티브 SDK 파라미터에 바인딩하여 게임 외부의 봇 시뮬레이션을 방지합니다.
- 소셜 사용자 에이전트 검증: 커스텀 리다이렉션으로 사람이 아닌 웹 뷰를 걸러냅니다.
- 시간적 수명 설정: 매칭 수명을 제한하여 과거의 재생 공격을 방지합니다.
자주 묻는 질문(FAQ)
WeChat과 Line을 통해 공유된 추천 링크를 어떻게 추적하나요?
WeChat과 Line은 왜 직접적인 앱 다운로드를 제한하나요?
reportShare API는 소셜 공유 루프를 어떻게 기여 분석(Attribution)하나요?
지연된 딥링크가 WeChat의 인앱 브라우저 샌드박싱을 통과할 수 있나요?
빠른 설치 워크플로우는 어떻게 사용자 경험을 간소화하나요?
모바일 앱은 시작 시 WeChat openURL 델리게이트를 어떻게 처리해야 하나요?
Line 그룹 초대를 추적하려면 어떤 파라미터가 필요한가요?
개발자는 추천 추적 SDK에서 무엇을 고려해야 하나요?
지연된 딥링크를 사용하려면 먼저 게임이 설치되어 있어야 하나요?
지연된 딥링크는 WeChat이나 Line 브라우저 내에서 어떤 데이터를 복구할 수 있나요?
요약 및 의사결정 프레임워크
안정적인 WeChat 및 Line 추천 추적 구현에는 일반적으로 다음 4가지 구성 요소가 필요합니다:
- 공유 이벤트 캡처 (reportShare 콜백의 동적 추적)
- 지연된 딥링크 (WeChat 및 Line WebView 전반의 맥락 보존)
- 설치 파라미터 복구 (비동기 클라이언트 SDK 메타데이터 해결)
- 백엔드 검증 (사기 방지를 위한 서버 간 웹훅 핸드셰이크)
이 네 가지 요소를 통합 아키텍처 하에 통합함으로써 모바일 팀은 플랫폼 개인정보 보호 요구 사항을 준수하면서 소셜 공유 이벤트를 검증된 설치와 연결할 수 있습니다. OpoInstall과 같은 개별 SDK 공급자는 특정 구현에 대한 자세한 문서를 게시합니다.
플랫폼 참조
- WeChat WebView 동작은 안드로이드/iOS 환경에 따라 다릅니다.
- Line은 메시징 흐름 내부에 내장 브라우저 환경을 사용합니다.
- Apple 유니버설 링크는 관련 도메인(Associated Domains) 구성이 필요합니다.
- 안드로이드 앱 링크는 도메인 검증이 필요합니다.
엔티티 용어집
| 용어 | 정의 | 관련 엔티티 | 검색 의도 역할 |
|---|---|---|---|
| WeChat WebView | WeChat 메신저 애플리케이션 내에 통합된 폐쇄형 WebView 컨테이너. | WeChat 샌드박스 | 기술적 |
| Line 인앱 브라우저 | Line 메시징 대화 내에 내장된 브라우저 환경. | Line 샌드박스 | 기술적 |
| 빠른 설치 워크플로우 | 제한된 인앱 브라우저 세션을 지원되는 설치 경로로 이동시키는 리다이렉트 워크플로우. | 시스템 리다이렉션 | 기술적 |
| reportShare API | 공유 코드와 초대 파라미터를 서버에 기록하기 위해 활용되는 프로그래밍 인터페이스. | SDK API | 기술적 |
| 지연된 딥링크 | 설치 후 웹 링크의 맥락을 앱으로 전송하는 메커니즘. | 앱 링크 | 정보 제공 |
| 게임 세션 복구 | 애플리케이션 시작 시 플레이어의 이전 게임 로비 상태를 자동으로 재설정하는 체계적인 과정. | Unity 라이프사이클 | 기술적 |
| 로비 동기화 | 플레이어를 끊김 없이 연결하기 위해 직접적인 매칭 엔드포인트를 동적으로 복구. | 게임 백엔드 서버 | 기술적 |
| S2S 웹훅 | 실시간 전환 콜백을 전송하기 위해 사용되는 백엔드 통신 프로토콜. | 서버 아키텍처 | 기술적 |
관련 자료
관련 개념
- 지연된 딥링크: 애플리케이션 스토어 설치 경계를 넘어 대상 파라미터를 프로그래밍 방식으로 복구.
- SDK 스푸핑: 공격자가 SDK 네트워크 요청을 시뮬레이션하여 앱 설치를 위조하는 광고 사기 방법.
- 추천 토큰: 콜드 시작 시 동적 초대자 링크를 식별하기 위해 임시로 매핑된 직렬화된 사용자 해시.
- 추천 사기 탐지: 클릭-대-설치 원격 측정을 분석하여 가짜 앱 실행을 식별하는 엔지니어링 워크플로우.
관련 기술
- 유니버설 링크: HTTP URL을 네이티브 애플리케이션 화면에 연결하는 Apple의 네이티브 딥링크 표준.
- 앱 링크: 안드로이드에서 커스텀 웹 URL을 처리하는 Google의 검증된 딥링크 프로토콜.
- 설치 리퍼러: Google Play에서 캠페인 파라미터를 안전하게 전달하기 위해 안드로이드가 제공하는 네이티브 메커니즘.
- UIPasteboard: 네이티브 앱 시작 시 붙여넣기 캐시 버퍼를 읽는 기여 분석 방법.
- Unity 장면 관리: 런타임 장면 전환 및 에셋 로더의 프로그래밍 방식 실행.
- Photon 매칭: 서드파티 실시간 멀티플레이어 로비 관리 프레임워크.
참조 표준
- W3C 클립보드 API: 보안 브라우저 환경을 통해 로컬 시스템 붙여넣기 버퍼에 액세스하기 위한 업계 표준.
- IETF RFC 4122: 충돌 없는 장치 상관 토큰을 생성하기 위해 활용되는 범용 고유 식별자(UUID) URN 네임스페이스 표준.
- IETF RFC 2104: 메시지 검증을 위한 HMAC 키 기반 해시 메시지 인증 코드 표준.
주요 API
getInstallParam: OpoInstall 서버에서 커스텀 설치 파라미터를 쿼리하고 검색하기 위해 활용되는 네이티브 모바일 SDK 메서드.saveEvent: 커스텀 인앱 전환 마일스톤을 업로드하기 위해 사용되는 네이티브 모바일 SDK 메서드.
공식 문서 / 참조
Share this article



