The latest Vibes Push Notifications Android SDK installation instructions are also located in the Vibes SDK repository .

Vibes SDK - Android

An Android SDK for handling push integration with the Vibes Platform API.

The Android install files and documentation are also available from the Vibes GitHub repository at: https://github.com/tablexi/vibes-sdk-android.

Note: You need credentials to sign into the Vibes Github repository.

Installing the Android SDK

  1. 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 Wiki


  2. Click 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 Wiki


  3. Add the Vibes SDK by doing the following:

    1. 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)
         }
      }


    2. 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.


    3. Add the following to your app-level build.gradle file:

      dependencies {
         // other dependencies here
         compile "com.vibes.vibes:vibes:2.0.0"
      }


    4. 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.

  1. 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'


  2. 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
        }
    }


  3. 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);
    }


  4. 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