Quantcast
Channel: Xamarin.Forms — Xamarin Community Forums
Viewing all 79144 articles
Browse latest View live

How to resolve embedded resource duplicated issue in Xamarin ?

$
0
0

I am working on Xamarin.forms in Visual Studio for MacBook.
As of now, there is only .iOS project apart from forms project.
Today when I opened solution, all files are duplicated. And "Duplicate embedded resources were included." error is shown.
Please help me resolving the issue.


how to show details for selected item in carouselview

$
0
0

hello, i have a crouselview that display few items, i wanna show details for that item i selected, but no property for it.
thanks

Is it possible to use Prism INavigationService in a custom view?

$
0
0

I made a custom view that extends ContentView, and I would like to use the NavigationService to handle navigation, but when I inject it in the constructor, I get this build error (apparently in CustomHeader.xaml):

Severity Code Description Project File Line Suppression State
Error The given key was not present in the dictionary.

This is my custom view code behind (CustomHeader.xaml.cs):

    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class CustomHeader : ContentView
    {
        private DelegateCommand _profilePictureTappedCommand;
        public DelegateCommand ProfilePictureTappedCommand =>
            _profilePictureTappedCommand ?? (_profilePictureTappedCommand = new DelegateCommand(ExecuteProfilePictureTappedCommand));

        // This Prism command works just fine, it fires successfully
        private void ExecuteProfilePictureTappedCommand()
        {
        }

        public CustomHeader(INavigationService navigationService)
        {
            try
            {
                InitializeComponent();

                ProfilePicture = Properties.CurrentUser.ProfilePicture;
            }
            catch (Exception ex)
            {
                throw;
            }

            _navigationService = navigationService;
        }
    }

Is it not possible to do dependency injection in a class that extends ContentView?
Just tagging you @BrianLagunas in case you have a quick answer to that.

Thanks!

ADB1000: Deployment Failed... (Deployment Error)

$
0
0

Hi. I just updated Visual Studio 2019, and I keep getting the following deployment error message: "ADB1000: Deployment failed..." and "ADB1000: System.ComponentModel.Win32Exception(0x80004005): The system cannot find filed specified".
Also worth noting, I thought this only happened with the project I have been working on for a couple months now. But it also shows even when I create a NEW project.
Is this kind of a bug in the new update? Is anybody else experiencing this? And most importantly... how to fix it?
Thanks!

why the two elements' width not equal? in a collectionview line ?

$
0
0

Here is my code:

          <CollectionView Margin="10.33,0,10.33,0" ItemsSource="{Binding Items}" VerticalScrollBarVisibility="Never">
                    <CollectionView.ItemsLayout>
                        <GridItemsLayout Span="2" Orientation="Vertical" HorizontalItemSpacing="22.5" VerticalItemSpacing="10" SnapPointsAlignment="Center"/>
                    </CollectionView.ItemsLayout>
                    <CollectionView.ItemTemplate>
                        <DataTemplate>
                            <StackLayout BackgroundColor="Orange" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
                                <ff:CachedImage HeightRequest="96.33" HorizontalOptions="FillAndExpand" Source="{Binding ImageUrl}" Aspect="AspectFit" VerticalOptions="FillAndExpand"/>
                                <StackLayout MinimumHeightRequest="44">
                                    <Label Text="{Binding Name}" TextColor="#000000" FontSize="14" Margin="0,7.67,16,7" LineBreakMode="TailTruncation" MaxLines="2" MinimumHeightRequest="31.33"/>
                                </StackLayout>
                                <FlexLayout JustifyContent="SpaceBetween" AlignItems="Center">
                                    <StackLayout Orientation="Horizontal">
                                        <Label Text="¥" FontSize="8.67" TextColor="#ff0000" VerticalOptions="CenterAndExpand"/>
                                        <Label Text="{Binding Price}" TextColor="#ff0000" FontSize="14"/>
                                    </StackLayout>
                                    <Image Source="icon_cart.png" WidthRequest="19.67" HeightRequest="16"/>
                                </FlexLayout>
                            </StackLayout>
                        </DataTemplate>
                    </CollectionView.ItemTemplate>
                </CollectionView>

