Questions tagged «firebase-cloud-messaging»

Firebase Cloud Messaging(FCM)是GCM的新版本。它继承了可靠且可扩展的GCM基础架构以及新功能。它是一个跨平台的解决方案,使用户可以免费可靠地传递和接收消息和通知。它支持Android,iOS,桌面Web浏览器,带有JavaScript或WebPush的移动网络以及物联网(IoT)设备。

15
更新到Android Build Tools 25.1.6 GCM / FCM后出现IncompatibleClassChangeError
自从我更新到Android SDK Tools 25.1.6和Android Support Repository 32.0.0(今天上午)以来,出现以下错误,我没有更改代码中的任何内容,并且仍在我的同事计算机上正常工作(Android SDK Tools 25.1.1 + Android支持存储库30.0.0)。 java.lang.IncompatibleClassChangeError: The method 'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir(android.content.Context)' was expected to be of type virtual but instead was found to be of type direct (declaration of 'java.lang.reflect.ArtMethod' appears in /system/framework/core-libart.jar) at com.google.android.gms.iid.zzd.zzeb(Unknown Source) at com.google.android.gms.iid.zzd.<init>(Unknown Source) at com.google.android.gms.iid.zzd.<init>(Unknown Source) at com.google.android.gms.iid.InstanceID.zza(Unknown …

13
如何使用Firebase Cloud Messaging发送设备到设备消息?
搜索文档后,我不找到有关如何在不使用外部服务器的情况下使用FCM将设备发送到设备消息的任何信息。 例如,如果我正在创建一个聊天应用程序,则我需要向用户发送有关未读消息的推送通知,因为它们不会一直在线,而且我无法在后台拥有持久连接的持久性服务实时数据库,因为那样会占用大量资源。 那么当某个用户“ B”向他/她发送聊天消息时,我该如何向用户“ A”发送推送通知?我是否需要外部服务器,或者仅使用Firebase服务器即可完成?

6
从多任务任务栏停止应用时,Android应用未收到Firebase通知
我已经阅读了关于SO的类似问题,但是,我无法从中获得正确的答案。 我有一个系统,其中我们将通知发送到大约500台设备。 不幸的是,这些设备中有许多没有收到通知。我发现OPPO F1系列手机尤其没有收到通知。 我观察到,如果该应用程序从多任务托盘中停止,则会发生这种情况。我该如何解决? 更新:我观察到,当我从任务栏关闭应用程序时,我的应用程序被迫在应用程序管理器中停止。当我从任务托盘关闭Whatsapp时,它仍然没有被强制停止。Whatsapp如何处理?

8
Firebase云消息传递-处理注销
当用户注销我的应用程序并且我不再希望他接收到设备的通知时,我该如何处理情况。 我试过了 FirebaseInstanceId.getInstance().deleteToken(FirebaseInstanceId.getInstance().getId(), FirebaseMessaging.INSTANCE_ID_SCOPE) 但是我仍然收到设备的通知registration_id。 我还确保这是我应该删除的令牌: FirebaseInstanceId.getInstance().getToken(FirebaseInstanceId.getInstance().getId(), FirebaseMessaging.INSTANCE_ID_SCOPE) 或简单地FirebaseInstanceId.getInstance().getToken())。 我也尝试过FirebaseInstanceId.getInstance().deleteInstanceId(),但是下次我打电话给FirebaseInstanceId.getInstance.getToken我时会收到null(它在第二次尝试中有效)。 我想,在deleteInstanceId我可以立即getToken()再次致电之后,但这看起来像是骇客。还有一个答案,指出不应该这样做,但它建议删除显然无效的令牌。 那么正确的方法是什么呢?

7
Firebase 401未经授权的错误FCM
我正在尝试测试Firebase Cloud消息传递API,因为控制台无法提供所有功能(特别是在后台运行应用程序时自定义通知)。但是由于某些原因,我无法使其正常工作,并且始终显示401错误。我调查了这种情况的原因,并在重新生成新的服务器密钥后进行了尝试,但是错误仍然保持不变。令人惊讶的是,当我生成新的服务器密钥时,它没有反映在Firebase控制台中,并且显示服务器密钥为空。另外,我尝试将我的IP地址添加到服务器白名单IP中,但还是没有运气。我已附上我对Postman所做的请求的屏幕截图(我用服务器密钥代替serverKey。 我坚持了几个小时,非常感谢您的帮助。

13
Firebase onTokenRefresh()不被调用
在我MainActivity的日志中,我可以看到令牌的使用FirebaseInstanceId.getInstance().getToken()并显示生成的令牌。但是似乎在我 MyFirebaseInstanceIDService将其扩展到的地方FirebaseInstanceIdService,onTokenRefresh()未调用,在此函数中据说令牌是在此处最初生成的。我需要打电话给我,sendRegistrationToServer()这就是为什么我试图知道为什么它没有出现在其中的原因onTokenRefresh()。 这是我的代码 public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService { @Override public void onTokenRefresh() { // Get updated InstanceID token. String refreshedToken = FirebaseInstanceId.getInstance().getToken(); Log.d(TAG, "Refreshed token: " + refreshedToken); sendRegistrationToServer(refreshedToken); } }

14
错误:修复版本冲突(Google服务插件)
根据该SO线程,我知道存在版本冲突,但是在从Google获得新版本后问题仍然存在。 错误:任务':app:processDebugGoogleServices'的执行失败。请通过更新google-services插件的版本来解决版本冲突(有关最新版本的信息,请访问https://bintray.com/android/android-tools/com.google.gms.google-services/)。或将com.google.android.gms的版本更新为10.0.1。 我的build.gradle(模块:应用) .... dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:26.+' compile 'com.android.support.constraint:constraint-layout:1.0.2' testCompile 'junit:junit:4.12' compile 'com.google.firebase:firebase-messaging:10.0.1' compile 'com.google.android.gms:play-services-maps:11.0.4' compile 'com.google.android.gms:play-services-location:11.0.4' } apply plugin: 'com.google.gms.google-services' 现在需要进行哪些更改?

5
无法将PluginRegistry转换为FlutterEngine
将flutter更新到1.12.13版后,我立即发现了此问题,无法解决。我按照firebase_messaging教程的指示发送了错误消息:“错误:不兼容的类型:PluginRegistry无法转换为FlutterEngine GeneratedPluginRegistrant.registerWith(注册表);”我的代码如下: package io.flutter.plugins; import io.flutter.app.FlutterApplication; import io.flutter.plugin.common.PluginRegistry; import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback; import io.flutter.plugins.GeneratedPluginRegistrant; import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService; import android.app.NotificationChannel; import android.app.NotificationManager; import android.os.Build; public class Application extends FlutterApplication implements PluginRegistrantCallback { @Override public void onCreate() { super.onCreate(); FlutterFirebaseMessagingService.setPluginRegistrant(this); if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){ NotificationChannel channel = new NotificationChannel("messages","Messages", NotificationManager.IMPORTANCE_LOW); NotificationManager manager = getSystemService(NotificationManager.class); manager.createNotificationChannel(channel); } …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.