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

标签 java android api cloud messaging

我对 Java 编程和一般编程还很陌生。现在我决定制作我自己的应用程序,该应用程序应该使用谷歌云消息传递。不知何故我成功了,但后来我意识到我使用了方法

String regid = gcm.register(PROJECT_NUMBER);

已弃用,我现在应该使用 token 和 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() - "getInstance (Context) in InstanceID cannot be applied to 0"

提前致谢!

最佳答案

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

关于java - GoogleCloudMessaging - InstanceID.getInstance(),从客户端注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30687052/

相关文章:

java - 如何将 Intent 传递回 MainActivity

java - 用于创建文本文件的 java 模板引擎/api 是什么?

android - 始终在 Horizo​​ntalScrollView 中显示 3 个按钮

java - Ubuntu 伴侣 : Android Studio - Gradle project sync failed

java - 如何在java中扩展以下API函数而不导致二义性

java - [sqlite 不匹配] : data type mismatch

java - 使用spring boot(安全)和keycloak启用角色身份验证?

android - Android 上的 Html 电子邮件模板没有响应

javascript - 等待 Cypress 中的响应主体发生变化

api - 从页面 URL 获取 Deviantart Deviation ID/UUID