Skip to content

Commit 1f8d20a

Browse files
committed
Add Google Analytics and prepare release build 3.
1 parent b5be5af commit 1f8d20a

File tree

8 files changed

+141
-3
lines changed

8 files changed

+141
-3
lines changed

app/build.gradle

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ apply plugin: 'com.android.application'
1212
apply plugin: 'me.tatarka.retrolambda'
1313
apply plugin: 'io.fabric'
1414
apply plugin: 'com.neenbedankt.android-apt'
15+
apply plugin: 'com.google.gms.google-services'
1516

1617
repositories {
1718
maven { url 'https://maven.fabric.io/public' }
@@ -30,7 +31,7 @@ android {
3031
applicationId "io.givenow.app"
3132
minSdkVersion 17
3233
targetSdkVersion 22
33-
versionCode 2
34+
versionCode 3
3435
versionName "1.0"
3536

3637
// Enabling multidex support.
@@ -72,6 +73,10 @@ android {
7273
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
7374
}
7475
}
76+
77+
lintOptions {
78+
lintConfig file("lint.xml")
79+
}
7580
}
7681

7782
apply from: 'https://raw.github.com/trikita/gradle-android-signing/master/gradle-android-signing.gradle'
@@ -93,13 +98,16 @@ dependencies {
9398
compile fileTree(include: ['*.jar'], dir: 'libs')
9499
compile 'com.android.support:support-v4:23.1.1'
95100
compile 'com.android.support:support-v13:23.1.1'
96-
compile 'com.google.android.gms:play-services-maps:8.3.0'
97-
compile 'com.google.android.gms:play-services-location:8.3.0'
101+
98102
compile 'com.android.support:appcompat-v7:23.1.1'
99103
compile 'com.android.support:design:23.1.1'
100104
compile 'com.android.support:cardview-v7:23.1.1'
101105
compile 'com.android.support:palette-v7:23.1.1'
102106

107+
compile 'com.google.android.gms:play-services-maps:8.3.0'
108+
compile 'com.google.android.gms:play-services-location:8.3.0'
109+
compile 'com.google.android.gms:play-services-analytics:8.3.0'
110+
103111
compile 'com.jakewharton:butterknife:7.0.1'
104112
compile 'com.hannesdorfmann.fragmentargs:annotation:3.0.0'
105113
apt 'com.hannesdorfmann.fragmentargs:processor:3.0.0'

app/google-services.json

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"project_info": {
3+
"project_id": "givenow-europe",
4+
"project_number": "753257188002",
5+
"name": "GiveNow-europe"
6+
},
7+
"client": [
8+
{
9+
"client_info": {
10+
"mobilesdk_app_id": "1:753257188002:android:a77dca86be5544f8",
11+
"client_id": "android:io.givenow.app",
12+
"client_type": 1,
13+
"android_client_info": {
14+
"package_name": "io.givenow.app"
15+
}
16+
},
17+
"oauth_client": [],
18+
"api_key": [],
19+
"services": {
20+
"analytics_service": {
21+
"status": 2,
22+
"analytics_property": {
23+
"tracking_id": "UA-70870403-1"
24+
}
25+
},
26+
"cloud_messaging_service": {
27+
"status": 1,
28+
"apns_config": []
29+
},
30+
"appinvite_service": {
31+
"status": 1,
32+
"other_platform_oauth_client": []
33+
},
34+
"google_signin_service": {
35+
"status": 1
36+
},
37+
"ads_service": {
38+
"status": 1
39+
}
40+
}
41+
}
42+
],
43+
"client_info": [],
44+
"ARTIFACT_VERSION": "1"
45+
}

app/lint.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<lint>
3+
<issue id="MissingTranslation">
4+
<ignore regexp="ga_trackingId"/>
5+
<ignore regexp="google_app_id"/>
6+
</issue>
7+
8+
<issue id="ResourceType">
9+
<!-- Remove this when this is fixed: https://github.com/JakeWharton/butterknife/issues/338 -->
10+
<ignore path="**/*$$ViewBinder.java"/>
11+
</issue>
12+
</lint>

app/proguard-rules.pro

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
#Retrolambda
2121
-dontwarn java.lang.invoke.*
2222

23+
#Annotations
24+
-keepattributes *Annotation*
2325

2426
-keep class butterknife.** { *; }
2527
-dontwarn butterknife.internal.**
@@ -49,6 +51,10 @@
4951
# Picasso
5052
-dontwarn com.squareup.okhttp.**
5153

54+
#Fragmentargs
55+
-keep class com.hannesdorfmann.fragmentargs.** { *; }
56+
57+
5258
#-keep class android.support.v4.** { *; }
5359
#-keep class android.support.v7.** { *; }
5460

app/src/main/AndroidManifest.xml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,5 +102,31 @@
102102
<category android:name="io.givenow.app"/>
103103
</intent-filter>
104104
</receiver>
105+
106+
<!-- Google Analytics -->
107+
<!-- Optionally, register AnalyticsReceiver and AnalyticsService to support background
108+
dispatching on non-Google Play devices -->
109+
<receiver
110+
android:name="com.google.android.gms.analytics.AnalyticsReceiver"
111+
android:enabled="true">
112+
<intent-filter>
113+
<action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH"/>
114+
</intent-filter>
115+
</receiver>
116+
<service
117+
android:name="com.google.android.gms.analytics.AnalyticsService"
118+
android:enabled="true"
119+
android:exported="false"/>
120+
121+
<!-- Optionally, register CampaignTrackingReceiver and CampaignTrackingService to enable
122+
installation campaign reporting -->
123+
<receiver
124+
android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
125+
android:exported="true">
126+
<intent-filter>
127+
<action android:name="com.android.vending.INSTALL_REFERRER"/>
128+
</intent-filter>
129+
</receiver>
130+
<service android:name="com.google.android.gms.analytics.CampaignTrackingService"/>
105131
</application>
106132
</manifest>

