没有服务器部分的自动推送通知

Posted

技术标签:

【中文标题】没有服务器部分的自动推送通知【英文标题】:Automatic push notification without server part 【发布时间】:2017-09-14 09:30:18 【问题描述】:

有没有办法在没有服务器部分的情况下为 android 组织自动通知推送?

我在 pc 上(不是在手机上)有一项服务,它会定期将数据添加到 google doc 或 google disc。 因此,在我想推送通知的每条新信息上。

对我来说这似乎不可能,但可能不是?

【问题讨论】:

使用FCM............ 想象一下,我在 pc 上有一个文件,我在这个文件中添加了新字符串,并希望自动将带有该字符串的通知推送到订阅的手机。 FCM 可能无法检测到这样的新字符串 在您的服务 (PC) 中,您需要调用 FCM 的 Web API 以向特定设备 ID 发送推送通知 谢谢,试试看 【参考方案1】:

您可以做的是在您的服务类中创建一个本地通知。因此,一旦您更新了数据,您就可以像这样构建一个新的通知。

    private void sendUpdateNotification() 
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
    NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);

    builder.setContentIntent(resultPendingItent)
            .setSmallIcon(R.drawable.ic_launcher)
            .setLargeIcon(BitmapFactory.decodeResource(this.getResources(), R.mipmap.ic_launcher))
            .setTicker(msg)
            .setWhen(System.currentTimeMillis())
            .setAutoCancel(true)
            .setContentTitle("My App")
                    .setContentText(msg);
    notificationManager.notify(notifyID, builder.build());

【讨论】:

嗯嗯好的。我会看看FCM。看看这里firebase.google.com/docs/cloud-messaging 它适用于 firebase 和另一服务(一个信号),但只能手动推送通知。

以上是关于没有服务器部分的自动推送通知的主要内容,如果未能解决你的问题,请参考以下文章

避免在 Android 中使用通知推送从 GCM 显示自动通知

阿里云推送服务

推送通知未在设备上接收

如何使用 Cordova 推送插件向我的所有设备发送推送通知

iOS6 中的自动增量推送通知徽章

当我不注册时,推送通知仍然会播放声音