0

Может ли кто-нибудь помочь? Я хочу использовать бесплатный сервис от 51Degrees, а не Lite, но Cloud API (https://51degrees.com/compare-data-options).Обнаружение устройства Global.asax с облаком 51 градусов API

Я пытаюсь установить мой Global.asax иметь режим отображения для «таблетки» и «мобильный», так что я могу использовать:

  • index.cshtml
  • index.tablet.cshtml
  • index.mobile.cshtml

Следующие действия применяются при использовании 51 градуса. У кого-нибудь есть пример того, как интегрировать API Облаков 51 градусов с global.asax для фильтрации для планшетов/мобильных устройств.

https://51degrees.com/Support/Documentation/APIs/Cloud-API/NET-Cloud

DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("Tablet") 
      { 
      ContextCondition = (ctx => 
      ctx.Request.UserAgent.IndexOf("iPad", StringComparison.OrdinalIgnoreCase) >= 0 || 
      ctx.Request.UserAgent.IndexOf("Android", StringComparison.OrdinalIgnoreCase) >= 0 && 
      ctx.Request.UserAgent.IndexOf("Mobile", StringComparison.OrdinalIgnoreCase) <= 0 
      ) 
      }); 

Благодаря Tommy

ответ

1

Вы можете получить значение DeviceType которое может быть настольный компьютер, смартфон или планшетный (плюс несколько других вещей), используя первый C# пример на связанную с вами страницу. Что-то вроде:

string json = webClient.DownloadString(String.Format(
    "https://cloud.51degrees.com/api/v1/{0}/match?user-agent={1}&values=DeviceType", 
    yourLicenceKey, ctx.Request.UserAgent)); 

dynamic match = Newtonsoft.Json.Linq.JObject.Parse(json); 

Тогда ваше состояние для планшета будет:

DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("Tablet") 
      { 
      ContextCondition = (ctx => 
       match.Values.DeviceType.IndexOf("Tablet", StringComparison) != -1)) 
      }); 

Вы можете запросить возможные значения DeviceType с URL

https://cloud.51degrees.com/api/v1/[you licence key]/values?propertyname=DeviceType 

или в качестве альтернативы, используйте IsMobile, IsSmartPhone, IsTablet и IsDesktop, которые возвращают true или false.