Skip Ribbon Commands
Skip to main content

​​​​​​​​

ક્વિકસ્ટાર્ટઃ હવામાન ટાઇલ અને ટોસ્ટ નોટિફિકેશન મોકલવું



વિન્ડો 10ની એનિવર્સરી અપડેટમાં અમે લાઇવ ટાઇલ્સ જેવી જ દેખાતી ટોસ્ટ નોટિફિકેશન બનાવી છે. આ ક્વિકસ્ટાર્ટમાં, અમે હવામાનની આગાહી દર્શાવતું ટોસ્ટ નોટિફિકેશન મોકલવા માટે 5-દિવસના હવામાન આગાહીના તમારા ટાઇલ નોટિફિકેશનનો ફરી કેવી રીતે ઉપયોગ કરી શકો તે દર્શાવીશું.

Wide Live Tile
 

 Toast Notification​​

1. નોટિફિકેશન એક્સ્ટેન્શન NuGet પેકેજ ઇન્સ્ટોલ કરો.

કોડ દ્વારા નોટિફિકેશનનું સર્જન કરવા અમે ભારપૂર્વક નોટિફિકેશન એક્સ્ટેન્શનનો ઉપયોગ કરવા માટે સુચન કરીએ છીએ, જે નોટિફિકેશન XML કન્ટેન્ટ માટે ઓબ્જેક્ટ મોડલ પુરું પાડે છે. તમે મેન્યુઅલી  નોટિફિકેશન XML ઊભું કરી શકો છો, પરંતુ તેમાં ભૂલ થવાની સંભાવના છે અને ખૂબ જ જટિલ છે. નોટિફિકેશન એક્સ્ટેન્શન ટીમ દ્વારા બનાવવામાં અને જાળવવામાં આવે છે જે માઇક્રોસોફ્ટમાં નોટિફિકેશ ધરાવે છે.

NuGetમાંથી NotificationsExtensions.Win10 ઇન્સ્ટોલ કરો. (તેની ખાતરી કરો  કે તમે 14332.0.0 અથવા તેથી ઊંચી આવૃતિ પસંદ કરી છે).

2. નેમસ્પેસ ડેક્લેરેશન ઉમેરો.

Windows.UI.Notificationમાં ટાઇલ અને ટોસ્ટ 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);

}​​

 

ફાઇનલ ટોસ્ટ નોટિફિકેશ!

તે સિસ્ટમ જે એડેપ્ટિવ ટોસ્ટને સપોર્ટ કરે છે, આપણો કોડ વિઝ્યુઅલી-રિચ નોટિફિકેશન જનરેટ કરે છે. અને જૂની સિસ્ટમ માટે, આપણો કોડ ટેક્સ્ટ-સંચાલિત નોટિફિકેશન જનરેટ કરે છે.​

Adaptive Toast

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