在通知栏中看不到Urbanairship推送通知

时间:2014-05-26 13:24:26

标签: android push-notification google-cloud-messaging urbanairship.com

我的Android应用程序使用Urbaairship从服务器接收推送消息,我添加了最近的Urbanairaship lib。 jar稳定版4.0.2。我已根据Urbanairship doc添加了所有代码以进行集成,它适用于新创建的示例项目,但不适用于我现有的项目。我也从谷歌控制台和API密钥获得了projectId&将其添加到Urbanairship应用程序设置中。为位于assets文件夹中的airship.config文件添加了开发密钥。

问题是我无法在设备的通知栏中看到即将发出的通知,但我可以看到我的logCat中记录的通知。

我做过很多研究案例的人是:

1) It shows notification with/without IntentReceiver in SampleApplication I created.
2) It shows notification without IntentReceiver even using custom Notifications builder in SampleApplication I created.
3) It won't show any notification until i create custom notification in my Projects Application class before registering IntentRevceiver.

提前感谢。 任何帮助都会得到赞赏。

2 个答案:

答案 0 :(得分:2)

最后没有得到任何答案我正在寻找。所以,我自己诊断出问题,并且看到Urbaairship没有呈现它在IntentReceiver中收到的推送,因为有些人如何不考虑它自己的这些推送消息。

我们可以使用urbanairship以及其他平台(如SNS Amazon)发送推送消息。当我们从这些其他平台表单收到消息时,urbaairship不会渲染它(因为它在消息中有某种标识符,它将其消息与其他推送消息区分开来)它知道收到的消息是否属于它,如果它不属于它,则不会渲染它并以默认格式显示它们以进行推送接收。

从上面的情况我得出的结论是,一些城市航空如何不考虑我自己的私人信息,谷歌控制台或urbanairship创建的应用程序的一些问题...试图解决它。

我找到的工作是在Urbanairship起飞后立即使用Application类中的CustomPushNotificationBuilder创建自定义推送通知。

CustomPushNotificationBuilder nb = new CustomPushNotificationBuilder();

                nb.statusBarIconDrawableId = R.drawable.app_icon_notification;//custom status bar icon

                nb.layout = R.layout.notification;
                nb.layoutIconDrawableId = R.drawable.app_icon_notification;//custom layout icon
                nb.layoutIconId = R.id.icon;
                nb.layoutSubjectId = R.id.subject;
                nb.layoutMessageId = R.id.message;

                // customize the sound played when a push is received
                nb.soundUri = Uri.parse("android.resource://"+this.getPackageName()+"/" +R.raw.cat);

                PushManager.shared().setNotificationBuilder(nb);

希望这有助于你朝着正确的方向努力......

答案 1 :(得分:0)

您是否实施了custom handling of Push events?

你需要:

  • 首先,创建一个广播接收器,用于处理PushManager.ACTION_PUSH_RECEIVED,PushManager.ACTION_NOTIFICATION_OPENED和PushManager.ACTION_REGISTRATION_FINISHED:
  • 将接收器添加到清单
  • 在takeOff:
  • 之后,在应用程序的onCreate方法中注册接收者

在您创建的接收器中,您需要显示通知