GoogleCloudMessaging - InstanceID.getInstance(),从客户端注册

时间:2015-06-06 20:03:50

标签: java android api cloud messaging

我在Java编程和一般编程方面都很陌生。现在我决定制作一个应该使用Google Cloud Messaging的应用程序。不知怎的,我成功但后来我意识到我使用了方法

String regid = gcm.register(PROJECT_NUMBER);

已弃用,我现在应该使用令牌和InstanceID。所以我尝试重写我的注册以使用它但我遇到了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告诉我错误是:

  

getInstance() - "无法应用InstanceID中的getInstance(Context)   到0"

提前致谢!

1 个答案:

答案 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是您的项目ID(79424738XXXX

thisRegistrationIntentService.this