2011-01-11 10 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 + "'"); 

COM:私は、私は私が私のアンドロイドマニフェストファイル

<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"); 
/*  */  } 
/*  */ } 

注「googleanalyticsは」私はトンを持ってログイン2線36と38:.google.android.apps.analytics.AnalyticsReceiverは、その中に次のコードを持っています上記のアプリをマーケットにプッシュして、Nexus Oneでダウンロードしてください(以前のバージョンのアプリをアンインストールした後)。私はそのリンクからアプリをダウンロードしている間、私はから任意のログが表示されない私のネクサスワンにlogcatを取り付けた私は、この記事の冒頭

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

でにリンクされているGoogleのページを使用してリンクを生成しました"googleanalytics"または "myapp"残りのGoogle Analyticsライブラリは私のアプリケーションで動作します。 I.ページヒットなどについてのGoogleアナリティクスの記録が表示されますが、すべてのトラフィックソースは「直接トラフィック」です。私は何が起こっているかについて迷っています。誰でも は私が間違っているかもしれないことについての洞察を持っていますか?

+1

コードをハイライト表示し、{}ボックスを押して正しく表示します。引用符で囲まないでください。 –

+1

あなたや他の誰かが既にそれをしたようです。それを指摘してくれてありがとう。 – patheros

+0

また、複数のブロードキャスト受信者が同じイベントを受信することはできません**。これを行うには、1つの受信者を作成する必要があります。受信者は他のすべてに渡します – 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

アクションには1つのBroadcastReceiverしか存在できません。あなたのAndroidManifest.xmlには、2人がcom.android.vending.INSTALL_REFERRERを聞いています。

あなたの受信機との両方、意図を扱うあなたの受信機AnalyticsReceiverのサブクラスを作り、このようにGoogleアナリティクスの受信機にしたい場合:

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で唯一の受信機であることを確認してください。 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

関連する問題