为什么IONIC推送通知看起来像Javascript警报?

时间:2016-08-30 11:29:09

标签: android cordova ionic-framework push-notification cordova-plugins

我已成功使用IONIC Framework发送推送通知。但是这些通知看起来并不像我收到其他Android通知,而是看起来像普通的Javascript警报。

是否有任何设置来设置推送通知类型,如(提醒或其他)?

我浏览以下链接:https://devdactic.com/ionic-push-notifications-guide/

如果有人面对并解决了这个问题,那么请发表评论。

  1. 第一个屏幕截图显示推送通知为Javascript警报。
  2. 第二个屏幕截图显示锁定手机屏幕后的默认Android通知。
  3. 第三个屏幕截图显示解锁屏幕后的默认Android通知
  4. Alert type notification

    Default Android notification on lock screen

    Default Android notification after unlocking screen

2 个答案:

答案 0 :(得分:2)

我通过将以下代码应用于我的app.js文件中的$ ionicPlatform.ready解决了这个问题,该文件显示onNotification事件的通知,如果onNotification不存在则IONIC显示默认的Javascript警报。

var push = new Ionic.Push({
    onNotification:  function(notification) {
            var payload = notification.payload;
            console.log(notification, payload);
          },
    pluginConfig: {
      ios: {
        alert: true,
        badge: true,
        sound: true
      },
      android: {
        sound: true,
        vibrate: true,
        forceShow: true,
        iconColor: "#601dc2"
      },
    }
  });

答案 1 :(得分:0)

使用推送通知时,您有两种可能性,以便在您的应用处于后台模式且时,屏幕顶部的通知托盘中显示一个通知第二次,当您在前台模式下使用应用时

首先显示的是其他通知,以通知您的应用通知,其中包含您设置的消息和徽标

但是对于其他通知,它只是用于获取您通过它的任何数据和消息,现在它就是您想要在应用程序中显示它的方式

您可以设置div并隐藏在显示时根据您的喜好或根据您的应用主题显示设计和位置

<script>
function devicePushNotification(data) 
{
    if (data.additionalData.foreground == true)
    {
        $("#setNotificationText").text(data.message);
        $("#setNotificationText").css("display","block");

    }
}
</script>
<div style="width:50%;margin: 0 auto;display:none" id="setNotificationText">
</div>

或者您只需提醒您收到通知的消息,例如

<script>
function devicePushNotification(data) 
{
    if (data.additionalData.foreground == true)
    {
        alert(data.message);
    }
}
</script>

因此,如果您成功收到通知,那么您只需要创建任何格式良好的容器来显示它。

希望这可以帮助你