This is an Android SDK for handling push integration with the Vibes Platform API.
The Android install files are available from the Vibes Github Repository.
Installing the Android SDK
Click Add Firebase and follow the instructions on the Firebase website. This will include setting up the Google Services plugin and downloading the
google-services.json
into your App folder.Note: This will take you away from this Vibes documentation WikiClick Add Firebase Cloud Messaging and follow the instructions. This will include adding two services to your App to handle App token refresh and incoming push notifications.
Note: This will take you away from this Vibes documentation WikiAdd the Vibes SDK by doing the following:
Add the following to your project-level
build.gradle
file:maven { url "https://raw.githubusercontent.com/tablexi/vibes-sdk-android/releases/" credentials { username VIBES_GITHUB_USERNAME password VIBES_GITHUB_PASSWORD } authentication { basic(BasicAuthentication) } }
Add the following to your project- or system-level
gradle.properties
file:VIBES_GITHUB_USERNAME=your-github-username-here VIBES_GITHUB_PASSWORD=your-github-password-or-personal-access-token-here
Note: Do not commit this file to version control.Add the following to your app-level
build.gradle
file:dependencies { // other dependencies here compile "com.vibes.vibes:vibes:2.0.0" }
- Sync your project in Android Studio.
Using an Older Version of Google Services
If you are using an older version of Google Services (the latest version uses Firebase) to handle push notifications, you need to do the following.
Verify that the dependency Play-Services version is a minimum of 9.0.0. You can check that in your application build gradle configuration CustomerApplication/app/build.gradle.
dependencies { ... compile 'com.vibes.vibes:vibes:2.0.0' compile "com.google.android.gms:play-services:9.0.0" compile 'com.google.android.gms:play-services-ads:9.0.0' } apply plugin: 'com.google.gms.google-services'
Note: The (compile 'com.google.android.gms:play-services-ads:9.0.0') dependency only concerns those applications that send ads in their notifications. It is not mandatory.Verify that the dependency gradle version is minimum 2.3.3 and the Google-Services is version 3.0.0. You can check that in the CustomerApplication/build.gradle.
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.3.3' classpath 'com.google.gms:google-services:3.0.0' classpath 'com.android.tools.build:gradle:2.0.0-alpha6' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } }
Verify that your application doesn’t use the deprecated class GooglePlayServicesUtil. The com.google.android.gms.common.GooglePlayServicesUtil has been deprecated and replaced by import com.google.android.gms.common.GoogleApiAvailability.
If you are using it, replace the code in Code Example One below by the code in Code Example Two in your application activity (java class) where you check Google Play Services availability.
Code Example One (CustomerApplication/[ACTIVITY_CLASS_NAME].java)import com.google.android.gms.common.GooglePlayServicesUtil; // GooglePlayServicesUtil has been deprecated ... int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext()); if(ConnectionResult.SUCCESS != resultCode) { //Check type of error if(GooglePlayServicesUtil.isUserRecoverableError(resultCode)) { Toast.makeText(getApplicationContext(), "Google Play Service is not install/enabled in this device!", Toast.LENGTH_LONG).show(); //So notification GooglePlayServicesUtil.showErrorNotification(resultCode, getApplicationContext()); } else { Toast.makeText(getApplicationContext(), "This device does not support for Google Play Service!", Toast.LENGTH_LONG).show(); } } else { //Start service Intent itent = new Intent(this, GCMRegistrationIntentService.class); startService(itent); }
Code Example Two
import com.google.android.gms.common.GoogleApiAvailability; ... GoogleApiAvailability googleAPI = GoogleApiAvailability.getInstance(); int resultCode = googleAPI.isGooglePlayServicesAvailable(getApplicationContext()); if (ConnectionResult.SUCCESS != resultCode) { //Check type of error if(googleAPI.isUserResolvableError(resultCode)) { Toast.makeText(getApplicationContext(), "Google Play Service is not install/enabled in this device!", Toast.LENGTH_LONG).show(); //So notification googleAPI.showErrorNotification(getApplicationContext(), resultCode); } else { Toast.makeText(getApplicationContext(), "This device does not support for Google Play Service!", Toast.LENGTH_LONG).show(); } } else { //Start service Intent itent = new Intent(this, GCMRegistrationIntentService.class); startService(itent); }
- If you had a deprecated version of Google Services and have followed the previous steps, the last step is to regenerate a google-services.json, then add/replace it into your App folder on https://console.firebase.google.com/.
Tests
You can run the tests from within Android Studio, or via the command line with ./bin/test.
Test results live in, vibes/build/reports/tests/testDebugUnitTest/
.
Setup
Configure your root- or system-level gradle.properties
file with your Github username and either a password or a personal access token (see the sample file for format).
To Release
Bump the ARTIFACT_VERSION
in the vibes/gradle.properties
file. Then run:
./bin/release