app/src/main/java/io/givenow/app/OWCApplication.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import android.support.multidex.MultiDex;
66

77
import com.crashlytics.android.Crashlytics;
8+
import com.google.android.gms.analytics.GoogleAnalytics;
9+
import com.google.android.gms.analytics.Tracker;
810
import com.parse.Parse;
911
import com.parse.ParseInstallation;
1012
import com.parse.ParseObject;
@@ -20,6 +22,8 @@
2022
* Created by craigmartin on 4/29/14.
2123
*/
2224
public class OWCApplication extends Application {
25+
/* Google Analytics */
26+
private Tracker mTracker;
2327

2428
@Override
2529
public void onCreate() {
@@ -46,4 +50,18 @@ protected void attachBaseContext(Context base) {
4650
super.attachBaseContext(base);
4751
MultiDex.install(this);
4852
}
53+
54+
/**
55+
* Gets the default {@link Tracker} for this {@link Application}.
56+
*
57+
* @return tracker
58+
*/
59+
synchronized public Tracker getDefaultTracker() {
60+
if (mTracker == null) {
61+
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
62+
// To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
63+
mTracker = analytics.newTracker(R.xml.global_tracker);
64+
}
65+
return mTracker;
66+
}
4967
}

app/src/main/java/io/givenow/app/activities/MainActivity.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import android.widget.ImageView;
2727
import android.widget.TextView;
2828

29+
import com.google.android.gms.analytics.HitBuilders;
30+
import com.google.android.gms.analytics.Tracker;
2931
import com.parse.ParseAnalytics;
3032
import com.parse.ParseQuery;
3133
import com.parse.ParseUser;
@@ -36,6 +38,7 @@
3638

3739
import de.keyboardsurfer.android.widget.crouton.Crouton;
3840
import fj.data.Option;
41+
import io.givenow.app.OWCApplication;
3942
import io.givenow.app.R;
4043
import io.givenow.app.fragments.main.VolunteerFragment;
4144
import io.givenow.app.fragments.main.common.DropOffLocationsFragment;
@@ -59,6 +62,7 @@ public class MainActivity extends BaseActivity implements
5962
private PickupRequestDetailFragment pickupRequestDetailFragment;
6063
private AlertDialog acceptPendingDialog;
6164
private Fragment fragToHide = null;
65+
private Tracker mTracker;
6266

6367
@Override
6468
protected void onCreate(Bundle savedInstanceState) {
@@ -68,6 +72,10 @@ protected void onCreate(Bundle savedInstanceState) {
6872
super.onCreate(savedInstanceState);
6973
ParseAnalytics.trackAppOpenedInBackground(getIntent());
7074

75+
// Obtain the shared Tracker instance.
76+
OWCApplication application = (OWCApplication) getApplication();
77+
mTracker = application.getDefaultTracker();
78+
7179
initializeDrawer();
7280

7381
if (savedInstanceState == null) {
@@ -97,6 +105,13 @@ public void onRestoreInstanceState(Bundle inState) {
97105
@Override
98106
protected void onResume() {
99107
super.onResume();
108+
mTracker.setScreenName("MainActivity");
109+
mTracker.send(new HitBuilders.ScreenViewBuilder().build());
110+
111+
mTracker.send(new HitBuilders.EventBuilder()
112+
.setCategory("Action")
113+
.setAction("Share")
114+
.build());
100115

101116
//if the user resumed the app by entering through a Volunteer push notif, show dashboard
102117
boolean isPushNotif = handlePushNotifResume();

app/src/main/res/values-de/strings.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,14 @@
113113
<string name="dialog_loggedin_existing_donation_found_message">Diese Spende wird stattdessen geladen.</string>
114114
<string name="dialog_loggedin_existing_donation_found_button">OK</string>
115115
<string name="request_status_volunteer_pending">Ein Helfer möchte deine Spende abholen!</string>
116+
<string name="dialog_phoneNumber_for_volunteer">Wir werden dich unter dieser Nummer mit Details kontaktieren. \n Keine Sorge, wir werden sie mit niemandem teilen!</string>
117+
<string name="dialog_volunteer_accept_pickuprequest_message">Dies wird dem Spender mitteilen das seine Spende abgeholt werden kann.</string>
118+
<string name="dialog_volunteer_accept_pickuprequest_title">Akzeptierst du diese Abhol Anfrage?</string>
119+
<string name="request_status_volunteer_confirmed">Dein freiwilliger Abholer wird dich bald unter $%1$s kontaktieren.</string>
120+
<string name="volunteer_button_user_has_applied">Du hast dich beworben freiwilliger Abholer zu sein.</string>
121+
<string name="volunteer_button_user_has_not_applied">Ich möchte Spenden transportieren!</string>
122+
<string name="volunteer_label_user_has_applied">Danke das du Spenden abholen willst!\n Wir werden dich bald unter $%1$s kontaktieren.</string>
123+
<string name="volunteer_label_user_has_not_applied">Moechtest du Spenden transportieren?\n Du brauchst nur Zeit und ein Auto!</string>
116124

117125

118126
</resources>

0 commit comments

Comments
 (0)