2016-12-19 1 views
0

범용 링크를 보내는 데 지점 iOS SDK를 사용하고 있습니다. 내 테스트 장치 중 하나는 항상 매개 변수 + is_first_session을 false로 반환합니다.branch.io - 매개 변수 + is_first_session 항상 false

테스트 할 기기에서 앱을 삭제하고 다른 기기에 앱을 설치합니다. 메시지 또는 전자 메일을 통해 앱없이 장치에 설치 링크를 보내고 해당 링크를 열면 (App Store가 열림) 마지막으로 xCode가있는 디버그 버전을 설치합니다. 이 코드는 일부 기기 (iOS 10.1.1 및 iOS 9.3)에서는 작동하지만 iOS 10.2에서는 작동하지 않습니다. 이전에는 항상 동일한 기기에서 작동 했으므로 새로운 iOS 버전과 관련이 있다고 생각합니다.

도움이 될만한 아이디어가 있습니까? 아무도 + is_first_session이 어떻게 결정되는지 설명 할 수 있습니까? 감사합니다 ...

답변

2

UPDATE : 애플이 논리 지점 설치하고 다시 설치 수를 구별하기 위해 사용하는 파산 (지점에서, 우리가 실제로 애플의 버그가있을 수 있습니다 생각) 아이폰 OS 10.2에 예고없이 변화를 소개했다. 이로 인해 iOS 10.2의 일부 새로운 설치가 +is_first_session: false으로 잘못보고되었습니다. 문제를 해결하기 위해 백엔드 변경을 구현했습니다.


알렉스 여기 Branch.io에서 : +is_first_session이 변수 지점 같은 응용 프로그램은 이전에 그 고유의 장치에 설치되어 있는지 확인합니다. 즉, 이전 버전을 설치 한 경우 false이 표시됩니다. 다시 설치 한 사용자와는 달리 최초 설치 관리자에 대한 사용자 지정 환경을 구성 할 수 있도록 설계되어 있습니다.

테스트 목적으로 이것을 우회하려면 debug mode을 사용하는 것이 좋습니다. 이 기능을 설정하면 앱이 설치 될 때마다 언제든지 is_first_session: true이 표시됩니다. 즉, 앱을 삭제하고 다시 설치하거나 Xcode에서 새로 빌드를 설치하십시오.

+0

답장을 보내 주셔서 감사합니다. 이것은 많은 도움이됩니다. 나는 그것을 시도 할 것이다. 디버그 모드가 켜져 있지 않지만 일부 장치는 앱을 삭제하고 xcode로 테스트 할 때 + is_first_session = true를 반환한다고 언급하고 싶습니다. 그것은 그때 의도적인가? 그 차이점은 무엇입니까? 앱이 모두 한 번 이상 설치되었습니다. 흥미롭게도 디버깅 모드를 사용하면 광고 식별자를 재설정하지 않아도 iPhone 7 (10.1.1)에서는 도움이되지만 10.2 장치에서는 전혀 도움이되지 않습니다. – helkarli

+0

나는 다음과 같이 (다시) 디버그 모드로 테스트했다.'let branch : Branch = Branch.getTestInstance() branch.setDebug() branch.initSession .....'성공했지만 성공하지 못했다. iOS 10.2 기기에서는 '+ is_first_session'이 항상'거짓 '입니다. 위에서 언급 한 (주석에서) 디버그 모드가 설정된 상태에서도 여전히 유효합니다. 아마 iOS 10.2로 장치 중 하나를 업데이트하기 전에 코드가 작동한다고 언급해야합니다. – helkarli

+0

이것은 매우 흥미 롭습니다. iOS 엔지니어에게 문의하여 다시보고 드리겠습니다 ... 가장 최근 업데이트에서 뭔가가 변경되었을 수 있습니다! –