Сбой регистрации в Центре уведомлений Azure с некоторыми форматами тегов

Я использую Xamarin на iOS с центром уведомлений Azure. Некоторое время все шло нормально. Но недавно я добавил новый тег к набору тегов, с которыми я регистрирую свои устройства.

Вот сокращенный код, который РАБОТАЕТ:

NSSet tags = new NSSet("[email protected]");
if (tags != null) {
    Hub.RegisterNativeAsync(deviceToken, tags,(errorCallback) => {
        if (errorCallback != null) {
            new UIAlertView("RegisterNativeAsync error", "Unable to register for Push notifications", null, "OK", null).Show();
            return;
        }
    });                 
}

Однако, если я заменю первую строку этим содержимым, RegisterNativeAsync FAILS:

NSSet tags = new NSSet("Email-no email provided for some user");

Я получаю такой ответ:

Ошибка URLRequest для {URL: https://MYNAMESPACE.servicebus.windows.net/MYNOTIFICATIONHUBNAME/Registrations/7659656661665513594-8491925189141493076-8?api-version=2013-04} с кодом состояния: неверный запрос

Существуют ли правила форматирования тегов? У меня есть десятки других тегов с большим количеством типов контента, и я никогда раньше не сталкивался с этой проблемой.


person Nate Jackson    schedule 16.10.2014    source источник


Ответы (1)


Из документации:

Тег может быть любой строкой до 120 символов, содержащей буквенно-цифровые и следующие не буквенно-цифровые символы: ‘_’, ‘@’, ‘#’, ‘.’, ‘:’, ‘-’.

Так что в вашем случае пробел разбивает вещи.

person efimovandr    schedule 16.10.2014
comment
Вау ... не знаю, как я обдумал эту информацию. Думаю, мне пока повезло, что в моих тегах нет незаконного контента! - person Nate Jackson; 17.10.2014