is gmail account mandatory for Google cloud messaging - android

We are going to use Google Cloud Messaging service in one of our enterprise mobile application. The target device may be BYOD/company owned devices. Is it mandatory for devices to register/log in to Google account (using somaaddress at G mail dot com) for using the GCM push notification services?

Based on the official docs, a Google account is required for GCM to work only for pre-3.0 devices :
It uses an existing connection for Google services. For pre-3.0 devices, this requires users to set up their Google account on their mobile devices. A Google account is not a requirement on devices running Android 4.0.4 or higher.
(Source)
That said, from a discussion on the android-gcm group, one of the GCM developers at Google implied that if you register to GCM using the new Google Play Services library, you don't need a Google account even for pre-3.0 devices (Froyo and Gingerbread) :
Froyo and Gingerbread registration is implemented in
GoogleServicesFramework, using the Google account for registration.
This has resulted in a lot of auth errors for people where the account
was not in a good state.
Starting with ICS, GCM doesn't depend or uses the Google account - you
can use it before you add an account or without any accounts.
The "Play Services" update is implementing the new scheme on all
devices - but it seems a small number of devices have problems with
this, we're investigating - but the numbers are far lower than those
with the old scheme.

Related

Android GCM account necessary for each device?

Im working on an app with server-client communication. It will have a small
messaging system and maybe i will also synchronize the conigurations with GCM.
All users have to register to use the app and to use the functionalities
from our provided website and they can communicate with other registered user
using the app or the website.
If i use GCM to implement the messaging and the config synchronization, does
every user has to have a google account? This Tutorial says that i have
to create a google account. That wouldnt be good for me.. actually i dont want
my users to be forced to have a google account.
From Android GCM Overview
It uses an existing connection for Google services. For pre-3.0 devices, this requires users to set up their Google account on their mobile devices. A Google account is not a requirement on devices running Android 4.0.4 or higher.
If you are using GCM from the google play service library yes you need a google account because google play services gets updated through the play store.

What API level for GCM without Google account?

What API Level should I target for a GCM application in order for a Google account not being required? Is a Google account required for GCM on a low API level device even if I am using the Play Services implementation of GCM?
On one hand, the official docs say :
it uses an existing connection for Google services. For pre-3.0 devices, this requires users to set up their Google account on their mobile devices. A Google account is not a requirement on devices running Android 4.0.4 or higher.
On the other hand, this post from the android-gcm group (made by Costin Manolache), implies that the new Google Play Services library makes the Google Account unnecessary for older versions too :
Some background:
Froyo and Gingerbread registration is implemented in GoogleServicesFramework, using the Google account for registration. This has resulted in a lot of auth errors for people where the account was not in a good state.
Starting with ICS, GCM doesn't depend or uses the Google account - you can use it before you add an account or without any accounts.
The "Play Services" update is implementing the new scheme on all devices - but it seems a small number of devices have problems with this, we're investigating - but the numbers are far lower than those with the old scheme.

Why google Account login is required for GCM to work for devices below 4.0.4 OS?

Android developer documentation says :
It uses an existing connection for Google services. For pre-3.0 devices, this requires users to set up their Google account on their mobile devices. A Google account is not a requirement on devices running Android 4.0.4 or higher.
Why that account login is required . How google has removed that necessity for devices > 4.0.4 ?
Google account login is no longer needed for GCM to work. It used to be required for registration to GCM, but a recent Play Services update stopped using the Google account even on Froyo and Gingerbread.
If you are registering to GCM with Play Services (i.e. With GoogleCloudMessaging.register), you no longer need to configure google account on any Android version. If you are using the deprecated library (GCMRegistrar.register), you still need a Google Account on pre 4.0.4 version.
More details at https://groups.google.com/forum/#!topic/android-gcm/ecG-RfH-Aso and GET_ACCOUNTS permission while using GCM - Why is this needed?

Is Google Account required for GCM (Google Cloud Messaging)?

I need to write a simple app to get PUSH Notifications.
I used GCM which uses Google Play Services to get information.
My questions is - to access GCM, is Google Account required or not?
Can i use another email account to identify device?
Is there any other way to get push notification for another email account or device?
Quoting from GCM Characteristics
It uses an existing connection for Google services. For pre-3.0
devices, this requires users to set up their Google account on their
mobile devices. A Google account is not a requirement on devices
running Android 4.0.4 or higher.
If your app is supporting pre-3.0 devices, so yes, Google Account is required and you need to add this permission to your manifest
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
As stated in other answers, the GCM documentation states that a Google Account is required on the device for Android versions older than 4.0.4.
However, in the following post from the android-gcm Google group, a Google developer claims that if you are using the latest version of Google Play Services, you don't need a Google Account on the device even for older devices (Froyo and Gingerbread).
Some background: Froyo and Gingerbread registration is implemented in
GoogleServicesFramework, using the Google account for registration.
This has resulted in a lot of auth errors for people where the account
was not in a good state.
Starting with ICS, GCM doesn't depend or uses the Google account - you
can use it before you add an account or without any accounts.
The "Play Services" update is implementing the new scheme on all
devices - but it seems a small number of devices have problems with
this, we're investigating - but the numbers are far lower than those
with the old scheme.
If you want to use the code in GSF, for Froyo and Gingerbread - you
need to use the previous library, which sets package name explicitly.
The new library in GCM is using the new registration code.
The actual connection to google is following the same path - we're
gradually (and slowly) moving devices to the new code in play
services.
I haven't tested it, so I can't say if it actually works.
Yes whenever you need to use GCM Google account is required.
Because when you have logged in your account at that time Sender_Id and Application_Id in your url browser. So you will get it through Google Developer Console and use in your application.
Yes, Google account is required.You need to obtain Sender_Id and Application_Id form Google Developer Console by logging into your Google account.
Google account login is no longer needed for GCM to work. So you no need the android.permission.GET_ACCOUNTS permission.
If you are using GCM API with InstanceID (GCM 3.0) or GoogleCloudMessaging.register(GCM 2.0) then there is no need to configure Google account on any Android version and no need to give android.permission.GET_ACCOUNTS Permission.
But if you are using the deprecated library GCMRegistrar.register, you still need a Google Account on older versions

GCM services query

I am using GCM services for my application to recieve data from the cloud.
Unfortnately, GCM does not respond or device does not recieve any commands from GCM if the GOOGLE play is not signed in , on the device ?
IS GOOGLE PLAY SIGN UP compulsory to recieve GCM ?
Also if through my application i need to find whether device is SIGN into GOOGLE PLAY
IS it available ?
Any help would be accepted >> THANKS IN ADVANCE
This is explained in the GCM Architectural Overview here are the two points that are important:
It requires devices running Android 2.2 or higher that also have the
Google Play Store application installed, or or an emulator running
Android 2.2 with Google APIs. However, you are not limited to
deploying your Android applications through Google Play Store.
It uses an existing connection for Google services. For pre-3.0
devices, this requires users to set up their Google account on their
mobile devices. A Google account is not a requirement on devices
running Android 4.0.4 or higher.
So if the device is running 4.0.4 or higher a Google account is not needed.
No Google play sign up is not compulsory to receive GCM. But remember if you are testing on emulator make sure it is GOOGLE API and not android. You can find a step by step guide to implement GCM using emulator and PHP here

Categories

Resources