우리는 또한이 작업을 스스로 시도했으며 여기서 다른 단계를 무너 뜨리려고합니다.
예제로 돌아 가면 장치 ID와 모든 관련 데이터 "id = userA"를 "기억"하는 것이 옳습니다. 또한 웹 페이지가 브라우저 앱 (Safari) 및 앱 (앱) 외부에 정보를 저장할 수 없다는 것을 의미하는 "샌드 박스가있는 iOS의 성격"에 대해 정확합니다. 다른 앱에 저장된 정보에 액세스 할 수 없습니다 원정 여행).
Google의 솔루션은 브라우저와 앱 (백엔드 서버)에서 모두 액세스 할 수있는 환경에서이 기기를 데이터 키 - 값 쌍에 저장하는 것입니다.
가장 큰 도전 과제 인 다음 과제는 브라우저에서 수집 할 수있는 정보에서이 장치를 고유하게 식별하는 방법입니다. 브라우저의 자바 스크립트는 기본 앱과는 달리 iOS 기기를 고유하게 식별하는 데 사용할 수있는 IDFA에 액세스 할 수 없습니다. 이를 극복하기 위해 브라우저 앱과 네이티브 앱 모두에서 사용할 수있는 공통 정보 (예 : OS 유형, 공개 IP, 화면 크기 등)를 조합하여 사용하는 방법을 생각해 볼 수 있습니다. 이 데이터 필드는 고유성을 보장하지 않습니다 (두 개의 iPhone 6이 동일한 라우터를 통해이 웹 페이지를 방문한다고 상상하십시오). 따라서 백엔드 서버 (이 키 - 값 쌍을 저장하는 데 사용한다고 가정)는 키 충돌을 처리하는 방법에 대한 전략을 원합니다. 즉, 두 번째 키가 첫 번째 키를 삭제하거나 충돌을 허용하려면 단일 키의 값 대기열 이것은 실제로 당신이이 기술을 어떻게 사용하는지에 달려 있습니다.
마지막 단계는 이전에 저장 한 값을 검색하기 위해 백엔드 서버에서 "조회"를 수행하기 위해 이전에 브라우저에서 사용한 것과 동일한 필드를 사용하여 앱에이 복합 키를 형성하는 것입니다.여기
가하는 단계를 요약 한 것입니다 example.com?inviter=1
사용이 방문 웹 페이지 P
:
- 사용자 1 2는 아래의 링크를 전송하여 사용자 2를 초대합니다 P 구조와 서버의 아이폰 OS에 다음 키 - 값 쌍 전송 | 55.55.55.55을 | × 1334 750 -> inviter_id = 1
- 사용자 2가 2 첫 출시되면 앱 스토어 및 다운로드하여 인앱
- 로 이동 A, A는 S와 동일한 키를 사용합니다. (IP가 변경되지 않았다고 가정).
- S는 2
희망이 도움을 초청이 키가 보상 사용자에게,의 말을하자, 한 5 점을 전달하고 사용하여 값 inviter_id = 1을 찾습니다!
편집 4월 24일 :
데릭이 의견을 언급 한 이후 , 내가 여기에 우리의 이야기를 마무리하기 위해이 기회를 잡을 것이다 그림.
내 대답의 시작 부분으로 돌아가서 우리는 을 시도하여을 시도했습니다. 우리는 현재의 시스템 아키텍처 (어쨌든 최적화되지 않았거나 이와 같은 딥 링크 데이터를 저장하고 분석하기 위해 최적화 될 예정 임)를 기반으로 작동하는 프로토 타입을 가지고 있었고 궁극적으로 추가 엔지니어링 리소스를이 프로젝트에 할당하지 않기로 결정했습니다.
이 일치 프로세스의 경험적 특성으로 인해 우리는이 프로젝트가 디버깅, 튜닝 및 최적화 된 ROI 감소를 필요로한다는 것을 발견했습니다. 더 중요한 것은, 우리는보다 전문화되어 있으며 우리보다 훨씬 나은 직업을 가진 다른 회사를 발견했습니다.
내부 시스템 사용을 중단 한 지 6 개월이 지났지 만, 우리는 그러한 결정을 내린 것에 대해 후회하지 않았습니다.
이 과정에서 우리는 Appsflyer, Adjust, TapStream의 여러 공급 업체와 협력하여 궁극적으로 Branch Metrics https://branch.io으로 끝났습니다.
다른 회사와 DIY를해야하는지 또는 다른 회사와 다시 협력해야하는지 여부는 구체적인 목표에 따라 다릅니다. 우리는 마침내 지점에 머물기로 결정했습니다. 다른 공급 업체가 지점을 완전히 무료로 사용하면서 월 500 달러에서 수천 달러까지 비용을 청구했을뿐만 아니라 제공 한 지원 수준도 비교할 수없는 수준이기 때문입니다.
는
IDFA를 상호 연관시킬 수 있기 때문에 장치의 광고에서 설치를 추적하는 것은 다릅니다. 나는 당신이하고 싶은 것이 가능하다고 믿지 않습니다. – Paulw11
우리는 이것을 할 수있는 방법을 찾고 있습니다. TapStream에서이 블로그 게시물을 보았습니까? "지연된 딥 링크를 구축 한 방법"http://blog.tapstream.com/post/74394304157/how-we-built-deferred-deep-links – Ender2050
@ Ender2050 원래 게시물. 나는 그들의 블로그 포스트를 보았으나 단지 그들의 서비스를 사용하는 광고 인 것으로 보인다. 필자는 주로 제 3자를 의지하기보다는 이러한 기능을 직접 구현할 수있는 방법에 관심이 많았습니다. –