Articles of firebase notifications

Firebase推送通知更新数据库

我正在尝试通过新的Firebase推送通知服务向我的用户发送一些数据。 我正在使用“消息文本” – “dbupdate”添加一些“键值”自定义数据项,以检测它是更新消息还是我要向用户显示的正常推送通知。 在我的接收器中,我检查我是否有自定义数据并运行更新,如果为真。 如果不是这种情况,我会用短信显示正常通知。 它仅在我的应用程序打开时有效。 如果应用程序关闭,则无论如何都会显示通知,并且我的if检查甚至没有运行, 一些代码: public class PushMessageService extends FirebaseMessagingService { @Override public void onMessageReceived(RemoteMessage remoteMessage) { super.onMessageReceived(remoteMessage); Map data = remoteMessage.getData(); String link = data.get(“link”); String name = data.get(“name”); if (link!=null) { Log.d(“link”,link); Log.d(“name”,name); UpdateHelper.Go(this, link, name); } else { NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_shop_white_24dp) .setAutoCancel(true) .setContentTitle(remoteMessage.getNotification().getTitle()) .setContentText(remoteMessage.getNotification().getBody()); NotificationManager […]

如何从android firebase通知中获取自定义数据?

我正在尝试实施firebase通知。 但是我无法find有关如何从firebase通知中检索自定义数据的任何文档。 但在代码中如何获取自定义键。 我正在使用FirebaseMessagingService.onMessageReceived来获取消息数据。 @Override public void onMessageReceived(RemoteMessage remoteMessage) { // TODO(developer): Handle FCM messages here. // If the application is in the foreground handle both data and notification messages here. // Also if you intend on generating your own notifications as a result of a received FCM // message, here is where that should […]

如何处理来自系统托盘的通知

我知道在后台应用中处理消息 当您的应用在后台时,Android会将通知消息定向到系统托盘。 用户点按通知会默认打开应用启动器。 这包括包含通知和数据有效负载的消息。 在这些情况下,通知将传递到设备的系统托盘,并且数据有效负载将在启动器活动的附加内容中传递。 但我的应用程序应检测通知何时到达进行操作(从服务器获取数据),因为当通知到达时必须加载数据但是,当应用程序在后台我不知道通知到达用户点击通知将打开应用程序并且我将加载数据,但是某些用户没有点击通知所以数据没有加载 所以我的问题任何方式知道什么时候应用程序接收通知案件应用程序在后台?

‘发送消息’Firebase云消息传递服务时出错

我在我的应用中使用了Firebase通知。 一切都设置但是当我从控制台推送通知时,我收到此错误: 这是我的代码:MyFirebaseInstanceIDService.class package notes.ronak.com.pushnotificationfromstart; import android.util.Log; import com.google.firebase.iid.FirebaseInstanceId; import com.google.firebase.iid.FirebaseInstanceIdService; /** * Created by ronaksakhuja on 12/9/16. */ public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService { private static final String TAG=”MyFirebaseInsIDServicve”; @Override public void onTokenRefresh() { //Get updated token String refreshedToken = FirebaseInstanceId.getInstance().getToken(); Log.d(TAG,”New Token : “+refreshedToken); sendRegistrationToServer(refreshedToken); //You can save the token into third party […]

适用于Android的Google Analytics。 接收通知的用户被视为活动用户

我在我的应用中使用Google Analytics(分析),它可以正确使用。 但是,如果我每天有100个活跃用户,然后我发送通知,则我将1000个连接用户的峰值计为“活动”。 我不知道是否有一种简单的方法可以防止这些用户被视为活动用户。 他们中的大多数人不会打开通知,我不希望他们算作活动。 我想只计算打开应用程序的用户,而不是所有收到通知的用户。 我在我发送的通知中使用“body”字段,并在应用程序中创建自定义通知。 是否可以删除这些“活跃”用户? 非常感谢你!

FCM Token在某些Android设备中没有生成

我在GCM中遇到问题,所以我迁移到FCM,但我仍然遇到与令牌相关的问题。 我推出了我的更新应用程序,我检查了有300个新用户,其中200个正在获取令牌,100个没有获得任何令牌,这是一个非常关键的问题。 null令牌的任何解决方案?

Android推送通知声音仅在应用处于前景时播放,但在应用处于后台时不播放声音

我在下面的代码中使用FCM进行推送通知,以便在收到通知时播放声音 public void playNotificationSound() { try { Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); Ringtone r = RingtoneManager.getRingtone(mContext, notification); r.play(); } catch (Exception e) { e.printStackTrace(); } } 我正在调用这个OnMessageReceived方法,但声音仅在应用程序处于前台时播放,而不是在应用程序处于后台时播放 @Override public void onMessageReceived(RemoteMessage remoteMessage) { Log.e(TAG, “From: ” + remoteMessage.getFrom()); if (remoteMessage == null) return; // Check if message contains a notification payload. if (remoteMessage.getNotification() != null) { […]

当app是后台FCM时,如何检索通知消息intent.getExtras()

我正在使用FCM进行简单通知 当应用程序处于前台时,一切正常。 我在onMessageReceived方法中收到通知和数据消息。 但是当应用程序处于后台时,我会在系统托盘中收到通知。 当我点击控件时,它会转到主要活动。 当我解析intent.getExtras(); ,我只收到这些关键数据 – google.sent_time , from , google.message_id , collapse_key 。 如何从intent.getExtras()系统托盘中可见的通知消息标题和消息? 我正在使用FCM控制台发送通知我没有我的专用服务器来执行此操作。 接收消息的代码: final Bundle extras = intent.getExtras(); final Set keySet = extras.keySet(); final Iterator iterator = keySet.iterator(); while (iterator.hasNext()) { final String key = iterator.next(); final Object o = extras.get(key); System.out.println(key + “:” + o); }

为什么我在android 7上收到多个FCM通知

我正在尝试在我的项目中集成FCM通知。 我有云function后端,应用程序在Android上运行。 以下是发送通知的云代码: exports.notificationTest = functions.database.ref(`/test/childA/childB/status`).onUpdate(event => { const status = event.data.val(); console.info(“Processing notificationTest cloud function”) console.info(`status : ${status}`) const token = “EnterYourNotificationTokenHere” const randomNum = Math.floor(Math.random() * 100) var message = { notification: { title : “My App”, body : `Notification Test ${randomNum}`} } console.info(`Sending message on notification token`) return admin.messaging().sendToDevice(token, message) .then((response) => […]

Firebase两次发送推送通知

我写了一个非常简单的Android应用来测试firebase推送通知,我收到两次通知。 这是清单服务: 这是应用程序gradle: compile ‘com.google.android.gms:play-services:9.0.0’ compile ‘com.google.firebase:firebase-core:9.0.0’ compile ‘com.google.firebase:firebase-messaging:9.0.0’ } apply plugin: ‘com.google.gms.google-services’ 这是项目级别的gradle: classpath ‘com.google.gms:google-services:3.0.0’