标签: firebase-cloud-messaging

使用 Cloud Functions for Firebase 向特定用户发送通知

我正在使用 Cloud Functions for Firebase 向用户发送通知。我能够收到通知,但问题是每个人都收到了通知,我正在尝试将通知发送给特定用户。我将用户的设备 ID 保存在 Firebase 的数据库中,然后向该特定人员发送通知。这是我的代码:

要保存用户的数据,这实际上工作正常:

DatabaseReference root = FirebaseDatabase.getInstance().getReference();
            DatabaseReference groupsRef = root.child("users").child(Settings.Secure
            .getString(ctx.getContentResolver(), Settings.Secure.ANDROID_ID));
            groupsRef.child("isLogin").setValue(2);
Run Code Online (Sandbox Code Playgroud)

在订阅主题的第一个活动中:

FirebaseMessaging.getInstance().subscribeToTopic("android");
Run Code Online (Sandbox Code Playgroud)

最后是 javascript 代码(我知之甚少):

var functions = require('firebase-functions');
var admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.sendNotification = functions.database.ref('/users')
    .onWrite(event => {

    var eventSnapshot = event.data;
    var str = "This is notification"
    console.log(str);

    var topic = "android";
    var payload = {
        data: {
            isLogin: eventSnapshot.child("975af90b767584c5").child("isLogin").val()
        }
    };

    return admin.messaging().sendToTopic(topic, payload)
        .then(function (response) {
            // See the MessagingTopicResponse reference documentation for …
Run Code Online (Sandbox Code Playgroud)

javascript firebase firebase-realtime-database google-cloud-functions firebase-cloud-messaging

1
推荐指数
1
解决办法
3428
查看次数

Firebase 云消息传递支持 RSS 源通知 -Xamarin.Droid

Firebase Cloud Messaging 似乎很受欢迎,但我想知道它是否支持 Rss Feed Notifications。我在我的应用程序上使用 Rss 到 Json 转换器在线显示 Rss 提要,我想在我的提要更新时使用 FCM 推送通知。

如果它不支持,我是否必须手动发送标题?

android firebase xamarin firebase-cloud-messaging

1
推荐指数
1
解决办法
858
查看次数

当用户拒绝访问以允许通知时如何获取 FCM 令牌

由于后端的要求,这是我第一次使用 firebase,所以如果您不理解这个问题或者它没有任何意义,请告诉我。

我想要实现的是,Registration_ID当用户注册时,我需要一个FCM 令牌。所以这就是我在AppDelegate.swift> 中实施它的方式didFinishLaunchingWithOptions

if #available(iOS 10.0, *) {
            // For iOS 10 display notification (sent via APNS)
            UNUserNotificationCenter.current().delegate = self

            let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
            UNUserNotificationCenter.current().requestAuthorization(
                options: authOptions,
                completionHandler: {_, _ in })
        } else {
            let settings: UIUserNotificationSettings =
                UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
            application.registerUserNotificationSettings(settings)
        }

        application.registerForRemoteNotifications()
Run Code Online (Sandbox Code Playgroud)

在那之后,AppDelegate.swift我添加了这三个功能:

func application(_ application: UIApplication,
                     didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        Messaging.messaging().apnsToken = deviceToken as Data
    }

    func messaging(_ messaging: Messaging, didRefreshRegistrationToken …
Run Code Online (Sandbox Code Playgroud)

ios firebase swift3 firebase-cloud-messaging

1
推荐指数
1
解决办法
1795
查看次数

从服务器向 Chrome 扩展程序发送推送通知的最佳方式?

我正在为分类广告网站制作 chrome 扩展程序。使用 chrome 扩展程序,用户将能够从他们观看的类别/搜索查询中获取最新列表。

我已经在使用 websocket 服务器向用户发送通知,但是这样我必须始终为每个用户打开一个套接字连接。

我的第二种方法是使用Firebase,但这只会在用户单击图标时运行通知(如我所见),我宁愿从我的服务器完成此操作

__

是否有其他可能的解决方案可以在用户不点击图标的情况下向 Chrome 扩展程序发送通知?

google-chrome websocket google-chrome-extension firebase-cloud-messaging

1
推荐指数
1
解决办法
1866
查看次数

当应用程序在前台时未触发 onMessageReceived

我正在按照教程在我的 android 设备上接收推送通知。

我可以从 Firebase 控制台发送推送通知 - 我也可以在 logcat 中看到 Firebase 事件,但我onMessageReceived的从未被解雇。我的应用程序在前台运行。

这是我发送通知后 logcat 中的输出:

12-31 12:23:54.741 9453-11132/com.example.app D/FA: Logging event (FE): notification_receive(_nr), Bundle[{firebase_event_origin(_o)=fcm, firebase_screen_class(_sc)=MainActivity, firebase_screen_id(_si)=407943440756026938, message_device_time(_ndt)=0, message_name(_nmn)=Label Arse, message_time(_nmt)=1514723034, message_id(_nmid)=3115372290763926350}]
12-31 12:23:54.784 9453-11132/com.example.app V/FA: Connecting to remote service
12-31 12:23:54.797 9453-11132/com.example.app D/FA: Logging event (FE): notification_foreground(_nf), Bundle[{firebase_event_origin(_o)=fcm, firebase_screen_class(_sc)=MainActivity, firebase_screen_id(_si)=407943440756026938, message_device_time(_ndt)=0, message_name(_nmn)=Label Arse, message_time(_nmt)=1514723034, message_id(_nmid)=3115372290763926350}]
12-31 12:23:54.828 9453-11132/com.example.app V/FA: Connection attempt already in progress
12-31 12:23:54.829 9453-11132/com.example.app D/FA: Connected to remote service
12-31 12:23:54.829 9453-11132/com.example.app V/FA: …
Run Code Online (Sandbox Code Playgroud)

android push-notification firebase firebase-cloud-messaging

1
推荐指数
1
解决办法
3792
查看次数

如何在本地测试 Firebase FCM

我正在尝试在本地 firebase 服务器上运行一些 FCM 示例

firebase serve --only 功能,托管

但我收到授权错误

信息:发送消息时出错:{ 错误:尝试向 FCM 服务器进行身份验证时出错。确保用于验证此 SDK 的凭据具有适当的权限。有关设置说明,请参阅https://firebase.google.com/docs/admin/setup。原始服务器响应:

如何在本地运行 FCM 示例?

node.js firebase firebase-cloud-messaging

1
推荐指数
1
解决办法
2793
查看次数

FCM 推送通知“内容”条目

我正在使用 FCM 向我的用户发布推送通知,到目前为止效果很好。

目前,我正在尝试实施一个通知内容扩展来提供定制的推送通知和预览,这对本地通知非常有效,遵循这篇文章。据我所知,我必须category在推送通知中设置条目和我的通知类别标识符,以便告诉 iOS 它应该使用哪个通知 UI。

问题是,当我向 FCM 发送以下消息时,在设置了类别条目的情况下,FCM 会删除该条目或将其更改为gcm.notification.category,具体取决于我放置类别条目(aps/data等)的位置

这样 iOS 从不显示我的自定义 UI/扩展。不幸的是,我无法在FCM 文档中找到任何帮助。

发送(POST:https : //fcm.googleapis.com/fcm/send):

{ 
    "notification": {
        "title": "Good Morning",
        "body": "Wake up Jack!",
        "badge" : 1,
        "sound" : "horn.aiff",
        "category" : "Cheers"     <-- Is going to be deleted / changed
    },

    "data" : {
        "time" : "2018-01-19 23:00:00",
        ...
    },

    "mutable_content" : true,

    "priority" : "high",
    "registration_ids" : [
      "abcdefg123456" …
Run Code Online (Sandbox Code Playgroud)

push-notification ios firebase firebase-cloud-messaging

1
推荐指数
1
解决办法
1333
查看次数

将 FCM 与 AWS SNS 和 APNS 结合使用是否有意义?

我读了几篇文章,其中很好地解释了 iOS 中的推送通知如何工作的。最近我在SNS 上遇到了FCMFCM。我们在后端已经有许多模块使用 AWS SNS 来推送通知。因此,在这种情况下,我们不使用 FCM 替换 AWS SNS 而是让 SNS 命中 FCM 端点,然后 FCM 可以联系 APNS 将通知推送到应用程序才有意义。

  • 是否有意义?

  • 什么是理想的场景?(由于我们使用的是 FCM,我们是否应该根本不使用 SNS,因为两者都是推送通知服务? - 我们不应该使用这两个中的任何一个而不是这两个)

  • 任何人都可以用基本图表来解释 - 添加 FCM 后图片将如何变化?

首先,我们对 FCM 提供的分析感兴趣。

apple-push-notifications ios firebase swift firebase-cloud-messaging

1
推荐指数
1
解决办法
2382
查看次数

Firebase 云设备到设备推送通知设备令牌与主题

我刚刚第一次使用 firebase 功能推送通知。我正在监视以下更改:

exports.observeNotifications = functions.database.ref('/notifications/{user_id}/{notification_id}').onWrite((change, context) => {
Run Code Online (Sandbox Code Playgroud)

后来,我使用:

const userQuery = admin.database().ref(`users/${from_user_id}/username`).once('value');
const deviceToken = admin.database().ref(`/users/${user_id}/device_token`).once('value');
Run Code Online (Sandbox Code Playgroud)

检索发件人的 userUID 和设备令牌,稍后与 sendToDevice()

这很好用,是我在任何地方都看到推荐的方法,但我想知道为什么要在用户到用户场景中使用主题来执行此操作。

在聊天应用程序的示例中,每次发送聊天时,都会发送一个值notifications/users/{uid} ...并触发该事件。然后必须进行值调用,必须完成承诺处理,然后才能配置和发送推送有效负载。

对于主题,当用户首次加载应用程序时,您可以为用户订阅“chat_notifications_usersIUID”之类的主题。这不需要获取设备令牌并完成使用承诺的过程,并大大简化了向特定用户发送通知的过程,只需推送到特定于接收者 UID 的特定主题即可。

当从用户向用户发送推送通知时,使用主题而不是 firebase 函数观察是否有任何缺点。

ios firebase google-cloud-functions firebase-cloud-messaging

1
推荐指数
1
解决办法
281
查看次数

使用android中的改造库发送fcm推送通知

尝试使用 android 中的改造库发送 fcm 通知。我想向其他 Android 设备显示带有标题和消息的通知。这是用于推送通知的代码和示例文件。

使用改造调用发送推送通知的功能:

private void sendNotification(String deviceId,String sender,String message)
{
FirebaseApi apiService =   
FirebaseClient.getClient().create(FirebaseApi.class);
NotifyData notifydata = new NotifyData(sender,message);
Call<FirebaseMessage> call = apiService.sendMessage(new 
FirebaseMessage(deviceId, notifydata));
call.enqueue(new Callback<FirebaseMessage>() {

        @Override
        public void onResponse(Call<FirebaseMessage> call, 
Response<FirebaseMessage> response) {
        Log.e("Message Response","Send");
        }
        @Override
        public void onFailure(Call<FirebaseMessage> call, Throwable t) {
            Log.e("Message Response","Fail");
        }
    });
 }
Run Code Online (Sandbox Code Playgroud)

FirebaseMessage 类:

public class FirebaseMessage {
String to;
NotifyData notification;

public FirebaseMessage(String to, NotifyData notification) {
    this.to = to;
    this.notification = notification;
} …
Run Code Online (Sandbox Code Playgroud)

android push-notification firebase retrofit firebase-cloud-messaging

1
推荐指数
1
解决办法
4586
查看次数