2011-01-11 5 views
11

Android Referral 추적 기능을 사용하려고합니다.Android 추천 추적 기능이 작동하지 않습니다.

디 컴파일 약간의와 또한
public void onReceive(Context paramContext, Intent paramIntent) { 
     String str1 = paramIntent.getStringExtra("referrer"); 
     Log.i("myapp", "action: '" + paramIntent.getAction() + "' 
referrer string: '" + str1 + "'"); 

닷컴 : 난 내가 내 안드로이드 매니페스트 파일

<receiver 
android:name="com.google.android.apps.analytics.AnalyticsReceiver" 
android:exported="true"> 
    <intent-filter> 
       <action android:name="com.android.vending.INSTALL_REFERRER" /> 
     </intent-filter> 
</receiver> 
<receiver android:name="com.package.Receiver" android:exported="true"> 
     <intent-filter> 
       <action android:name="com.android.vending.INSTALL_REFERRER" /> 
     </intent-filter> 
</receiver> 
<uses-sdk android:minSdkVersion="4"/> 

com.package.Receiver에 다음 한 여기 http://code.google.com/mobile/analytics/docs/android/#referrals을 발견 시작했다 유일한 문서를 다음입니다

public void onReceive(Context ctx, Intent intent) 
/*  */ { 
/* 24 */  String referrer = intent.getStringExtra("referrer"); 
/*  */ 
/* 26 */  if ((! 
("com.android.vending.INSTALL_REFERRER".equals(intent.getAction()))) 
|| (referrer == null)) 
/*  */  { 
/* 28 */  return; 
/*  */  } 
/*  */ 
/* 31 */  String formattedReferrer = formatReferrer(referrer); 
/*  */ 
/* 33 */  if (formattedReferrer != null) { 
/* 34 */  PersistentEventStore store = new 
PersistentEventStore(ctx); 
/* 35 */  store.setReferrer(formattedReferrer); 
/* 36 */  Log.d("googleanalytics", new 
StringBuilder().append("Stored 
referrer:").append(formattedReferrer).toString()); 
/*  */  } else { 
/* 38 */  Log.w("googleanalytics", "Badly formatted referrer, ignored"); 
/*  */  } 
/*  */ } 

참고 "Google 웹은"나는 t을 로그인 두 라인 36, 38 : .google.android.apps.analytics.AnalyticsReceiver는 다음 코드를 가지고 위의 앱을 시장에 밀어 넣어 Nexus One에 다운로드합니다 (앱의 이전 버전을 제거한 후). 나는

http://www.google.com/url?sa=D&q=http://market.android.com/search%3Fq%3Dpname:com.package.app%26referrer%3Dutm_source%253Dgoogle%2526utm_medium%253Dcpc%2526utm_term%253Drunning%25252Bshoes%2526utm_content%253Dcontent1%2526utm_campaign%253Dslogan&usg=AFQjCNFctwqk1WgWl0bhiIBNVqy3U4OPRw

내가 그 링크에서 응용 프로그램을 다운로드하는 동안 내 넥서스 원에 로그 캣을 첨부, 나는에서 모든 로그를 볼 수 없습니다이 게시물의 시작 부분에 나는에 링크 된 구글 페이지를 사용하여 링크를 생성 한 "googleanalytics"또는 "myapp". 나머지 Google Analytics 라이브러리는 내 앱에서 작동합니다. I.E. 페이지 조회수 등의 Google 애널리틱스 기록을 볼 수 있지만 모든 트래픽 소스는 '직접 트래픽'입니다. 나는 무슨 일이 벌어지고있는지를 놓치고있다. 누구든지 내가 뭘 잘못하고 있는지에 대한 통찰력을 가지고 있습니까?

+1

코드를 강조 표시하고 {} 상자를 눌러 올바르게 표시하십시오. 따옴표로 묶지 마십시오. –

+1

당신이나 다른 누군가가 이미 그랬던 것처럼 보입니다. 그 점을 지적 해 주셔서 감사합니다. – patheros

+0

또한 ** 여러 방송 수신자가 동일한 이벤트를 수신 할 수 없습니다 **. 이 작업을 수행하려면 하나의 수신자를 생성해야합니다. 그러면 다른 사람에게 전달됩니다 – Tseng

답변

11

종종 내 자신의 대답을 발견했습니다.

<manifest> 
    <application> 
    </application> 
    <receiver> 
    </receiver> 
    <uses-sd/> 
</manifest>  

수신기 태그가 잘못된 장소에 있었다 : 내 문제는 내가 내 매니페스트에 다음과 같은 한 내 AndroidManifest.xml을

했다. 이 모양이 같아야합니다.

<manifest> 
    <application> 
     <receiver> 
     </receiver> 
    </application> 
    <uses-sd/> 
</manifest> 

이제 앱을 설치할 때 예상되는 로그가 표시됩니다. 몇 시간 내에 Google 애널리틱스에 데이터가 저장되기를 바랍니다.

9

나는 안드로이드에 대한 분석과 함께 많은 추천 추적기를 탐색 해왔다. 시장에 앱을 넣지 않아도 방송의 의도를 보낼 수 있습니다.

Intent i = new Intent("com.android.vending.INSTALL_REFERRER"); 
i.setPackage(com.package.yourapp) 
//referrer is a composition of the parameter of the campaing 
i.putExtra("referrer", referrer); 
sendBroadcast(i); 
+2

게시 한 링크가 끊어졌습니다. –

0

동작에 대해 하나의 BroadcastReceiver 만있을 수 있습니다. AndroidManifest.xml에서 두 사람은 com.android.vending.INSTALL_REFERRER을 수신 대기합니다. 그리고 반드시 당신을

import com.google.android.apps.analytics.AnalyticsReceiver; 

class Receiver extends AnalyticsReceiver { 
    @Override 
    void onReceive(Context context, Intent intent) { 
     super.onReceive(context, intent); 

     // Add your custom handling here 
    } 
} 

는 AndroidManifest를 유일한 수신기입니다 : 당신이 텐트를 처리 수신기 모두에 Google 웹 로그 분석 수신기하려면

는, 수신기 같은 AnalyticsReceiver의 서브 클래스합니다. xml :

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

Analytics Receiver에 대해 자세히 알려주시겠습니까? 나는 수업을 어디서나 찾을 수 없다. – Harry

관련 문제