Skip Ribbon Commands
Skip to main content

​​​​​​​​

క్విక్ స్టార్ట్ వెదర్ టైల్ మరియు టోస్ట్ నోటిఫికేసన్‌ని పంపడం


విండోస్ 10  వార్షికోత్సవ అప్‌డేట్‌లో, లైవ్ టైల్స్ వలే విజువల్‌గా సామర్థ్యం కలిగిన టోస్ట్ నోటిఫికేషన్‌లను మేం రూపొందించాం. ఈ క్విక్ స్టార్ట్‌లో, మీ టైల్ నోటిపికేషన్  5 రోజుల వాతావరణాన్ని ఫోర్‌కాస్ట్‌లో ప్రదర్శించబడ్డ విధంగా ఒక టోస్ట్ నోటిఫికేషన్ పంపడం ఎలానో మేం మీకు చూపిస్తాం.


వైడ్ లైవ్ టైల్

 

టోస్ట్ నోటిఫికేషన్

1. నోటిఫికేషన్ ఎక్స్టెన్షన్స్ NuGet  ప్యాకేజీ ఇన్స్టాల్ చేయడం

కోడ్ ద్వారా నోటిఫికేషన్‌లను సృష్టించడం కొరకు, నోటిఫికేషన్ ఎక్స్‌టెన్షన్‌లను ఉపయోగించాలని మేం బలంగా సిఫారసు చేస్తున్నాం, ఇది నోటిఫికేషన్ XML కంటెంట్ కొరకు ఆబ్జెక్ట్ మోడల్‌ని అందిస్తుంది. మీరు మాన్యువల్‌గా నోటిఫికేషన్ XMLని సృష్టించవచ్చు, అయితే దీనిలో తప్పులు జరగడానికి మరియు సంక్లిష్లంగా ఉండే అవకాశం ఉంది. మైక్రోసాఫ్ట్ వద్ద నోటిఫికేషన్‌లను కలిగి ఉన్న టీమ్ ద్వారా నోటిఫికేషన్ ఎక్స్‌టెన్షన్‌లు రూపొందించి, మెయింటైన్ చేయబడతాయి.

NuGet  నుంచి NotificationsExtensions.Win10ని ఇన్‌స్టాల్ చేయండి (మీరు వెర్షన్ 14332.0.0 లేదా దానికంటే పై దానిని ఎంచుకున్నట్లుగా ధృవీకరించుకోండి).

2. నేమ్స్పేస్ డిక్లరేషన్లను జోడించండి

విండోస్.UI.నోటిఫికేషన్‌ల్లో టైల్ మరియు టోస్ట్ APIలు చేర్చబడి ఉంటాయి.

C# with NotificationsExtensions 

using NotificationsExtensions;

using NotificationsExtensions.Tiles;

using NotificationsExtensions.Toasts;


3. లైవ్ టైటిల్ని ఏవిధంగా సృష్టించాలి

టోస్ట్ నోటిఫికేషన్‌లో ఇదే తరహా ఎడాప్టిక్ కంటెంట్ ఉపయోగించబడుతుంది కనుక లైవ్ టైల్ ఎలా ఉపయోగించాలనే విషయాన్ని మేం ముందుకు గా వివరిస్తాం. ఒకవేళ మీరు ఎడాప్టిక్ నోటిఫికేషన్‌లకు కొత్త అయితే, స్టోరు నుంచి నోటిఫికేషన్స్ విజువలైజర్ ఇన్‌స్టాల్ చేసుకోండి, ఎడాప్టిక్ కంటెంట్ ఎడిట్ చేయడానికి మరియు ఇన్‌స్టంట్ విజువల్ ప్రివ్యూ చూడటానికి మిమ్మల్ని అనుమతిస్తుంది.

టైల్ నోటిఫికేషన్లను సబ్గ్రూపులుగా విభజించడం

మనం సృష్టించాలని అనుకునే టైల్ నోటిఫికేషన్ అనేది వాస్తవానికి 5 సబ్‌ గ్రూపులతో  సృష్టించబడింది, ఒక్కొక్కటి ఒక్కొక్క రోజు వాతావరణాన్ని తెలియజేస్తాయి. దిగువ చిత్రంలో, రెండో సబ్‌గ్రూపు ఎరుపులో హైలైట్ చేయబడింది. ఈ సబ్ గ్రూపులను జనరేట్ చేయగల ఒక విధానాన్ని మనం సృష్టించవచ్చు,తద్వారా మనం కేవలం ఒక్కసారి మాత్రమే సబ్ గ్రూపుని రాస్తాం. 


