OneSignal 推送通知 ClickEvent 显示空值 Windows phone 8.1 C#
OneSignal Push Notification ClickEvent show empty values Windows phone 8.1 C#
我正在为 windows phone 8.1 开发 One Signal Push Notifications。通知工作正常。但是当我点击通知时,消息显示空值。而当应用程序打开时,则在事件中显示消息。
如何获取通知文本以保存在我的通知屏幕中?
我的App.Xaml.cs函数代码在这里。
OnLaunched 事件:
OneSignal.Init("32cdee4b-7838-4b6c-a024-ae25cecb2234", e);
OneSignal.Init("32cdee4b-7838-4b6c-a024-ae25cecb2234", e, notificationOpened);
这里是notificationOpened函数代码:
private async void notificationOpened(string message, IDictionary<string, string> additionalData, bool isActive)
{
if (message != null && message != "")
{
DatabaseHelperClass Db_Helper = new DatabaseHelperClass();//Creating object for DatabaseHelperClass.cs from ViewModel/DatabaseHelperClass.cs
try
{
Db_Helper.Insert(new MessagesClass(message));
}
catch
{
MessageDialog messageDialog = new MessageDialog("There is an error while saving this details. Please try again later!");//Text should not be empty
await messageDialog.ShowAsync();
}
}
else
{
//Here I have check for empty value
settingsClass.SaveSetting("NotiClick", "MoveToMeldingen");
}
当应用程序处于活动状态时,我会收到消息,但当应用程序处于后台并且在通知托盘中收到通知时,单击此消息我会收到空消息字符串。
请帮助我摆脱这个问题。
谢谢!
你首先需要调试一下,看看是否真的收到了notificatonOpened方法中的消息。这可能是由于它在后台没有正确接收消息。
这是 Windows Phone 8.1 通知的限制,消息正文未传递到应用程序。问题是传递给 OnLaunched
的 LaunchActivatedEventArgs
不包含此值,因此 OneSignal SDK 无法获取此值。你可以设置一个断点或者打印出来e.Arguments
看看WP8.1没有通过这个。
不过,您可以通过将消息添加到附加数据来解决此问题,并且数据参数仍会传递到您的应用程序。
我正在为 windows phone 8.1 开发 One Signal Push Notifications。通知工作正常。但是当我点击通知时,消息显示空值。而当应用程序打开时,则在事件中显示消息。 如何获取通知文本以保存在我的通知屏幕中?
我的App.Xaml.cs函数代码在这里。
OnLaunched 事件:
OneSignal.Init("32cdee4b-7838-4b6c-a024-ae25cecb2234", e);
OneSignal.Init("32cdee4b-7838-4b6c-a024-ae25cecb2234", e, notificationOpened);
这里是notificationOpened函数代码:
private async void notificationOpened(string message, IDictionary<string, string> additionalData, bool isActive)
{
if (message != null && message != "")
{
DatabaseHelperClass Db_Helper = new DatabaseHelperClass();//Creating object for DatabaseHelperClass.cs from ViewModel/DatabaseHelperClass.cs
try
{
Db_Helper.Insert(new MessagesClass(message));
}
catch
{
MessageDialog messageDialog = new MessageDialog("There is an error while saving this details. Please try again later!");//Text should not be empty
await messageDialog.ShowAsync();
}
}
else
{
//Here I have check for empty value
settingsClass.SaveSetting("NotiClick", "MoveToMeldingen");
}
当应用程序处于活动状态时,我会收到消息,但当应用程序处于后台并且在通知托盘中收到通知时,单击此消息我会收到空消息字符串。 请帮助我摆脱这个问题。 谢谢!
你首先需要调试一下,看看是否真的收到了notificatonOpened方法中的消息。这可能是由于它在后台没有正确接收消息。
这是 Windows Phone 8.1 通知的限制,消息正文未传递到应用程序。问题是传递给 OnLaunched
的 LaunchActivatedEventArgs
不包含此值,因此 OneSignal SDK 无法获取此值。你可以设置一个断点或者打印出来e.Arguments
看看WP8.1没有通过这个。
不过,您可以通过将消息添加到附加数据来解决此问题,并且数据参数仍会传递到您的应用程序。