Xamarin 收到触发操作的推送消息,没有通知
Xamarin receive a push message that trigger action, without notification
我正在创建一个 Xamarin (android) 应用程序,我想接收推送消息并在应用程序中触发更新,而不是显示通知。
我第一次测试 OneSignal 是这样的:
OneSignal.Current.StartInit("xxx")
.HandleNotificationReceived(HandleNotificationReceived)
.EndInit();
收到 HandleNotificationReceived(),我可以使用收到的文本来触发我自己的功能。但我无法停止显示通知。这可能吗?
在这种情况下,一个信号可能是 "special",而不是处理这种情况,但我不受此约束。
是否可以使用 Xamarin.Firebase.Messaging 解决(遵循本指南:https://blog.xamarin.com/implementing-push-notifications-android-apps/)?
我也无法摆脱那里的通知。
想了想,一个间隔触发的告警可以解决,但是https://developer.android.com/training/scheduling/alarms根本不推荐。使用 syncadapter 是他们的解决方案,但我还没有找到任何好的例子来展示它对 Xamarin 的影响。
在此先感谢您的帮助! :)
您可以在不使用 OneSignal 显示通知的情况下触发收到通知的操作。
在您的 OneSignal 通知处理程序中 class :
将Infocus显示值设置为OSInFocusDisplayOption.None
.InFocusDisplaying(OSInFocusDisplayOption.None)
查看我的代码以供参考:
public void InitializeOneSignalService()
{
OneSignal.Current.SetLogLevel(LOG_LEVEL.NONE, LOG_LEVEL.NONE);
SetRequiresConsent(false);
OneSignal.Current.StartInit("Your OneSignal Key").Settings(new Dictionary<string, bool>() {})
.InFocusDisplaying(OSInFocusDisplayOption.None) //This line will stop displaying notification
.HandleNotificationOpened((result) =>
{
})
.HandleNotificationReceived((notification) =>
{
})
.EndInit();
}
现在从 OneSignal 发送通知,您将在 .HandleNotificationReceived 上收到通知回调,而不显示通知。
我正在创建一个 Xamarin (android) 应用程序,我想接收推送消息并在应用程序中触发更新,而不是显示通知。
我第一次测试 OneSignal 是这样的:
OneSignal.Current.StartInit("xxx")
.HandleNotificationReceived(HandleNotificationReceived)
.EndInit();
收到 HandleNotificationReceived(),我可以使用收到的文本来触发我自己的功能。但我无法停止显示通知。这可能吗?
在这种情况下,一个信号可能是 "special",而不是处理这种情况,但我不受此约束。
是否可以使用 Xamarin.Firebase.Messaging 解决(遵循本指南:https://blog.xamarin.com/implementing-push-notifications-android-apps/)?
我也无法摆脱那里的通知。
想了想,一个间隔触发的告警可以解决,但是https://developer.android.com/training/scheduling/alarms根本不推荐。使用 syncadapter 是他们的解决方案,但我还没有找到任何好的例子来展示它对 Xamarin 的影响。
在此先感谢您的帮助! :)
您可以在不使用 OneSignal 显示通知的情况下触发收到通知的操作。
在您的 OneSignal 通知处理程序中 class :
将Infocus显示值设置为OSInFocusDisplayOption.None
.InFocusDisplaying(OSInFocusDisplayOption.None)
查看我的代码以供参考:
public void InitializeOneSignalService()
{
OneSignal.Current.SetLogLevel(LOG_LEVEL.NONE, LOG_LEVEL.NONE);
SetRequiresConsent(false);
OneSignal.Current.StartInit("Your OneSignal Key").Settings(new Dictionary<string, bool>() {})
.InFocusDisplaying(OSInFocusDisplayOption.None) //This line will stop displaying notification
.HandleNotificationOpened((result) =>
{
})
.HandleNotificationReceived((notification) =>
{
})
.EndInit();
}
现在从 OneSignal 发送通知,您将在 .HandleNotificationReceived 上收到通知回调,而不显示通知。