C# with NotificationsExtensions

 

private AdaptiveSubgroup GenerateSubgroup(string day, string img, int tempHi, int tempLo)

{

    return new AdaptiveSubgroup()

    {

        HintWeight = 1,

 

        Children =

        {

            // Day

            new AdaptiveText()

            {

                Text = day,

                HintAlign = AdaptiveTextAlign.Center

            }

 

            // Image

            new AdaptiveImage()

            {

                Source = img,

                HintRemoveMargin = true

            }

 

            // High temp

            new AdaptiveText()

            {

                Text = tempHi + "°",

                HintAlign = AdaptiveTextAlign.Center

            }

 

            // Low temp

            new AdaptiveText()

            {

                Text = tempLo + "°",

                HintAlign = AdaptiveTextAlign.Center,

                HintStyle = AdaptiveTextStyle.CaptionSubtle

            }

        }

    });

}

వైడ్ టైల్ కొరకు కంటెంట్ జనరేట్ చేయడం

తరువాత, పైన పేర్కొన్న మన సబ్‌గ్రూపులను ఉపయోగించి వైడ్  టైల్ కొరకు వాస్తవ కంటెంట్‌ని మనం నిర్మించాల్సి ఉంటుంది. దీనిని  మనం ఒక సపరేట్ విధానంలోకి విభజిద్దాం, చిన్న టైల్ కంటెంట్ మరియు వైడ్ మరియు లార్జ్ కంటెంట్ సృష్టించడం కొరకు కూడా మనకు విధానాలు అవసరం అవుతాయి(  ఈ క్విక్‌స్టార్ట్ నుంచి మినహాయించబడతాయి,అయితే రిసోర్స్ సెక్షన్‌లో కనిపించే ఫుల్ కోడ్ శాంపుల్‌లో చూడవచ్చు.)


C# with NotificationsExtensions

 

private TileBinding GenerateTileBindingWide()

{

    return new TileBinding()

    {

        Content = new TileBindingContentAdaptive()

        {

            Children =

            {

                new AdaptiveGroup()

                {

                    Children =

                    {

                        GenerateSubgroup("Mon", "Mostly Cloudy.png", 63, 42),

                        GenerateSubgroup("Tue", "Cloudy.png", 57, 38),

                        GenerateSubgroup("Wed", "Sunny.png", 59, 43),

                        GenerateSubgroup("Thu", "Sunny.png", 62, 42),

                        GenerateSubgroup("Fri", "Sunny.png", 71, 66)

                    }

                }

            }

        }

    });

}

టైల్ నోటిఫికేషన్ కంటెంట్ జనరేట్ చేయడం

చివరగా, మనం మొత్తం టైల్ నోటిఫికేషన్  కంటెంట్‌ని జనరేట్ చేస్తాం, ఇది టైల్  వివిధ సైజలు కొరకు కంటెంట్‌ని కలిగి ఉంటుంది. ఇంతకు ముందు పేర్కొన్నవిధంగా, చిన్న, మీడియం, పెద్ద వాటి కొరకు విధానాలు ఈ క్విక్‌స్టార్ట్ నుంచి మినహాయించబడతాయి, అయితే రిసోర్స్ సెక్షన్‌లో కనిపించే ఫుల్ కోడ్ శాంపుల్‌లో చూడవచ్చు.

C# with NotificationsExtensions

 

public TileContent GenerateTileContent()

{

    return new TileContent()

    {

        Visual = new TileVisual()

        {

            TileSmall = GenerateTileBindingSmall(),

            TileMedium = GenerateTileBindingMedium(),

            TileWide = GenerateTileBindingWide(),

            TileLarge = GenerateTileBindingLarge(),

 

            // Set the base URI for the images, so we don't redundantly specify the entire path

            BaseUri = new Uri("Assets/NotificationAssets/", UriKind.Relative)

        }

    });

}

టోస్ట్ నోటిఫికేషన్ పంపడం

