我创建了Xamarin Forms PCL项目。我已经集成了OneSignal推送通知,这些通知即将出现并显示得很好。当有人点击通知时,我想处理这个事件,这样我就可以显示与通知相对应的活动。我还添加了Xam.Plugin.Pushnotifications,但我甚至不能处理水龙头。消息来了,我可以捕获消息并播放它,但是我想处理通知中的tap事件。我该如何在PCL中做到这一点?
发布于 2016-10-14 01:11:20
Xamarin不支持OneSignal项目,因为它需要特定于平台的类。您需要将代码添加到共享项目中,如OneSignal设置指南所示。
使用以下代码处理通知打开事件。
// Notification Opened Delegate
OneSignal.NotificationOpened exampleNotificationOpenedDelegate = delegate (OSNotificationOpenedResult result)
{
try
{
System.Console.WriteLine("OneSignal Notification opened:\nMessage: {0}", result.notification.payload.body);
Dictionary<string, object> additionalData = result.notification.payload.additionalData;
if (additionalData.Count > 0)
System.Console.WriteLine("additionalData: {0}", additionalData);
List<Dictionary<string, object>> actionButtons = result.notification.payload.actionButtons;
if (actionButtons.Count > 0)
System.Console.WriteLine("actionButtons: {0}", actionButtons);
}
catch (System.Exception e)
{
System.Console.WriteLine(e.StackTrace);
}
};
OneSignal.StartInit("YOUR_APP_ID", "YOUR_GOOGLE_PROJECT_NUMBER")
.HandleNotificationOpened(exampleNotificationOpenedDelegate)
.EndInit();https://stackoverflow.com/questions/40016579
复制相似问题