未定义INSTANCE_ID_SCOPE

时间:2017-07-21 06:23:32

标签: android google-cloud-messaging google-cloud-platform firebase-cloud-messaging

我正在使用GCM创建应用,当我尝试使用以下行时:

token = instanceID.getToken("32xxxxx", GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);

我发现GoogleCloudMessaging.INSTANCE_ID_SCOPE不可用,请查看下面的image-1

请让我知道我错过了什么,以及如何解决它。

图片-1

enter image description here

2 个答案:

答案 0 :(得分:0)

查看Obtain a registration token指南,我认为您需要定义InstaceID,如

@Override
    public void onHandleIntent(Intent intent) {
        // ...
        InstanceID instanceID = InstanceID.getInstance(this);
        String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
                GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
RegistrationIntentService.java

        // ...
    }
找不到代码的

无处可寻。

这是来自Firebase Cloud Messaging Quickstart

的FCM中的InstanceID实现
  // Get token
  String token = FirebaseInstanceId.getInstance().getToken();

答案 1 :(得分:0)

GoogleCloudMessaging.INSTANCE_ID_SCOPE只指出一个常量字符串值"GCM" - 请参阅here(如果旧版/ GCM版本也是如此 - 不完全确定这是否仍然有效)。对于FCM,如果您无法找到INSTANCE_ID_SCOPE,则可以使用"FCM"

对于无法使用的部分,可能还有一些尚未导入的库。