టైల్ నోటిఫికేషన్‌లే పంపడం ఎలానో నేర్చుకోవడం కొరకు దయచేసి క్విక్ స్టార్ట్:ని చూడండి లోకల్ టైల్ నోటిఫికేషన్‌లను పంపడం.

4. టోస్ట్ నోటిఫికేషన్లను ఏవిధంగా సృష్టించాలి

మన వద్ద ఇప్పుడు మన లైవ్ టైల్ నోటిఫికేషన్‌లున్నాయి, టోస్ట్ నోటిఫికేషన్ సృష్టించడం కొరకు దీని  కొంత కోడ్‌ని మనం ఇప్పుడు చూద్దాం.



టోస్ట్ నోటిఫికేషన్ కంటెంట్ నిర్మించడం

టోస్ట్‌లు విధిగా టెక్ట్స్ ఎలిమెంట్‌తో ప్రారంభం కావాలి, తద్వారా ఇవాల్టి వాతావరణాన్ని తెలియజేసే ఒక టెస్ట్ స్ట్రిం‌గ్‌ని మనం జోడిస్తున్నాం. ఒకవేళ ఎడాప్టివ్ టోస్ట్‌లు మద్దతు ఇస్తున్నట్లయితే( కోడ్ కొరకు తదుపరి దిగువ చూడండి), మన లైవల్ టైల్ కొరకు కూడా ఉపయోగించి ఐదు సబ్ గ్రూపులతో మనం ఒక గ్రూపును జోడిస్తాం. మరోవిధంగా అయితే,ఎడాప్టిక్ టోస్టింగ్‌కు మద్దతు ఇవ్వని సిస్టమ్‌ల కొరకు మరో రెండు టెక్ట్స్ ఎలిమెంట్‌లను మేం చేర్చాం( ఆ సిస్టమ్‌లపై, మూడు టెక్ట్స్ ఎలిమెంట్‌లు మాత్రమే మీకు గరిష్టంగా ఉంటాయని గమనించండి, తద్వారా మనం కేవలం రెండు ఎడిషనల్ టెక్ట్స్ ఎలిమెంట్‌లు మాత్రమే జోడిస్తాం.)

C# with NotificationsExtensions

 

public static ToastContent GenerateToastContent()

{

    // Start by constructing the visual portion of the toast

    ToastBindingGeneric binding = new ToastBindingGeneric();

 

    // We'll always have this summary text on our toast notification

    // (it is required that your toast starts with a text element)

    binding.Children.Add(new AdaptiveText()

    {

        Text = "Today will be mostly sunny with a high of 63 and a low of 42."

    });

 

    // If Adaptive Toast Notifications are supported

    if (IsAdaptiveToastSupported())

    {

        // Use the rich Tile-like visual layout

        binding.Children.Add(new AdaptiveGroup()

        {

            Children =

            {

                GenerateSubgroup("Mon", "Mostly Cloudy.png", 63, 42),

                GenerateSubgroup("Tue", "Cloudy.png", 57, 38),

                GenerateSubgroup("Wed", "Sunny.png", 59, 43),

                GenerateSubgroup("Thu", "Sunny.png", 62, 42),

                GenerateSubgroup("Fri", "Sunny.png", 71, 66)

            }

        });

    }

 

    // Otherwise...

    else

    {

        // We'll just add two simple lines of text

        binding.Children.Add(new AdaptiveText()

        {

            Text = "Monday <img src="https://s.w.org/images/core/emoji/72x72/26c5.png" alt="⛅" draggable="false" class="emoji"> 63° / 42°"

        });

 

        binding.Children.Add(new AdaptiveText()

        {

            Text = "Tuesday <img src="https://s.w.org/images/core/emoji/72x72/2601.png" alt="☁" draggable="false" class="emoji"> 57° / 38°"

        });

    }

 

    // Construct the entire notification

    return new ToastContent()

    {

        Visual = new ToastVisual()

        {

            // Use our binding from above

            BindingGeneric = binding,

 

            // Set the base URI for the images, so we don't redundantly specify the entire path

            BaseUri = new Uri("Assets/NotificationAssets/", UriKind.Relative)

        }

 

        // Include launch string so we know what to open when user clicks toast

        Launch = "action=viewForecast&zip=98008"

    });

}​

టోస్ట్ నోటిఫికేషన్ పంపడం

