GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - inloop/easygcm: Android Library for easy GCM integration in few lines of code.

BranchesTags
Open more actions menu

Latest commit

 

History

99 Commits
99 Commits

Folders and files

NameName
Last commit message
Last commit date
buildSrc
buildSrc
 
 
easygcm-lib
easygcm-lib
 
 
easygcm-sample
easygcm-sample
 
 
easygcm-tasks
easygcm-tasks
 
 
gradle/wrapper
gradle/wrapper
 
 
.gitignore
.gitignore
 
 
CHANGELOG.md
CHANGELOG.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
build.gradle
build.gradle
 
 
gradle.properties
gradle.properties
 
 
gradlew
gradlew
 
 
gradlew.bat
gradlew.bat
 
 
hello_jcenter.txt
hello_jcenter.txt
 
 
settings.gradle
settings.gradle
 
 

Repository files navigation

easygcm

Android Library for easy GCM integration. Including push notifications sender task for Gradle.

This library is based on sample client code provided by Android documentation at http://developer.android.com/google/gcm/client.html and https://code.google.com/p/gcm/

It includes all the common code from the sample including AndroidManifest.xml that is automatically merged into your application. Also content of sample's DemoActivity is included in this library extracted in GcmHelper class. This library further improves original sample client in several ways, see changelog.

How to use:

  • The project uses Google Play Services, so make sure you have:

  • classpath 'com.google.gms:google-services:1.5.0' in your project root gradle file

  • apply plugin: 'com.google.gms.google-services' in your module gradle file

  • compile 'com.google.android.gms:play-services-gcm:8.3.0' in your module gradle file dependencies

  • Add this to your build.gradle: compile 'eu.inloop:easygcm:1.6.2@aar'

  • In your Application implement GcmListener interface with two methods:

    • onMessage()
    • sendRegistrationIdToBackend()

Note: Both methods are executed asynchronously in background thread and the wake lock is held until the method is executed. Don't start other asynchronous tasks here unless needed - the wake lock would be released and the tasks would not be guaranteed to run. Put the blocking code right into these methods.

  • In your MainActivity onCreate(), call EasyGcm.init(this);

  • Define GCM Sender ID adding google-service.json configuration and setting up Google Services Gradle plugin as described in Implementing GCM Client on Android

  • Alternatively, instead of being implemented by the Application class, you can have your own instance of GcmListener and set it in the application with EasyGcm.setGcmListener(GcmListener listener)

If you need GET_ACCOUNTS permission, add this to you application's manifest:

<uses-permission
    android:name="android.permission.GET_ACCOUNTS"
    tools:remove="android:maxSdkVersion"/>

If you want to access the registrationId after the registration has finished, you can use EasyGcm.isRegistered(Context context), EasyGcm.getRegistrationId(Context context) or for convenience EasyGcm.resendRegistrationIdToBackend(Context context) (returns null if registrationId does not exist).

That's it. You might also want to use Gradle task for sending push notifications to your device:

  • add Gradle dependency to buildscript section: classpath 'eu.inloop:easygcm-tasks:1.3.0'
  • add following code to your build.gradle and edit push notification data, apiKey and registration ID
task push(type: eu.inloop.easygcm.PushTask) {
    data = '{"myMessage":"Hello World"}'
    apiKey = 'AIzaSyDt0uzm74Un5qsoEyQcvE-5lhDB3n3m9XX' // Server API Key
    registrationIds = [
            'mt4gNCjtlRs:APA91bHiu_7X_CzA_IbSk9FiR_wk9b6sIvAuR6t-zoE5ujSx0D5Obql5dZiQ9DrEK8YsJm4lBr2nNLKWGRKSr2GZJSgdm_jxOWO4nBCE2QYNzJTS2bCTPRgrIH7cra0t1BEU7g2dwnYY'
    ]
}
  • call ./gradlew push

How to build locally:

So far, it is not possible to use project dependencies in Gradle's buildscript section (needed for our plugin). That means you have to build the library first (and install in local Maven repo) and just then build the sample application.

./gradlew clean uploadArchives
./gradlew -p easygcm-sample clean assembleDebug

About

Android Library for easy GCM integration in few lines of code.

Resources

Readme
Apache-2.0 license
Activity
Custom properties

Stars

258 stars

Watchers

36 watching

Forks

41 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.