Google Chrome Video Tutorial: Δημιουργήστε μια επέκταση | Grafikart, προχωρήστε στη σύνδεση των χρηστών από μια επέκταση Chrome | Πλατφόρμα ταυτότητας τεκμηρίωσης | Google Cloud

Συνδέστε τους χρήστες από μια επέκταση Chrome

Θέλουμε να δημιουργήσουμε μια επέκταση που λειτουργεί σε ένα αναδυόμενο σύστημα. Για να δημιουργήσουμε το τελευταίο, πρέπει απλώς να δημιουργήσουμε μια κλασική σελίδα HTML. Όπως έχει ρυθμιστεί στο αρχείο Manbest.JSON Θα χρησιμοποιήσουμε ένα αναδυόμενο αρχείο.HTML

Google Chrome Tutorial: Δημιουργήστε μια επέκταση

Σας προσκαλώ να ανακαλύψετε πώς να δημιουργήσετε μια επέκταση για το πρόγραμμα περιήγησης στο Web Google Chrome. Η δημιουργία μιας επέκτασης μπορεί να φαίνεται περίπλοκη, αλλά μην φοβάστε ! Πράγματι, οι επεκτάσεις Google Chrome μπορούν να δημιουργηθούν με γλώσσες που γνωρίζουμε καλά: JS, HTML και CSS.

Η μικρή προϋπόθεση

Πρώτα πρέπει να ενεργοποιήσετε το λειτουργία για προγραμματιστές σε ρυθμίσεις Chrome για να μπορείτε να φορτώσετε την επέκτασή σας. Για να το κάνετε αυτό πηγαίνετε στις ρυθμίσεις σας> Περισσότερα εργαλεία> επεκτάσεις και ελέγξτε το πλαίσιο λειτουργία για προγραμματιστές. Στη συνέχεια, θα πρέπει να δείτε τρία νέα κουμπιά φαίνεται να φορτώνουν επεκτάσεις.

Διαμορφώστε την επέκτασή σας

Το σημείο εκκίνησης για τη δημιουργία μιας επέκτασης είναι η δημιουργία ενός προφανή αρχείο.Json στη ρίζα του αρχείου σας. Θα περιέχει όλες τις πληροφορίες σχετικά με τη διαμόρφωση της επέκτασης, όπως το όνομα, την περιγραφή, τα σενάρια που πρόκειται να φορτωθούν.

< "manifest_version": 2, // Indique la version du manifest (toujours 2) "name": "Tutoriel créer une extension", // Le nom de votre extension "description": "Chaine YT Plati'Script", // La description "version": "1.0", // La version en en l'occurrence la première donc 1.0 "permissions": [ // Les permissions, on y reviendra plus bas "http://*/*", "https://*/*", ], "browser_action": < // Les paramètres "default_icon" : "img/icon.png", // L'icône qui s'affiche en haut à droite de votre navigateur "default_popup": "popup.html" // Le popup qui s'affichera quand vous cliquez sur l'îcone >, "Εικονίδια": < // L'îcone qui s'affichera lorse que vous êtes sur la page extensions des paramètre "128" : "img/icon_128.png" // 128 = 128x128 la taille de votre image >>

Όλες οι διαθέσιμες παράμετροι για αυτό το αρχείο περιγράφονται στην τεκμηρίωση.

Δικαιώματα

Από προεπιλογή, η επέκτασή σας θα είναι σε ένα είδος sandbox και δεν θα έχει πρόσβαση σε τίποτα. Σε ορισμένες περιπτώσεις, θέλουμε να δημιουργήσουμε επεκτάσεις ικανές να επικοινωνούν με ιστοσελίδες ή με ορισμένα API του προγράμματος περιήγησης. Στη συνέχεια, θα είναι απαραίτητο να καθορίσουμε στη διαμόρφωση μας ποιες δικαιές που επιθυμούμε να λάβουμε (αυτά τα δικαιώματα θα ζητηθούν κατά την εγκατάσταση της επέκτασης). Αυτά τα δικαιώματα μπορούν να λάβουν δύο έντυπα:

  • Μια συμβολοσειρά χαρακτήρων που αντιπροσωπεύει έναν συγκεκριμένο τύπο άδειας, για παράδειγμα καρτέλες πρόσβαση σε καρτέλες (Λίστα δικαιωμάτων)
  • Ένας λόγος που αντιπροσωπεύει μια μορφή URL στην οποία θα έχουμε πρόσβαση (μοτίβα αντιστοίχισης)