Here is the view:

The first one 's width is bigger than the second one

Severity Code Description Project File Line Suppression State Error Xamarin.Android ?

$
0
0

Severity Code Description Project File Line Suppression State Error Xamarin.Android for Visual Studio requires Android SDK. Please install it or set Android SDK path on Tools->Options->Xamarin->Android Settings menu.

IOS CollectionView FirstVisibleIndex And LastVisibleIndex Bug

$
0
0

Hello,
I am working with a collectionView and there is a confirmed bug in CollectionView FirstVisibleItem and LastVisibleItem on IOS. issue reported here https://github.com/xamarin/Xamarin.Forms/issues/9989
I am hoping that there is a workaround by implementing a CollectionView renderer for IOS.

I am attaching a sample project grabbed from the Xamarin Git as a sample to demonstrate the issue.
To see the issue. Run the attached app in Xamarin.IOS
When the app loads scroll to the the "Scrolling" Section Select Scroll by Index
Now scroll to hide item1 off the screen and look at the output window you will notice that FirstVisibleItemIndex is 0, now scroll to hide the second item note that the FirstVisibleItemIndex is still 0, now hide the second item then the FirstVisibleItemIndex updates to 1 (Which by now is hidden). Also note the lastVisibleItemIndex is off by 1.

Any help would be appreciated.

How to create left panel with only image in cross platform


How to get TouchX & TouchY from PinchGesture event on SKCanvasView?

$
0
0

private void PinchGesture_PinchUpdated(object sender, PinchGestureUpdatedEventArgs e)
{
// Here I need to get Touch point. I could see there is e.ScaleOrigin.X
// How to calculate it from this?
switch (e.Status)
{
case GestureStatus.Started:
break;
case GestureStatus.Running:
break;
case GestureStatus.Completed:
break;
case GestureStatus.Canceled:
break;
}
}

If I add pinch gesture on other control then we get Touch point similarly I was expecting on SKCanvasView.

How to custom a view to make a circle checkbox and a addminus button?

$
0
0

I want to make a circle check box

and a add and minus button

how to make the view?

How to programatically navigate to a previous tab within a tabbed page

$
0
0

I'm making a forms application on the ios side and am having issues with navigation. I have 2 tabs in my app, "about" and "camera". I want to be able to click the camera tab, open the camera to take a picture, and after i'm finished with taking the picture, the control goes back to the "about" tab. I've uploaded a gif for a more visual example, but pretend at the end that after the image is cropped the control goes back to the "about" tab automatically.

How can i accomplish this?

I've tried using Navigation.PushAsync(new UploadPage()); but it just creates new instances of my upload page. I simply want to return back to the previous about tab.

here's the rest of my code for more context:

mainPage.XAML

 <TabbedPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:EmployeeSnapshot;assembly=EmployeeSnapshot" xmlns:d="http://xamarin.com/schemas/2014/forms/design" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="EmployeeSnapshot.MainPage" CurrentPageChanged="OnCurrentPageChanged">
     <local:UploadPage Title="Upload" IconImageSource="upload.png"/>
     <NavigationPage Title="Camera" IconImageSource="camera2.png">
         <x:Arguments>
             <local:CameraPage />
         </x:Arguments>
     </NavigationPage>
</TabbedPage> 

CameraPage.xaml.cs

namespace EmployeeSnapshot
{
    public partial class CameraPage : ContentPage
    {
        public CameraPage()
        {
            InitializeComponent();
        }

        protected override async void OnAppearing()
        {
            base.OnAppearing();
            TakePhotoButton_Clicked();

        }

