我的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.
提前感谢。 任何帮助都会得到赞赏。
答案 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?
你需要:
在您创建的接收器中,您需要显示通知