11

Sto configurando Google Cloud Messaging in un'applicazione Android. All'inizio, ho inizializzare il GoogleApiClient al fine di verificare se i servizi Play sono disponibili:IllegalArgumentException quando si aggiunge l'API di messaggistica cloud a GoogleApiClient

mGoogleApiClient = new GoogleApiClient.Builder(this) 
     .addConnectionCallbacks(this) 
     .addOnConnectionFailedListener(this) 
     .build(); 

Cercando di eseguire produce IllegalArgumentException: must call addApi() to add at least one API, così ho anche bisogno di aggiungere l'Api GCM, ma onestamente non riesco a trovare sulla documentazione. Qualcosa di simile:

mGoogleApiClient = new GoogleApiClient.Builder(this) 
     .addApi(gcm.API)  <----- WHAT HERE? 
     .addConnectionCallbacks(this) 
     .addOnConnectionFailedListener(this) 
     .build(); 
+1

AFAIK ** non è necessario ** 'GoogleApiClient' per GCM – Selvin

+1

Non è strettamente necessario, ma la documentazione" consiglia vivamente "di utilizzarlo per verificare se i Servizi di riproduzione sono disponibili o meno: https : //developers.google.com/android/guides/setup – ticofab

+1

puoi usare anche 'GooglePlayServicesUtil' per fare questo ... Vedo il tuo punto (l'API dovrebbe essere coerente) ma ... usa' GooglePlayServicesUtil.isGooglePlayServicesAvailable (attività) 'poi' GooglePlayServicesUtil.isUserRecoverableError (resultCode) 'e poi' GooglePlayServicesUtil.getErrorDialog (resultCode, activity, request) .show() ' – Selvin

risposta

5

Sembra che non v'è alcun modo ancora utilizzare GoogleApiClient in combinazione con Google Cloud Messaging. Fino ad allora, dobbiamo utilizzare il modo GooglePlayServicesUtil.

+3

è una sorpresa vedere le istruzioni errate nei documenti GCM ... – Dori

+6

GooglePlayServicesUtil è deprecato per questo e dice di usare 'GoogleApiAvailability.getInstance(). isGooglePlayServicesAvailable (questo) invece invece – Dori

+0

Dove l'hai visto @Dori? Non riesco nemmeno a trovare la classe di GoogleApiAvailability – voghDev

Problemi correlati