        async void TakePhotoButton_Clicked()
        {

            if (App.pictureTaken)
            {
                return;
            } 

            App.pictureTaken = true;

            //Allows users to take pictures in the app
            if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
            {
                DisplayAlert("No Camera", "Camera is not available.", "OK");
                return;
            }

            var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
            {
                //Sets the properties of the photo file 
                SaveToAlbum = true,
                PhotoSize = PhotoSize.MaxWidthHeight,
                DefaultCamera = CameraDevice.Rear
            });

            Navigation.PushAsync(new UploadPage());

            if (file == null)
                return;
        }
    }
}

Data is not getting deleted using web api in xamarin forms

$
0
0

Hello Sir,
Below is the code for deleting data from database using web api, but here the data is not getting deleted. please help
//code for web api
public Response deleteprogressnotes(Progressnotes notes)
{
Response response = new Response();
try
{
SqlCommand cmd = new SqlCommand("crm_sp_delete_progressnotes", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@notesId", notes.notesId);

            con.Open();
            int i = cmd.ExecuteNonQuery();
            con.Close();
            if (i >= 1)
            {
                response.Message = "Deleted successfully";
                response.Status = 1;
            }
            else
            {
                response.Message = "Failed to delete"
                response.Status = 0;
            }
        }
        catch (Exception ex)
        {
            response.Message = ex.Message;
            response.Status = 0;

        }
        return response;
    }

code delete.xaml.cs
private async void Button_Clicked_1(object sender, EventArgs e)
{
Progressnotes progress = new Progressnotes();
progress.notesId = Convert.ToInt32(notes.Text);
string url = "http://******/api/Delete/deleteprogressnotes";
HttpClient client = new HttpClient();
string JsonData = JsonConvert.SerializeObject(progress);
StringContent content = new StringContent(JsonData, Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.DeleteAsync(url);
string result = await response.Content.ReadAsStringAsync();
Response responsedata = JsonConvert.DeserializeObject(result);
if (responsedata.Status == 1)
{
await Navigation.PushAsync(new Progress_notes());
NavigationPage.SetHasNavigationBar(this, true);
}
else
{
noelse.Text = "Welcome";

        }
    }

Please help
Thanks

Why isn't Xamarin CarouselView displaying images when I bind the it to ImageSources?

$
0
0

I have been able to use CarouselView to display images by binding the CarouselView to an ObservableCollection of strings representing image URLs, and referencing those URLs directly with the Source property of the Image tag in XAML files:

<CarouselView x:Name="carouselView" ItemsSource="{Binding CarImages}">
                <CarouselView.ItemTemplate>
                    <DataTemplate>
                        <Frame>
                            <StackLayout>
                                <Label Text="{Binding FileName}"/>
                                <Image Source="{Binding FileName}"/>
                            </StackLayout>
                        </Frame>
                    </DataTemplate>
                </CarouselView.ItemTemplate>
            </CarouselView>

This displays both the image and the filename as I'd like it to.

But now I am trying to create a CarouselView of images by binding the CarouselView to ImageSource objects instead of binding them to strings. The ObservableCollection of ImageSource objects is defined in my ViewModel:

public ObservableCollection<ImageSource> ImageSources { get; set; }

The ImageSource objects are created by passing the file paths into the ImageSource.FromFile method:

foreach(MediaFile photoFile in photoFiles)
            {
                CarViewModel.ImageSources.Add(ImageSource.FromFile(photoFile.Path));
            }

Now I try to display these in my xaml file:

                <CarouselView ItemsSource="{Binding ImageSources}" HeightRequest="500">
                    <CarouselView.ItemTemplate>
                        <DataTemplate>
                            <StackLayout>
                                <Image Source="{Binding}"/>
                            </StackLayout>
                        </DataTemplate>
                    </CarouselView.ItemTemplate>
                </CarouselView>

but the image is not displayed.

I am able to display one image at a time, though:

CarViewModel.SampleImage.Source = CarViewModel.ImageSources[0];

<Image Source="{Binding SampleImage.Source}"/>

This does display a single image.

Why is it that images are not being displayed by the CarouselView?

```

Export Compliance / Encryption

$
0
0

Hi all,

(apologies - i think i posted in the wrong forum section previously)

I'm just about to publish my very first app to the App Store Test Flight!

Am a bit stuck on the Export Compliance Information screen - the first I'd seen of this was when in App Store Connect

You can select Yes for this question if the encryption of your app is:
(a) Specially designed for medical end-use
(b) Limited to intellectual property and copyright protection
(c) Limited to authentication, digital signature, or the decryption of data or files
(d) Specially designed and limited for banking use or “money transactions”; or
(e) Limited to “fixed” data compression or coding techniques

You can also select Yes if your app meets the descriptions provided in Note 4 for Category 5, Part 2 of the U.S. Export Administration Regulations.

My app makes calls to a webservice via https - authenticating users, download json data and submitting data to the web service.
I'm also using Xamarin Secure Storage to store tokens for authentication etc.

I've got other packages installed e.g. Xamarin Essentials, Permissions Plugin, some Syncfusion ones.

It also says an annual submission is required

If you are making use of ATS or making a call to HTTPS, you are required to submit a year-end self classification report to the US government. Learn More

What has your experiences been with this section of the submission process?
And the year end self classification process?

Would be grateful for any pointers / guidance*

shell tabbed page font icon not showing ?

$
0
0

I am trying to put font icon on tabs but not showing with iconimagesource, show like a rectangle thing if ı put icons with label possible to shown in another page is it posiible to find way?

<ContentPage.IconImageSource>
        <FontImageSource Glyph="&#xe842;" />
    </ContentPage.IconImageSource>

    </ContentPage>

Xamarin Profiler is disabled(grayed out) in Visual Studio 2019

$
0
0

I have installed Visual Studio Enterprise 2019 Edition with Xamarin Profiler and then I loaded my xamarin project in visual studio. Now I am trying to open the Xamarin Profiler which is located under Tools tab, but it is disabled(grayed out). I have enabled Developer Instrumentation(debugging and profiling) in Android properties also.
How to enable it? Thanks in advance.

How to raise click event on nested listview ?

$
0
0

Hello all,

Can anyone please help me to understand how to call nested item click event in prism?

Deployment failed on vs2019

$
0
0

Hello,
i just switched to vs2019 from vs2017 (windows10). I no longer compile the xamarin.forms APPs (emulator and physical device).
Even the new APPs ...
development environment all updated to date.
The error is this:

Errore ADB1000: Deployment failed
System.IO.FileNotFoundException: Il file 'C:\Users\MarcoS\AppData\Local\Temp\5cd3c43e.luf\Mono.Android.Platform.ApiLevel_28.apk' non è stato trovato.
Nome file: 'C:\Users\MarcoS\AppData\Local\Temp\5cd3c43e.luf\Mono.Android.Platform.ApiLevel_28.apk'
in System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
in System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
in System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
in Xamarin.AndroidTools.PlatformPackage.d__5.MoveNext()
--- Fine traccia dello stack da posizione precedente dove è stata generata l'eccezione ---
in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
in Xamarin.AndroidTools.AndroidDeploySession.d__114.MoveNext()
--- Fine traccia dello stack da posizione precedente dove è stata generata l'eccezione ---
in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
in Xamarin.AndroidTools.AndroidDeploySession.d__111.MoveNext()
--- Fine traccia dello stack da posizione precedente dove è stata generata l'eccezione ---
in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
in Xamarin.AndroidTools.AndroidDeploySession.d__110.MoveNext()
--- Fine traccia dello stack da posizione precedente dove è stata generata l'eccezione ---
in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
in Xamarin.AndroidTools.AndroidDeploySession.d__108.MoveNext() 0

******UPDATE****
this happens in debug mode

shell tabbar number badge

$
0
0

hi

How do I put a counter on this part?

<TabBar x:Name="rootTabbar" Route="tabbar">

    <Tab Title=" پروفایل من" Icon="User" TabIndex="0" Route="tab"   ??? counter>
        <ShellContent ContentTemplate="{DataTemplate page:User}" Route="profile"/>
    </Tab>

    <Tab Title=" سبد خرید" Icon="ShoppingCart" TabIndex="1" Route="tab"    ??? counter>
        <ShellContent ContentTemplate="{DataTemplate page:ShopingCart}" Route="shoppingcart"/>
    </Tab>

    <Tab Title=" دسته بندی" Icon="List" TabIndex="2" Route="tab"      ??? counter          >
        <ShellContent ContentTemplate="{DataTemplate page:Categorie}" Route="categorie"/>
    </Tab>

    <Tab Title=" صفحه نخست" Icon="Home" TabIndex="3" Route="tab"   ??? counter>
        <ShellContent ContentTemplate="{DataTemplate page:Main}" Route="home"/>
    </Tab>

</TabBar>

Entry' does not contain a definition for 'TextColor

$
0
0

Please I need your help

The application is NOT building due to an error that i am UNABLE to fix

Error CS0117
'Entry' does not contain a definition for 'TextColor'

The TextColor = SKColor.Parse("#ff80ff"), down in my code is the reason for the error

`using System;
using Microcharts;
using SkiaSharp;

namespace CompuChemApp.ViewModel
{
public class DisplayChartViewModel
{

    public Chart BarChartSample => new BarChart()
    {
        Entries = new[]
        {
            new Entry(100)
            {
                Color = SKColor.Parse("#ff80ff"),
                TextColor = SKColor.Parse("#ff80ff"),
                Label = "Baseball",
                ValueLabel = "100%"
            } ,
            new Entry(75)
            {
                Color = SKColor.Parse("#A8F4B4"),
                TextColor = SKColor.Parse("#A8F4B4"),
                Label = "Volleyball",
                ValueLabel = "75%"
            },
            new Entry(25)
            {
                Color = SKColor.Parse("#B7A8F4"),
                TextColor = SKColor.Parse("#B7A8F4"),
                Label = "Tennis",
                ValueLabel = "25%"
            },
        },
        LabelTextSize = 45,
        LabelOrientation = Orientation.Vertical
    };


    public Chart LineChartSample => new LineChart()
    {
        Entries = new[]
        {
            new Entry(100)
            {
                Color = SKColor.Parse("#ff80ff"),
                TextColor = SKColor.Parse("#ff80ff"),
                Label = "Rice",
                ValueLabel = "100%"
            },
            new Entry(75)
            {
                Color = SKColor.Parse("#A8F4B4"),
                TextColor = SKColor.Parse("#A8F4B4"),
                Label = "Chicken",
                ValueLabel = "75%"
            },
            new Entry(25)
            {
                Color = SKColor.Parse("#B7A8F4"),
                TextColor = SKColor.Parse("#B7A8F4"),
                Label = "Beans",
                ValueLabel = "25%"
            },
            new Entry(5)
            {
                Color = SKColor.Parse("#1ab2ff"),
                TextColor = SKColor.Parse("#1ab2ff"),
                Label = "Onions",
                ValueLabel = "5%"
            },
        },
        AnimationDuration = new TimeSpan(9000),
        AnimationProgress = 6000,
        LineMode = LineMode.Straight,
        LabelTextSize = 45,
        LabelOrientation = Orientation.Horizontal,
    };

    public Chart PointChartSample => new PointChart()
    {
        Entries = new[]
        {
            new Entry(100)
            {
                Color = SKColor.Parse("#ff80ff"),
                TextColor = SKColor.Parse("#ff80ff"),
                Label = "Paper",
                ValueLabel = "100%"
            },
            new Entry(75)
            {
                Color = SKColor.Parse("#A8F4B4"),
                TextColor = SKColor.Parse("#A8F4B4"),
                Label = "Pencil",
                ValueLabel = "75%"
            },
            new Entry(25)
            {
                Color = SKColor.Parse("#B7A8F4"),
                TextColor = SKColor.Parse("#B7A8F4"),
                Label = "Sheet",
                ValueLabel = "25%"
            },
            new Entry(5)
            {
                Color = SKColor.Parse("#1ab2ff"),
                TextColor = SKColor.Parse("#1ab2ff"),
                Label = "Pen",
                ValueLabel = "5%"
            },
        },
        AnimationDuration = new TimeSpan(6000),
        LabelTextSize = 45,
        LabelOrientation = Orientation.Horizontal
    };

    public Chart RadielGaugeChartSample => new RadialGaugeChart()
    {
        Entries = new[]
        {
            new Entry(100)
            {
                Color = SKColor.Parse("#ff80ff"),
                TextColor = SKColor.Parse("#ff80ff"),
                Label = "Software",
                ValueLabel = "100%"
            },
            new Entry(75)
            {
                Color = SKColor.Parse("#A8F4B4"),
                TextColor = SKColor.Parse("#A8F4B4"),
                Label = "Administration",
                ValueLabel = "75%",
            },
            new Entry(25)
            {
                Color = SKColor.Parse("#B7A8F4"),
                TextColor = SKColor.Parse("#B7A8F4"),
                Label = "Marketing",
                ValueLabel = "25%"
            },
            new Entry(5)
            {
                Color = SKColor.Parse("#1ab2ff"),
                TextColor = SKColor.Parse("#1ab2ff"),
                Label = "Languages",
                ValueLabel = "5%"
            },
        },
        LineSize = 15,
        AnimationDuration = new TimeSpan(6000),
        LabelTextSize = 45,
    };

    public Chart DonutChartSample => new DonutChart()
    {
        Entries = new[]
       {
            new Entry(100)
            {
                Color = SKColor.Parse("#ff80ff"),
                TextColor = SKColor.Parse("#ff80ff"),
                Label = "Dog",
                ValueLabel = "100%"
            },
            new Entry(75)
            {
                Color = SKColor.Parse("#A8F4B4"),
                TextColor = SKColor.Parse("#A8F4B4"),
                Label = "Cat",
                ValueLabel = "75%"
            },
            new Entry(25)
            {
                Color = SKColor.Parse("#B7A8F4"),
                TextColor = SKColor.Parse("#B7A8F4"),
                Label = "Rabbit",
                ValueLabel = "25%"
            },
            new Entry(5)
            {
                Color = SKColor.Parse("#1ab2ff"),
                TextColor = SKColor.Parse("#1ab2ff"),
                Label = "Octopus",
                ValueLabel = "5%"
            },
        },
        LabelTextSize = 45,
        HoleRadius = 0.20f,
    };

    public Chart RadarChartSample => new RadarChart()
    {
        Entries = new[]
        {
            new Entry(100)
            {
                Color = SKColor.Parse("#ff80ff"),
                TextColor = SKColor.Parse("#ff80ff"),
                Label = "Banana",
                ValueLabel = "100%"
            },
            new Entry(75)
            {
                Color = SKColor.Parse("#A8F4B4"),
                TextColor = SKColor.Parse("#A8F4B4"),
                Label = "Orange",
                ValueLabel = "75%"
            },
            new Entry(25)
            {
                Color = SKColor.Parse("#B7A8F4"),
                TextColor = SKColor.Parse("#B7A8F4"),
                Label = "Apple",
                ValueLabel = "25%"
            },
            new Entry(5)
            {
                Color = SKColor.Parse("#1ab2ff"),
                TextColor = SKColor.Parse("#1ab2ff"),
                Label = "Cherry",
                ValueLabel = "5%"
            },
        },
        LabelTextSize = 45
    };
}

}

using System;
using Microcharts;
using SkiaSharp;

namespace Microcharts
{
internal class Entry
{
private int v;

    public Entry(int v)
    {
        this.v = v;
    }

    public SKColor Color { get; set; }
    // public SKColor TextColor { get; set; }
    public string Label { get; set; }
    public string ValueLabel { get; set; }
}

}
`

Viewing all 79144 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>