0

Kann jemand helfen? Ich möchte den kostenlosen Dienst von 51Degrees nicht die Lite-Version aber die Wolke API (https://51degrees.com/compare-data-options) verwenden.Global.asax Geräteerkennung mit 51 Grad Cloud API

Ich versuche, meine Global.asax zu setzen einen Anzeigemodus für "Tablette" haben und "mobile" so kann ich verwenden:

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

Folgendes funktioniert, wenn 51 Grad nicht verwendet werden. Hat jemand ein Beispiel, wie man die 51 Degrees Cloud API mit der global.asax für Tablets/Mobile filtert.

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 
      ) 
      }); 

Dank Tommy

Antwort

1

Sie können den Wert von Device erhalten, die Desktop-sein kann, SmartPhone oder Tablet (plus ein paar andere Dinge) durch das erste C# Beispiel unter Verwendung von auf die Seite, die Sie verknüpft haben. Etwas wie:

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); 

Dann ist Ihre Bedingung für Tablette wäre:

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

Sie die möglichen Werte von Device mit der URL

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

oder alternativ abfragen können, verwenden Sie die isMobile, IsSmartPhone, IsTablet und IsDesktop Eigenschaften, die wahr oder falsch zurückgeben.