Articles of google cloud messaging

发布和调试apks之间的Android L权限冲突

我已经升级到Android L并且在“Google play”中发布了我的应用程序的发布版本以及我们用于开发的调试版本。 它们使用不同的密钥签名。 我的问题是我安装了“Google play”版本,然后当我尝试安装调试版本时,其定义如下: debug { debuggable true packageNameSuffix “.debug” buildConfigField BOOLEAN, IS_DEV, TRUE } 这是我收到的错误: Failure [INSTALL_FAILED_DUPLICATE_PERMISSION perm=com.app.name.permission.C2D_MESSAGE pkg=com.app.name] 这是有问题的许可: 我知道( http://commonsware.com/blog/2014/08/04/custom-permission-vulnerability-l-developer-preview.html )以及由于安全问题而创建的事实,但是我仍然需要能够与每个拥有自己的调试签名密钥的团队合作。 我尝试使用adb uninstall( https://stackoverflow.com/a/27090838/2746924 )卸载,我尝试清除设备上的所有应用缓存。

如何发送高优先级GCM?

我正在使用带有Android M Preview的Nexus 5。 我试图解决的问题是: 除非您的应用收到高优先级的Google云消息传递,否则会禁用网络访问权限。 我在做的是: 我将手机置于打盹模式,然后我发送优先级为10的推送通知,我希望能在短时间内访问互联网,但这不起作用。 我应该使用其他types的通知吗? 有没有可用的文件? 谢谢。 Android M更改: https : //developer.android.com/preview/behavior-changes.html 我发现了有关GCM优先级消息的信息: https : //developers.google.com/cloud-messaging/server-ref

Parse.com – Android自定义推送通知声音

我知道Android中的推送通知声音可以自定义(在iOS已经正常工作)。 但是,我没有在文档中看到任何引用,只有iOS自定义声音。 我在Parse.com论坛上看到大约一年前要求提供这样的function,并回答说它“在桌面上”。 关于那个的任何更新? 如果没有“官方”支持,任何已知的解决方法,以使其工作?

Azure Notification Hub不再接受GCM API密钥

最近,每次我尝试在Azure Notification Hub中添加或修改GCM API密钥时,都会收到以下错误: 子码= 40000。 无法使用GCMvalidation凭据。 远程服务器返回错误:(401)未经授权…… 我尝试使用在其他通知中心中使用的相同密钥,以及通过Google Developer’s console创建一个新密钥。 我最近也发现了一些文章,指出GCM正在转向FCM(Firebase云消息传递)。 这可能是我的问题的原因吗? 谷歌是否开始不再支持GCM?

如何从Firebase控制台删除主题? (FCM)

有谁知道如何从Firebase控制台删除客户端主题?

发送一个通知后未注册的令牌错误

我在使用Firebase时遇到了Android应用程序的这个戏剧性问题。 1.我的应用程序在第一次启动时收到令牌2.我能够从firebase控制台向注册令牌发送通知3.如果我尝试在步骤2之后再次使用控制台发送通知。它向我显示“未注册令牌”在第二次尝试之后。 我已经在清单中有所有必要的配置,google service.json文件也已正确配置。 我相信事情是正确的,因为应用程序能够接收一次通知,问题才会在此之后开始。 更新1:如果我卸载应用程序并重新安装它,那么我也只能收到一次通知。 那些想要查看代码的人,这就是我获取令牌的方式: @Override public void onTokenRefresh() { //Getting registration token refreshedToken = FirebaseInstanceId.getInstance().getToken(); //Displaying token on logcat Log.d(TAG, “Refreshed token: ” + refreshedToken); saveDeviceToken(refreshedToken); } 这只能在第一次启动时调用,之后,我还没有看到它被调用(我认为这是预期的行为)。 收到的OnMessage也会在第一次通知时被调用,然后它永远不会被取消: @Override public void onMessageReceived(RemoteMessage remoteMessage) { Log.d(“FCM”, “From: ” + remoteMessage.getFrom()); if (remoteMessage.getNotification() != null) { Log.d(“FCM”, “Notification Message Body: ” + remoteMessage.getNotification().getBody()); […]

SecurityException:不允许启动服务Intent act = com.google.android.c2dm.intent.REGISTER

我得到错误SecurityException: Not allowed to start service Intent但看起来在搜索许多主题后它没有很好的解决方案。 请帮帮我, 谢谢, p / s: 我确保使用了正确的SENDER_ID因为项目编号是在Google API Console定义的,并且正确的package name 。 错误: Caused by: java.lang.SecurityException: Not allowed to start service Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms (has extras) } without permission com.google.android.c2dm.permission.RECEIVE at android.app.ContextImpl.startServiceAsUser(ContextImpl.java:1785) at android.app.ContextImpl.startService(ContextImpl.java:1757) at android.content.ContextWrapper.startService(ContextWrapper.java:480) at com.google.android.gms.gcm.GoogleCloudMessaging.e(Unknown Source) at com.google.android.gms.gcm.GoogleCloudMessaging.register(Unknown Source) at controller.RegisterGCMClientAsync.doInBackground(RegisterGCMClientAsync.java:62) at controller.RegisterGCMClientAsync.doInBackground(RegisterGCMClientAsync.java:18) at android.os.AsyncTask$2.call(AsyncTask.java:287) at […]

Android Parse Push通知设备只在一台设备上注册一次

每个人都在我的应用程序中使用解析服务进行推送通知。 但是当我在一台设备上重新安装应用程序时,它会一直注册。然后问题是,一台设备会在每台设备上收到多个通知。 我已经完成了一些注册代码,如下所示。 请帮助我,提前谢谢。 Parse.initialize(this, PARSE_APP_ID, PARSE_CLIENT_KEY); ParseACL defaultACL = new ParseACL(); defaultACL.setPublicReadAccess(true); ParseACL.setDefaultACL(defaultACL, true); PushService.setDefaultPushCallback(this, MainActivity.class); ParseInstallation.getCurrentInstallation().getInstallationId(); ParseInstallation.getCurrentInstallation().saveInBackground(); 并订阅: PushService.subscribe(this, userName, Detail.class); 在清单中 以上 在应用标签中: 每次我安装时,都会显示错误,如下所示。 03-10 12:18:48.555: E/ParseCommandCache(12709): Failed to run command. 03-10 12:18:48.555: E/ParseCommandCache(12709): com.parse.ParseException: at least one ID field (installationId,deviceToken) must be specified in this operation 03-10 12:18:48.555: E/ParseCommandCache(12709): at com.parse.ParseCommand$3.then(ParseCommand.java:348) […]

如何使用FCM向特定用户发送通知?

我为FCM准备了接收器,可以向所有设备发送通知。 带有此链接的gcm-http.googleapis.com/gcm/send可以发送给已注册的目标用户并将其发布到目标设备,如下面的json: { “notification”: { “title”: “sample Title”, “text”: “sample text” }, “to” : “[registration id]” } 但是,我需要通过电子邮件或姓名等向我选择的目标用户发送通知。 例如: { “notification”: { “title”: “sample Title”, “text”: “sample text” }, “to” : “[email or name or sex …]” } 我怎样才能做到这一点? 我是否需要创建Web服务器或其他东西?

我们如何获得Android的设备令牌以进行推送通知?

我想在我的应用程序中实现推送通知。我想知道,在启用谷歌云消息传递API后,我们如何在Android中获取推送通知的设备令牌。我们如何获得特定设备的设备令牌?