首页 > 解决方案 > Xamarin 闪亮推

问题描述

我正在尝试为我的 Xamarin 应用程序使用 Shiny Push,但在 Android 上没有调用 OnTokenChanged(在推送代表中)。它可以在 iOS 上找到。有没有人经历过这个?

我在启动时注册了代表

  services.UsePush<PushDelegate>();

然后我调用 Push Manager 的 Request Access

var result = await _pushManager.RequestAccess();

结果返回了正确的可用状态,并且它在响应中也有一个设备令牌,但推送委托的 OnTokenChanged 没有运行。

Shiny 在我的 MainActivity 中注册(Shiny 2 版本)


[assembly: ShinyApplication(
    ShinyStartupTypeName = "AddView.Mobile.AppStartUp",
    XamarinFormsAppTypeName = "AddView.Mobile.App"
)]

namespace AddView.Mobile.Droid
{
    [Activity(Label = "AddView", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true,
        ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,
        ScreenOrientation = ScreenOrientation.Portrait)]
    public partial class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
    {
    }
}

其他人有这个吗?有任何想法吗。

标签: xamarinxamarin.formsxamarin.android

解决方案


IPushDelegate.OnTokenChanged 仅在令牌在 RequestAccess 之外更改时调用。这实际上只针对 firebase 实现触发。


推荐阅读