2013-08-07 3 views
8

그래서 나는 here에 따르면, 사이트에 링크를 넣고 사용자가 그것을 클릭 할 수있는 것으로 나타났습니다. 사용자가 앱을 설치했다면 앱이 실행됩니다. 앱이 설치되어 있지 않으면 Google Play 스토어가 실행되고 특정 패키지를 검색합니다. 하지만 내 이해에서, 이것은 재생 문자열을 추천 문자열을 전달하는 능력을 느슨하게합니다.크롬에서 새로운 구성표를 사용하여 안드로이드 마켓에 데이터를 전달하려면 어떻게해야합니까?

here에 따르면 market://details?id=your.package.name&referrer=YourReferrerString과 같은 링크를 사용할 수 있습니다. 브로드 캐스트 리시버가 앱에 설정되어있는 경우 리퍼러 문자열을 잡을 수는 있지만 here의 첫 번째 방법을 사용하면 어떻게 동일한 목표를 달성 할 수 있습니까?

here은 Chrome에서 새로운 (?) 기능에 대한 이야기를 찾을 수있는 유일한 스레드이지만 내 질문에는 대답하지 않은 것 같습니다.

감사합니다.

+0

내가 아는 한, 리퍼러 기능은 어쨌든 이제는 완전히 완전히 망가졌습니다. – kabuko

+0

정말요? 언제부터? 나는 아직도이 링크'market : // details? id = your.package.name & referrer = YourReferrerString'에서 앞서 리퍼러 기능을 사용할 수 있었다. – user1865027

+0

크롬에 도입 된 새로운 의도가 아직 완료되지 않았을 것으로 생각된다. 설명서는 더 많은 것을 말하기 위해 수줍어합니다. – user1865027

답변

3

매우 간단합니다. Chrome의 기본 리퍼러는 'com.android.chrome'입니다. 여기

var g_intent = "intent://" + code + 
    "/#Intent;scheme=yourscheme;package=com.your.app&referrer=code%3D" + 
    code + ";launchFlags=268435456;end"; 

더 완벽 솔루션의 자바 스크립트 부분을 설명하는 요점이고 또한 의도 경우 정상적인 시장 링크로 다시 떨어지면 : URI // 예를 들면 : 당신의 의도에 패키지 후 &referrer=를 넣어,이 메소드를 오버라이드 (override) : https://gist.github.com/akent/dec1b4b7383436b4623e

을 그리고 당신의 자바 코드 : // 방식은 작동하지 않습니다 AndroidManifest.xml을

public static class InstallReferrerReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     String referrer = intent.getStringExtra("referrer"); 
     // Do things with your referrer here 
    } 
} 

그리고에서 :

<receiver android:name=".YourActivity$InstallReferrerReceiver" android:exported="true"> 
     <intent-filter> 
      <action android:name="com.android.vending.INSTALL_REFERRER" /> 
     </intent-filter> 
    </receiver> 
+0

나는이 솔루션과 함께 몇 가지 문제가 있었다. 앱이 리퍼러와 함께 추가 의도를 항상받는 것은 아닙니다. 마지막으로 브랜치 Deeplink SDK를 사용하여 deeplink 기능을 수행합니다. –

+0

"Chrome에서 기본 리퍼러는 'com.android.chrome'입니다. 의도 계획이 작동하지 않고 앱이 시장으로 리디렉션되는 경우를위한 또 다른 질문은 리퍼러도 전송됩니까? –