Расширение широковещательного приемника и отслеживание Google Analytics INSTALL_REFERRER - PullRequest
5 голосов
/ 09 сентября 2011

У меня возникла проблема с переопределением класса Android BroadcastReceiver в отношении INSTALL_REFERRER для Android.

Вместо того, чтобы вызывать приемник аналитики Google напрямую из моего файла android manifest.xml, я вызываю настраиваемый приемник вещания, а затем передать его в Google Analytics.Мне нужно знать, откуда приходят мои рефералы в Google Analytics, а также использовать широковещательный приемник, передавая его третьим лицам, направляя трафик на мое приложение.

Ниже приведен пример кода из моего широковещательного приемника и AndroidФайл манифеста.

package com.sigmyers.broadcastExample;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.google.android.apps.analytics.AnalyticsReceiver;
import com.mdotm.MdotmReceiver;

public class TestReceiver extends BroadcastReceiver
{

    @Override
    public void onReceive(Context context, Intent intent)
    {
        AnalyticsReceiver googleAnalyticsReceiver = new AnalyticsReceiver();
        googleAnalyticsReceiver.onReceive(context, intent);

        MdotmReceiver mdotmReceiver = new MdotmReceiver();
        mdotmReceiver.onReceive(context, intent);
    }
}

Мой XML-файл манифеста Android выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.sigmyers.broadcastExample"
      android:versionCode="10"
      android:versionName="1.9">
    <uses-sdk android:minSdkVersion="4"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <application android:label="@string/app_name" android:icon="@drawable/icon">
        <activity android:name="MyActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name="com.sigmyers.broadcastExample.TestReceiver" android:exported="true">
          <intent-filter>
            <action android:name="com.android.vending.INSTALL_REFERRER" />
          </intent-filter>
        </receiver>
    </application>
</manifest> 

Странно то, что mDotM прекрасно передает рефералы при генерации URL с формой внизупо следующему URL: http://code.google.com/mobile/analytics/docs/android/#referrals

Однако в GoogleAnalytics ничего не заполняется (кроме отслеживания данных в других местах приложения, но никогда в install_referrer).Есть что-то, что я пропустил или забыл сделать?

При отладке моего приложения после загрузки из магазина приложений для Android я всегда вижу, что Google Analytics выдает какую-то ошибку, вызывая ее не срабатывание, ноМне кажется, что вызов метода onReceive, как описано в Google / Ad Mob, - это все, что требуется для правильной передачи реферера установки.

Любые подсказки о переполнении стека ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...