为什么我的 GCM 通知被截断了? (Cordova PushPlugin)

Why is my GCM notification truncated? (Cordova PushPlugin)

我正在通过 HTTP 发送一个非常简单的 GCM 推送通知。在我的 android 上,它显示前 32 个字符,后面跟着 3 个点。来自其他应用程序的消息看起来很好,包装得很好。

应用端是一个 Ionic 应用程序 (Cordova),使用 PushPlugin 作为客户端通知代码。

例如,消息中的代码结果如下:this is not such a long message to be trun...

POST: https://android.googleapis.com/gcm/send    
{       
  "registration_ids":["secret"],
  "data": {
        "message" : "this is not such a long message to be truncated"
  }
}

有谁知道这个插件并可以帮助配置它以显示多行通知?

您可以在构建通知时使用 setStyle 将样式设置为“BigTextStyle”,例如

myBuilder.setStyle(new NotificationCompat.BigTextStyle()
        .bigText("this is not such a long message to be truncated"))

您提供的代码只是 GCM 的 server side 实现。对于客户端(例如 Android),您似乎使用了其文档中提供的示例 Google。

如果你想处理你的 message,你也必须修改(或实施)client side。您可以在 Android(或 iOS)中选择如何在您的设备上显示它。

正如ShibbyUK回答的那样,使用BigTextStyle:

  • PushPlugin 有一个 pull request 可以做到这一点。

  • 或者您可以自己修改插件,方法是进行以下更改:

    if (extras.getString("bigview") != null) {
        boolean bigview = Boolean.parseBoolean(extras.getString("bigview"));
        if (bigview) {
            mBuilder.setStyle(new NotificationCompat.BigTextStyle().bigText(message));
        }
    }