2015-06-06 5 views
3

Я довольно новичок в программировании на Java и в общем программировании. Сейчас я решил создать собственное приложение, которое должно использовать Google Cloud Messaging. И как-то мне удалось, но потом я понял, что я использовал методGoogleCloudMessaging - InstanceID.getInstance(), регистрирующийся от клиента

String regid = gcm.register(PROJECT_NUMBER); 

что является устаревшим, и теперь я должен использовать маркеры и InstanceIDs. Поэтому я попробовал переписать свою регистрацию, чтобы использовать ее, но у меня возникла проблема с InstanceID.getInstancer(). Я внимательно следил за всеми этапами из документации https://developers.google.com/instance-id/guides/android-implementation и почему-то все еще не работает.

String authorizedEntity = "79424738XXXX"; 
String scope = "GCM"; 
String token = InstanceID.getInstance().getToken(authorizedEntity,scope); 

Android Studio говорит мне, что ошибка:

деЫпзЬапс() - "деЫпзЬапс (Context) в InstanceID не может быть применен к 0"

Заранее спасибо!

ответ

4

Там в рабочий пример на https://developers.google.com/cloud-messaging/android/start

git clone https://github.com/googlesamples/google-services.git 

В там они в RegistrationIntentService.java

InstanceID instanceID = InstanceID.getInstance(this); 
       String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId), 
         GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); 

gcm_defaultSenderId ваш проект идентификатор (79424738XXXX)

this является RegistrationIntentService.this

+0

К сожалению, это все еще не работает для меня. 'String projectID =" 79424738XXXX "; Строка маркер = instanceID.getToken (GetString (R.string.projectID), GoogleCloudMessaging.INSTANCE_ID_SCOPE, нуль); ' дает' Не удается разрешить символ «projectID'' – Devon

+0

Вы должны определить строку ProjectID в strings.xml с вашим значением: «79424738XXXX», чем ваш код должен работать. – mrtn

+1

Хорошо, я решил поместить 'gcm_defaultSenderId', содержащий мой projectID в' strings.xml', но теперь вся строка дает IOException. @mrtn Yup, просто сделал. Теперь он выдает «Необработанное исключение: java.io.IOException' – Devon

Смежные вопросы