టోస్ట్ నోటిఫికేషన్‌లను ఎలా పంపాలో నేర్చుకోవడం కొరకు( నోటిఫికేషన్‌ని యూజర్ క్లిక్ చేసినప్పుడు ఎలా హ్యాండిల్ చేయాలి), దయచేసిక్విక్ స్టార్ట్:ని చూడండి. లోకల్ టోస్ట్ నోటిఫికేషన్ పంపడం మరియు యాక్టివిటీలను హ్యాండిల్ చేయడం.

ఎడాప్టిక్ టోస్ట్ మద్దతు ఇస్తున్నదా లేదా అని చెక్ చేయడం

ఎడాప్టిక్ టెస్ట్‌లు విండోస్ 10 డెస్క్‌టాప్ మరియు మొబైల్ కొరకు 14332  ఇన్‌బిల్ట్‌గా జతచేయబడ్డాయి (విండోస్ 10  వార్షికోత్సవ అప్‌డేట్ కొరకు) ఇతర డివైస్ ఫ్యామిలీలు ఎడాప్టిక్ టోస్ట్‌లకు మద్దతు ఇవ్వవు మరియు టెక్ట్స్ కాలమ్‌లు మరియు ఇమేజ్‌లు మాత్రమే ఉంటాయి. ఒకవేళ మీరు పాత సిస్టమ్‌లకు మద్దతు ఇస్తున్నట్లయితే, మీకు రెండు ఆప్షన్‌లు ఉంటాయి: అదే ప్లే లోడ్( పాత సిస్టమ్‌లమీద సింపుల్‌గా డ్రాప్ చేయబడ్డ గ్రూపులు) పంపండి లేదా మీ కోడ్‌ని ఫోర్క్ చేయండి మరియు వెదర్ ఎడాప్టిక్ టోస్ట్ మద్దతు ఇచ్చే దాని ఆధారంగా నిర్ధిష్ట నోటిఫికేషన్‌లను పంపుతుంది. విజువల్‌గా రిచ్‌గా ఉండే నోటిఫికేషన్‌లను మనం పంపగలమా లేదా అని చెప్పడం కొరకు మనం ఉపయోగించే విధానం ఇదిగో.

C#

 

using Windows.System.Profile;

 

private static bool IsAdaptiveToastSupported()

{

    switch (AnalyticsInfo.VersionInfo.DeviceFamily)

    {

        // Desktop and Mobile started supporting adaptive toasts in build 14332

        case "Windows.Mobile":

        case "Windows.Desktop":

            return GetOSVersion() > new Version(10, 0, 14332, 0);

 

        // Other device families do not support adaptive toasts

        default:

            return false;

    }

}

 

private static Version GetOSVersion()

{

    // The DeviceFamilyVersion is a string, which is actually a ulong number representing the version

    // https://www.suchan.cz/2015/08/uwp-quick-tip-getting-device-os-and-app-info/

 

    ulong versionAsLong = ulong.Parse(AnalyticsInfo.VersionInfo.DeviceFamilyVersion);

 

    ulong v1 = (versionAsLong & 0xFFFF000000000000L) >> 48;

    ulong v2 = (versionAsLong & 0x0000FFFF00000000L) >> 32;

    ulong v3 = (versionAsLong & 0x00000000FFFF0000L) >> 16;

    ulong v4 = (versionAsLong & 0x000000000000FFFFL);

 

    return new Version((int)v1, (int)v2, (int)v3, (int)v4);

}

ఫైనల్ టోస్ట్ నోటిఫికేషన్

ఎడాప్టిక్ టోస్ట్‌కు సపోర్ట్ అందించే సిస్టమ్‌ల కొరకు, మా కోడ్ విజువల్‌గా ఘనమైన నోటిఫికేషన్‌ని జనరేట్ చేస్తుంది. మరియు పాత సిస్టమ్‌ల కొరకు, మా కోడ్ క్లాసిక్ టెక్ట్స్ డ్రైవ్ నోటిఫికేషన్‌లను జనరేట్ చేస్తుంది.


ఎడాప్టివ్ టోస్ట్

క్లాసిక్ టోస్ట్

​​​
​​​​​​​

Read More on...

​ ​​​​
This site uses Unicode and Open Type fonts for Indic Languages. Powered by Microsoft SharePoint 2013.
©2016 Microsoft Corporation. All rights reserved.