通过在 android/java 中由 JavaScript 编写的函数在 FCM 中的同一应用程序中制作多种类型的通知

Posted

技术标签:

【中文标题】通过在 android/java 中由 JavaScript 编写的函数在 FCM 中的同一应用程序中制作多种类型的通知【英文标题】:Make many types of notification in same app in FCM by Functions which written by JavaScript in android/java 【发布时间】:2019-09-09 07:08:59 【问题描述】:

我构建了一个应用程序,我需要在其中添加多种类型的通知,但我自己无法做到,因为我对 JS 知之甚少

我尝试通过不同的主体、标题 ..etc 部署许多功能,但似乎无法在 Firebase Functions 中部署许多功能

'use strict'


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


exports.sendNotification = functions.database.ref('/Noti/receiver_user_id/notification_id')
.onWrite((data, context) =>

    const receiver_user_id = context.params.receiver_user_id;
    const notification_id = context.params.notification_id;


    console.log('We have a notification to send to :' , receiver_user_id);


    if (!data.after.val()) 
    
        console.log('A notification has been deleted :' , notification_id);
        return null;
    

    const DeviceToken = admin.database().ref(`/user/$receiver_user_id/token`).once('value');

    return DeviceToken.then(result => 
    
        const token_id = result.val();

        const payload = 
        
            notification:
            
                title: "Open this notification now",
                body: `I have a problem in my car `,
                 icon: "default" ,
                sound: "default"




            
        ;

        return admin.messaging().sendToDevice(token_id, payload)
        .then(response => 
            
                console.log('This was a notification feature.');
            );
    );
);



这就是我要描述我的问题的全部内容

【问题讨论】:

【参考方案1】:

是的,您可以部署各种功能,但您需要为每个功能设置不同的名称。函数名在exports.之后,所以可以有:

exports.sendNotification
exports.newMessageNotification
exports.newFollowerNotification
...

他们每个人都会做你希望他们做的事情。

【讨论】:

以上是关于通过在 android/java 中由 JavaScript 编写的函数在 FCM 中的同一应用程序中制作多种类型的通知的主要内容,如果未能解决你的问题,请参考以下文章

如何返回在 sklearn 中由 DecisionTreeClassifier 创建的决策树中使用的特征

如何在 C# 中由 .NET WebBrowser 控件托管的页面中调用 JavaScript 方法并将参数传递给 JavaScript 方法? [复制]

如何在 terraform 中由 AKS 群集资源创建的虚拟机规模集或负载均衡器上启用诊断日志?

javas cript入门要了解的知识和书籍

javas cript入门要了解的知识和书籍

javas cript入门要了解的知识和书籍