CampaignTrackingService is at risk of not starting

I would like to send campaign data to my Google Analytics (GA) server,

This is my AndroidManifext.xml file.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.google.samples.quickstart.analytics">

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
        android:name=".AnalyticsApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <!-- Brian Start -->
        <!-- Used for Google Play Store Campaign Measurement-->
        <service android:name="com.google.android.gms.analytics.CampaignTrackingService"
            android:permission="android.permission.WAKE_LOCK"
            android:enabled="true"
            android:exported="true">
        </service>
        <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
            android:exported="true"
            android:permission="android.permission.INSTALL_PACKAGES">
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER" />
            </intent-filter>
        </receiver>

        <!-- Optionally, register AnalyticsReceiver and AnalyticsService to support background
        dispatching on non-Google Play devices -->
        <receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver"
            android:enabled="true">
            <intent-filter>
                <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
            </intent-filter>
        </receiver>
        <service android:name="com.google.android.gms.analytics.AnalyticsService"
            android:enabled="true"
            android:exported="false"/>
        <!-- Brian End -->

    </application>
</manifest>

I am trying to send a broadcast on the command line using:

adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n "com.google.samples.quickstart.analytics/com.google.android.gms.analytics.CampaignTrackingReceiver" --es referrer "utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign"

And I get the answer on the command line:

Broadcasting: Intent { act=com.android.vending.INSTALL_REFERRER cmp=com.google.samples.quickstart.analytics/com.google.android.gms.analytics.CampaignTrackingReceiver (has extras) }
Broadcast completed: result=0

But I get an error log on logcat below:

02-22 16:34:45.304 7134-7134/com.google.samples.quickstart.analytics W/GAv4: CampaignTrackingService service at risk of not starting. For more reliable installation campaign reports, add the WAKE_LOCK permission to your manifest. See http://goo.gl/8Rd3yj for instructions.
02-22 16:34:45.321 7134-7169/com.google.samples.quickstart.analytics W/GAv4: Ignoring duplicate install campaign

And I'm trying to send my campaign data using the section code below:

private void sendCampaignData() {
  String name = getCurrentImageTitle();

  switch(name) {
      case "A":
      {
          Log.i(TAG, "Campaign Data A ----------------------");
          String campaignData = "http://examplepetstore.com/index.html?" +
                  "utm_source=email&utm_medium=email_marketing&utm_campaign=summerA" +
                  "&utm_content=email_variation_A";
          Log.i(TAG, "Campaign Data: " + campaignData);

          // Campaign data sent with this hit.
          mTracker.send(new HitBuilders.ScreenViewBuilder()
                          .setCampaignParamsFromUrl(campaignData)
                          .build()
          );
          break;
      }

      case "B":
      {
          Log.i(TAG, "Campaign Data B ----------------------");
          String campaignData = "http://examplepetstore.com/index.html?" +
                  "utm_source=cpc&utm_medium=cpc_video&utm_campaign=springB" +
                  "&utm_content=email_variation_B";
          Log.i(TAG, "Campaign Data: " + campaignData);

          // Campaign data sent with this hit.
          mTracker.send(new HitBuilders.ScreenViewBuilder()
                          .setCampaignParamsFromUrl(campaignData)
                          .build()
          );
          break;
      }

      case "C":
      {
          Log.i(TAG, "Campaign Data C ----------------------");
          String campaignData = "http://examplepetstore.com/index.html?" +
                  "utm_source=banner&utm_medium=banner_activity&utm_campaign=winterC" +
                  "&utm_content=email_variation_C";
          Log.i(TAG, "Campaign Data: " + campaignData);

          // Campaign data sent with this hit.
          mTracker.send(new HitBuilders.ScreenViewBuilder()
                          .setCampaignParamsFromUrl(campaignData)
                          .build()
          );
          break;
      }

      case "D":
      {
          Log.i(TAG, "Campaign Data D ----------------------");
          String campaignData = "http://examplepetstore.com/index.html?" +
                  "utm_source=google&utm_medium=google_link&utm_campaign=fallD" +
                  "&utm_content=email_variation_D";
          Log.i(TAG, "Campaign Data: " + campaignData);

          // Campaign data sent with this hit.
          mTracker.send(new HitBuilders.ScreenViewBuilder()
                          .setCampaignParamsFromUrl(campaignData)
                          .build()
          );
          break;
      }

      case "E":
      {
          Log.i(TAG, "Campaign Data E ----------------------");
          String campaignData = "http://examplepetstore.com/index.html?" +
                  "utm_source=google&utm_medium=google_link&utm_campaign=allE" +
                  "&utm_content=email_variation_E";
          Log.i(TAG, "Campaign Data: " + campaignData);

          // Campaign data sent with this hit.
          mTracker.send(new HitBuilders.ScreenViewBuilder()
                          .setCampaignParamsFromUrl(campaignData)
                          .build()
          );
          break;
      }

      default:
        Log.i(TAG, "Campaign Data: Default");
  }

But I could not see the campaign information on the GA website:    https://www.google.com/analytics/web

It should be on Acquisition-> Campaigns-> All Campaigns But my site did not have the Campaigns category.

Can anyone find out what happened?

Thanks for your kind help.

BR Brian

+4
1

Ignoring duplicate install campaign: , , .

-1

Source: https://habr.com/ru/post/1629865/


All Articles