0

После обновления сервисов google play до 7.0.3 мой пользовательский приемник INSTALL_REFERRER braodcast был сломан. Я использовал CampaignTrackingService (который получил обновление также), чтобы перенаправить намерение на Google Analytics.Пользовательский приемник INSTALL_REFERRER с несколькими службами слежения

в AndroidManifest.xml

<receiver 
     android:name="myapp.analytics.installReferrer.InstallReferrerBroadcastReceiver" 
     android:exported="true"> 
     <intent-filter> 
      <action android:name="com.android.vending.INSTALL_REFERRER" /> 
     </intent-filter> 
    </receiver> 

И мой заказ BroadcastReceiver (и здесь проблема):

public class InstallReferrerBroadcastReceiver extends BroadcastReceiver{ 

private final static String TAG = InstallReferrerBroadcastReceiver.class.getSimpleName(); 
@Override 
public void onReceive(Context context, Intent intent) { 
    // Send to Different Analytics services 

    // Send to Google Analytics 
    CampaignTrackingService campaignTrackingService = new CampaignTrackingService(); 
    // I used onHandleIntent() in google-play services 7.0.0, in 7.3.0 its gone 
    campaignTrackingService.onHandleIntent(intent); 
    } 
} 
+0

Добро пожаловать в стек. Пожалуйста, покажите нам, что вы пробовали, и с чем вы столкнулись. Хорошее место для начала будет здесь https://developers.google.com/analytics/devguides/collection/android/v4/campaigns – DaImTo

ответ

1

Попробуйте простирающийся CampaignTrackingReceiver вместо BroadcastReceiver. Затем в вашем методе onReceive вызовите super.onReceive (контекст, намерение); Также вы вызываете Службу из приемника. Analytics предоставляет как CampaignTrackingService, так и CampaignTrackingReceiver. Когда вы предоставляете свою собственную реализацию приемника, вы должны передать вызов Analytics CampaignTrackingReceiver.onReceive вместо прямого вызова службы. Android гарантирует, что ваш процесс приложения не будет убит, прежде чем вы вернетесь из onReceive, но процесс приложения может быть убит до начала службы, и вы потеряете кампанию. Предоставленный Google Analytics приемник правильно выполнит передачу обслуживания в службу, чтобы избежать этой проблемы (для этого требуется частичное разрешение блокировки после пробуждения).

+0

Большое спасибо !!! – Duda

Смежные вопросы