"Δικαιώματα": [// Δικαιώματα, θα επιστρέψουμε κάτω από το "http: //*/*", "https: //*/*", "tabs" // tabs είναι άδεια να δημιουργήσουμε νέες καρτέλες],

Για το “http: ///“Και το” https: ///“, Του λέμε ότι η επέκταση μπορεί να λειτουργήσει σε όλες τις σελίδες HTTP ή HTTPS.

Δημιουργήστε ένα pop-up

Θέλουμε να δημιουργήσουμε μια επέκταση που λειτουργεί σε ένα αναδυόμενο σύστημα. Για να δημιουργήσουμε το τελευταίο, πρέπει απλώς να δημιουργήσουμε μια κλασική σελίδα HTML. Όπως έχει ρυθμιστεί στο αρχείο Manbest.JSON Θα χρησιμοποιήσουμε ένα αναδυόμενο αρχείο.HTML

 H1, P 

Καλημέρα

Γεια είμαι ένα απλό αναδυόμενο παράθυρο
Ποιος δεν παίρνει πολύ χώρο

Αυτό είναι το μόνο που πρέπει να κάνουμε προς το παρόν, όταν κάνουμε κλικ στο κουμπί Chrome θα ανοίξει αυτόματα το pop-up αλλάζοντας τη σελίδα που μόλις γράψαμε.

Δοκιμάστε την επέκτασή του

Τώρα θέλουμε να δοκιμάσουμε την επέκτασή μας, γιατί θα πρέπει να περάσουμε από τον πίνακα επέκτασης και να κάνετε κλικ στο κουμπί φόρτισης TET και στη συνέχεια να επιλέξετε το φάκελο που περιέχει την επέκτασή σας. Αυτόματα, θα πρέπει να δείτε το εικονίδιο της επέκτασής σας να εμφανίζεται.

Γραφή

Αναγκαστικά μια επέκταση που εμφανίζει ένα pop-up, είναι σχετικά περιορισμένη ! Ευτυχώς, μπορούμε να χρησιμοποιήσουμε το JavaScript για να προσθέσουμε διαφορετικές συμπεριφορές στην επέκτασή μας. Υπάρχουν διάφοροι τρόποι φόρτωσης JavaScript ανάλογα με το τι θέλετε να ολοκληρώσετε.

JavaScript σε pop-up

Είναι πρώτα απ ‘όλα δυνατή η φόρτωση JavaScript απευθείας στο Pop-up. Πράγματι, αυτή είναι μια κλασική ιστοσελίδα στην οποία μπορούμε να φορτώσουμε οποιοδήποτε αρχείο JavaScript με την ετικέτα .

 // φορτώσουμε το σενάριό μας στο περιεχόμενο HTML H1, P 

Καλημέρα

Γεια είμαι ένα απλό αναδυόμενο παράθυρο
Ποιος δεν παίρνει πολύ χώρο

Τούτου λεχθέντος, το αρχείο JavaScript θα φορτωθεί μόνο στο άνοιγμα του pop-up, ξαφνικά εάν ο χρήστης δεν υποστηρίζει ποτέ το κουμπί, το JavaScript δεν θα εκτελεστεί ποτέ

JavaScript στο “Ιστορικό”

Είναι επίσης δυνατή η εκτέλεση του JavaScript στο παρασκήνιο για να διατηρηθεί ο κώδικας σας ενεργός ακόμη και όταν δεν αναπτύσσεται το pop-up. Για να το κάνουν αυτό, θα πρέπει να αλλάξουν το αρχείο Manifest.JSON για να συμπεριλάβει τη διαδρομή προς το αρχείο JavaScript που θέλουμε να φορτώσουμε.

Τα σενάρια περιεχομένου

Ο Χαρούμενα σενάρια είναι αρχεία JavaScript που θα εκτελεστούν στο πλαίσιο της ιστοσελίδας και τα οποία μπορούν να αλληλεπιδράσουν με αυτό χρησιμοποιώντας το DOM. Σε αντίθεση με τα σενάρια που ξεκίνησαν από το φόντο, αυτά τα σενάρια δεν έχουν πρόσβαση σε API Chrome.*. Επιπλέον, λειτουργούν σχετικά απομονωμένα και δεν έχουν πρόσβαση σε λειτουργίες JavaScript που θα ορίζονται στην ιστοσελίδα στην οποία εγχέονται.

Αυτός ο τύπος φορτίου θα χρησιμοποιηθεί όταν θέλετε να αλληλεπιδράσετε απευθείας με την ιστοσελίδα για να αλλάξετε το μέγεθος της γραμματοσειράς ή να χειριστείτε ορισμένα στοιχεία.

Ειδοποιήσεις Chrome

Τέλος, μικρό μπόνους σχετικά με τις ειδοποιήσεις. Στο Google Chrome είναι δυνατόν να διαχειριστείτε ένα σύστημα ειδοποίησης που θα εμφανίζεται στην επιφάνεια εργασίας του χρήστη. Εάν θέλετε να χρησιμοποιήσετε αυτό το API, θα χρειαστεί να ζητήσετε εκ των προτέρων άδεια στο αρχείο Manbest.json .

"Δικαιώματα": [// Δικαιώματα, θα επιστρέψουμε κάτω από το "http: //*/*", "https: //*/*", "tabs", // tabs είναι άδεια για τη δημιουργία νέων καρτελών "ειδοποιήσεις" // ενεργοποιεί τις ειδοποιήσεις],

Μόλις γίνει αυτό, μπορούμε να χρησιμοποιήσουμε την τάξη επιτρέποντας τη διαχείριση των ειδοποιήσεων.

Var ειδοποίηση = νέα ειδοποίηση («Τίτλος της κοινής !", < icon: 'votreicon.jpg', body: "Votre petite description de la notification", >)

Αυτή η κλάση δεν είναι μοναδική για το Google Chrome, αλλά είναι ένα νέο API ή μπλοκ σε πολλά προγράμματα περιήγησης. Εάν θέλετε να έχετε περισσότερες πληροφορίες σχετικά με τον τρόπο λειτουργίας σας, σας καλώ να παρακολουθήσετε την τεκμηρίωση. Το πλεονέκτημα σε περίπτωση επέκτασης είναι ότι ο χρήστης έχει ήδη αποδεχθεί δικαιώματα που επιτρέπουν τις ειδοποιήσεις να ξεκινούν απευθείας.

Συνδέστε τους χρήστες από μια επέκταση Chrome

Αυτό το έγγραφο εξηγεί τον τρόπο χρήσης της πλατφόρμας ταυτότητας για τη σύνδεση των χρηστών από μια επέκταση Chrome.

Σπουδαίος : Η πλατφόρμα ταυτότητας είναι μόνο συμβατή με επεκτάσεις που χρησιμοποιούν το Manvest V2. Το Manifest V3 δεν είναι συμβατό επειδή δεν παρέχει αναδυόμενες εργασίες. Σπουδαίος: Η χρήση τηλεφώνου ή ελέγχου ταυτότητας πολλαπλών παραγόντων από μια επέκταση Chrome δεν είναι διαθέσιμη.

Πριν ξεκινήσεις

  • Ενεργοποιήστε την πλατφόρμα ταυτότητας και διαμορφώστε έναν πάροχο ταυτότητας. Για να μάθετε πώς, δείτε γρήγορη εκκίνηση -up.
  • Προσθέστε τις ακόλουθες διευθύνσεις URL στον κατάλογο εξουσιοδοτημάτων του Content_Security_Policy της επέκτασής σας:
    • https: // apis.Google.com
    • https: // www.gstatatic.com
    • https: // www.Googleapis.com
    • https: // securetoken.Googleapis.com

    Για περισσότερες πληροφορίες, ανατρέξτε στην τεκμηρίωση CSP.

    Αποθηκεύστε το αναγνωριστικό της επέκτασής σας

    Για να συνδέσετε τους χρήστες από μια επέκταση Chrome, πρέπει να αποθηκεύσετε το αναγνωριστικό επέκτασης ως εξουσιοδοτημένο τομέα:

    1. Πρόσβαση στη σελίδα Ρυθμίσεις Πλατφόρμα ταυτότητας στην κονσόλα Google Cloud. Πρόσβαση στη σελίδα ρυθμίσεων
    2. Κάντε κλικ στην καρτέλα Ασφάλεια.
    3. Στην ενότητα Εξουσιοδοτημένοι τομείς (Εξουσιοδοτημένες περιοχές), κάντε κλικ στο κουμπί Προσθέστε τομέα (Προσθέστε έναν τομέα).
    4. Εισαγάγετε το URI της επέκτασής σας. Αυτή η επέκταση κανονικά μοιάζει .
    5. Κάντε κλικ στο Προσθήκη.

    Προχωρήστε στη σύνδεση των χρηστών

    Η σύνδεση χρήστη από μια επέκταση Chrome είναι παρόμοια με μια εφαρμογή ιστού, σε μερικές διαφορές:

    • Ο έλεγχος ταυτότητας τηλεφώνου και πολλαπλών παραγόντων δεν υποστηρίζεται.
    • Οι επεκτάσεις Chrome δεν μπορούν να χρησιμοποιήσουν ανακατευθύνσεις HTTP. Επομένως, πρέπει να χρησιμοποιήσετε τις αναδυόμενες λειτουργίες (SignInWithPopup () και LinkWithPopup ()) για να συνδέσετε χρήστες.
    • Η πρόσκληση για μεθόδους ελέγχου ταυτότητας από μια δράση του προγράμματος περιήγησης ακυρώνει τη δράση του προγράμματος περιήγησης. Επομένως, θα πρέπει να τους καλέσετε από ένα σενάριο στο παρασκήνιο.
    • Οι μέθοδοι αναδυόμενων μέσων μπορούν να χρησιμοποιηθούν μόνο σε επεκτάσεις που χρησιμοποιούν το Mance V2.

    Το παρακάτω παράδειγμα απεικονίζει τη σύνδεση ενός χρήστη με το Google:

    Javascript

    αναδυόμενο.JS

    // Πάρτε αναφορά στη σελίδα φόντου. Const bgager = chrome.επέκταση.GetBackGroundPage (); // Συνδεθείτε με αναδυόμενο παράθυρο, τυπικά συνδεδεμένο στο κουμπί Κάντε κλικ στο κουμπί. bgpage.SignInWithPOpup (); 

    Ιστορικό.JS

    Const app = firebase.InitializeApp (config); Const auth = app.συγγραφέας (); Const SignInWithPopUp = () => < const provider = new firebase.auth.GoogleAuthProvider(); return auth.signInWithPopup(provider).catch((error) =>< console.log(error); >) >; 

    Ακόλουθα βήματα

    • Συνδέστε τους χρήστες με διαφορετικούς παρόχους ταυτότητας.
    • Μάθετε περισσότερα σχετικά με τους χρήστες της πλατφόρμας ταυτότητας.

    Σχόλιο

    Εκτός εάν αναφέρεται διαφορετικά, το περιεχόμενο αυτής της σελίδας διέπεται από άδεια χρήσης Creative Commons Assignment 4.0 και τα δείγματα κώδικα διέπονται από άδεια Apache 2.0. Για περισσότερες πληροφορίες, ανατρέξτε στους κανόνες του ιστότοπου Google Developers. Η Java είναι σήμα κατατεθέν της Oracle ή/και των συνδεδεμένων εταιρειών της.

    Τελευταία ενημέρωση στις 2023/06/17 (UTC).

    RingCentral για την επέκταση του Google Chrome

    Μείνετε ενημερωμένοι με τις τελευταίες λειτουργίες, βελτιώσεις και διορθώσεις σφαλμάτων από το RingCentral για την επέκταση του Google Chrome.

    Έκδοση 21.3.30 (RC)

    Ημερομηνία κυκλοφορίας : 09/29/2021

    • Δυνατότητα απόκρυψης του προφίλ χρήστη στον κατάλογο της εταιρείας

    Διορθώσεις

    • Εμφάνιση του λογότυπου RC σε ένα πλωτό παράθυρο
    • Το εικονίδιο δεν ενοχλεί

    Ημερομηνία κυκλοφορίας : 07/28/2021

    • Δυνατότητα προσθήκης των λεπτομερειών του Ringcentral Video Connector Room στις προσκλήσεις σας σε μια συνάντηση

    Ημερομηνία κυκλοφορίας : 01/22/2021

    • RingCentral Video:
      • Ενεργοποίηση της αίθουσας αναμονής
      • Παγκόσμιοι αριθμοί πρόσβασης
      • Αυτόματη σύνθεση του κωδικού πρόσβασης από προσκλήσεις μέσω ηλεκτρονικού ταχυδρομείου
      • Αυτόματη εφαρμογή κωδικού πρόσβασης για συναντήσεις μη -PMI
      • Συμμόρφωση με τις τιμές των παραμέτρων κλειδώματος της υπηρεσίας ιστού
      • Δακτυλιοειδές βίντεο
        • Ενημέρωση της ετικέτας “Join Before the Host” αντικαθιστώντας την με “οι συμμετέχοντες μπορούν να συμμετάσχουν μόνο στη συνάντηση μετά από μένα”
        • Βελτίωση του κωδικού πρόσβασης UX

        Ημερομηνία κυκλοφορίας : 23/09/2020

        • Η σελίδα λεπτομερειών επικοινωνίας περιλαμβάνει τώρα ένα πεδίο για τον ιστότοπο
        • Ο αριθμός επέκτασης εμφανίζεται τώρα με ενεργοποιημένους κωδικούς τοποθεσίας
        • Δυνατότητα αναζήτησης επαφής με τον σύντομο αριθμό επέκτασης
        • Σύνθεση σύντομου αριθμού επέκτασης
        • Fusion των 3 επιλογών κλήσης δακτυλίου σε μια επιλογή ringout

        Ημερομηνία κυκλοφορίας : 07/31/2020

        • Δυνατότητα εξουσιοδότησης μόνο των πιστοποιημένων χρηστών να συμμετάσχουν στις συναντήσεις
        • Επιλογή κοινής χρήσης οθόνης που προορίζεται μόνο για κεντρικούς και συντονιστές
        • Κατηγορία πρόσθετων επιλογών ασφαλείας
        • Λήψη ειδοποιήσεων για αλλαγές επέκτασης στον προμηθευτή βίντεο
        • Χρήση της εφαρμογής RingCentral ως τερματισμός κλήσεων

        Διορθώσεις

        • Δεν είναι δυνατή η πραγματοποίηση κλήσεων έκτακτης ανάγκης

        Ημερομηνία κυκλοφορίας : 05/18/2020

        • Ορισμός του ringout από το αναγνωριστικό του καλούντος ιστού ως προεπιλεγμένο αναγνωριστικό

        Διορθώσεις

        • Εμφάνιση αριθμών που μεταφέρονται στη λίστα των κλήσεων των καλούντων

        Ημερομηνία κυκλοφορίας : 04/22/2020

        • Προσθήκη κωδικού πρόσβασης συνάντησης για προγραμματισμένες συναντήσεις
        • Απενεργοποίηση της λειτουργικότητας “Συμμετοχή πριν από τον οικοδεσπότη”

        Ημερομηνία κυκλοφορίας : 04/09/2020

        Διορθώσεις

        • Διορθώσεις επιλογών διπλής συνάντησης στο μενού μενού της διάσκεψης στο Google Agenda.

        Ημερομηνία κυκλοφορίας : 02/04/2020

        Διορθώσεις

        • Επίλυση του προβλήματος της λήξης των συναντήσεων μετά από 24 ώρες.
        • Διόρθωση του αριθμού του αριθμού για να συνθέσετε τις συναντήσεις RingCentral

        Ημερομηνία κυκλοφορίας : 28/10/2019

        • Επιλογή για την απόκρυψη της γνωστοποίησης της συμμόρφωσης για περιορισμένη χρήση για να συμμορφωθεί με την πολιτική της Google
        • Διαγραφή της καρτέλας Gmail σε πρόσφατες δραστηριότητες (για να ελέγξετε με επιτυχία το Google, μην καλέσετε το API Gmail)
        • Προσθήκη της γνωστοποίησης της συμμόρφωσης για περιορισμένη χρήση για τη συμμόρφωση με την πολιτική της Google
        • Διαχείριση μαύρης λίστας C2D/SMS
        • Κίνηση της επιλογής Add Μια επιλογή Συνάντησης στην πτώση “Adding Conference”
        • Η επέκταση της ημερήσιας διάταξης Google αποτελεί προτεραιότητα εάν έχει εγκατασταθεί επίσης το RingCentral για το Google.
        • Η ένεση C2D παρεμβαίνει με τους εκδότες HTML/κειμένου, ιδίως με τον Radederor
        • Λανθασμένη εμφάνιση του εικονιδίου κλικ για κλήση στην ημερήσια διάταξη Google
        • Τροποποίηση του API Επικοινωνίας Google για τη νέα εξουσιοδότηση επέκτασης
        • Βελτίωση της παρακολούθησης απομακρυσμένης κλήσης στη σελίδα Όλες οι κλήσεις
        • Επιλογή για να καλύψετε τη συνάντηση εάν ο χρήστης δεν είναι συνδεδεμένος
        • Διαγραφή του αριθμού έκδοσης στη σελίδα ειδήσεων

        Διορθώσεις

        • Η έρευνα στη σελίδα επικοινωνίας μπορεί μερικές φορές να προκαλέσει την εφαρμογή της εφαρμογής
        • Δεν είναι δυνατή η αντιστοίχιση της επικοινωνίας Google
        • Απενεργοποίηση του κουμπιού για αποστολή στη σελίδα συνομιλίας μετά την αποτυχία αποστολής του μηνύματος
        • Δεν είναι δυνατή η σωστή ενημέρωση της κατάστασης παρουσίας
        • Καθυστερήσεις και άλματα από το δρομέα στο τέλος του κειμένου όταν εισάγετε μηνύματα
        • Το κολάζ των αριθμών τηλεφώνου σε ένα τροποποιήσιμο πεδίο περιεχομένου μπορεί να ενεργοποιήσει μια ένεση C2D
        • Παλιό λογότυπο ringcentral σε νέες σελίδες
        • Λειτουργία επιλογής RingCentral Reunion στη λίστα “Προσθήκη Συνεδρίων” στη σελίδα της ημερήσιας διάταξης Google
        • Εμφάνιση των πιο πρόσφατων πληροφοριών σχετικά με τη διάσκεψη μετά την ενημέρωση/τροποποίηση
        • Προσθήκη της αρχικής σελίδας για νέα προϊόντα
        • Η ένεση κάντε κλικ για να καλέσετε/στέλνετε ένα SMS μερικές φορές δεν εμφανίζεται στη σωστή θέση.
        • Επιλογές κάντε κλικ για κλήση και κάντε κλικ για να στείλετε ένα βασικό SMS σε οποιαδήποτε ιστοσελίδα
        • Όλα τα στοιχεία ελέγχου κλήσεων (εκτός από τις κλήσεις και τις κλήσεις)
        • Πρόσβαση στην επέκταση RingCentral σε οποιαδήποτε ιστοσελίδα Chrome
        • Νέα διεπαφή χρήστη
        • Επαγγελματικά SMS και εσωτερικά SMS
        • Συγχρονισμός των καταλόγων Google και RingCentral
        • Πρόσβαση στον κατάλογο από SMS
        • Πρόσβαση στον κατάλογο από αρίθμηση
        • Ενεργοποίηση λειτουργικότητας μηνυμάτων φωνητικών/φαξ
        • Ενεργοποίηση της λειτουργικότητας τηλεδιάσκεψης
        • Λεπτομερής επαγγελματική κάρτα
        • Ενσωμάτωση της ημερήσιας διάταξης Google
        • Δυνατότητα θέσης του λειτουργικού πρωτότυπου σε ασπρόμαυρη λίστα (για να αποφευχθεί η εμφάνιση ορισμένων ιστοσελίδων από τη διεπαφή χρήστη RingCentral και C2D)
        • Αποστολή προσφυγής σε μηνύματα φωνητικών
        • Εισερχόμενη μεταφορά κλήσεων
        • Απάντηση από SMS σε μια εισερχόμενη κλήση
        • Τροποποίηση της κατάστασης παρουσίας
        • Υποστήριξη συνεργασίας RingCentral Meetings
        • Επικοινωνήστε μαζί μας Φόρμα
        • Νέα
        • RingCentral υποστήριξη στο
        • Google Ho για ringcentral συνέδρια
        • Σφάλμα σφάλματος WebRTC (Εμφάνιση ειδοποίησης σφαλμάτων σε περίπτωση προβλήματος με την κλήση WebRTC)
        • Η ειδοποίηση κλήσεων που εισέρχεται στο RingCentral Badge όταν μειωθεί η εφαρμογή (εκτός από την ειδοποίηση του προγράμματος περιήγησης)
Thanks! You've already liked this
No comments