Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法在Xamarin Android项目中向通知中心注册_C#_Xamarin.android_Azure Notificationhub_Unauthorized - Fatal编程技术网

C# 无法在Xamarin Android项目中向通知中心注册

C# 无法在Xamarin Android项目中向通知中心注册,c#,xamarin.android,azure-notificationhub,unauthorized,C#,Xamarin.android,Azure Notificationhub,Unauthorized,我一直在尝试从我的Xamarin Android项目向NH注册。我成功地配置了FireBase,但当我尝试在客户端注册Notification Hub时,我遇到了未经授权的异常。我确信我使用了正确的连接凭证,因为我在UWP项目中使用了相同的凭证,并且它在那里工作 这是我的密码: Hub = new NotificationHub(Constants.NotificationHubName, "Endpoint=sb://namespace.servicebus.windows.net/;Shar

我一直在尝试从我的Xamarin Android项目向NH注册。我成功地配置了FireBase,但当我尝试在客户端注册Notification Hub时,我遇到了未经授权的异常。我确信我使用了正确的连接凭证,因为我在UWP项目中使用了相同的凭证,并且它在那里工作

这是我的密码:

Hub = new NotificationHub(Constants.NotificationHubName, "Endpoint=sb://namespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=mykey=",
                                        context);
            try
            {
                Hub.UnregisterAll(registrationId);
            }
            catch (Exception ex)
            {
                Log.Error(MyBroadcastReceiver.TAG, ex.Message);
            }

            var tags = new List<string>() { "droid" }; // create tags if you want
           // var tags = new List<string>() { };

            try
            {
                var hubRegistration = Hub.Register(registrationId, tags.ToArray());
            }
            catch (Exception ex)
            {
                Log.Error(MyBroadcastReceiver.TAG, ex.Message);
            }
Hub=new NotificationHub(Constants.NotificationHubName,“Endpoint=sb://namespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=mykey=“,
上下文);
尝试
{
Hub.UnregisterAll(注册ID);
}
捕获(例外情况除外)
{
Log.Error(MyBroadcastReceiver.TAG,ex.Message);
}
var tags=new List(){“droid”};//如果需要,可以创建标记
//var tags=newlist(){};
尝试
{
var hubRegistration=Hub.Register(registrationId,tags.ToArray());
}
捕获(例外情况除外)
{
Log.Error(MyBroadcastReceiver.TAG,ex.Message);
}

我从UnregisterAll和Register两种方法中都获得未经授权的异常。请提供任何建议,如何解决此问题。

这表示您的通知中心凭据错误或无效。能否确保您引用的是正确的通知中心和相应的连接字符串


另一方面,您不需要调用unregister api。寄存器API充当CreateOrUpdate。如果它不存在,它将负责创建注册

既然您提到通过MobileServiceClient工作,您可以通过App Service Push注册。退房-第5章。这包括每个平台关于如何使用标签注册的代码。

谢谢您的回答。我确实使用了正确的凭证。正如我所说的,我使用与UWP项目相同的方法,在UWP项目中,注册工作是通过MobileServiceClient获得的Push对象进行的,但其方法RegisterAsync不允许注册标签。它只适用于模板。请查看-第5章-中的代码,其中包括注册标签的代码。