Bağlantı eklerini Classroom eklentisi eklerine yükseltin

Öğretmenler, Classroom'a üçüncü taraf içeriği eklemek için ödev oluşturma sayfasına Bağlantı eki olarak bağlantı yapıştırabilir. Öğretmenlerin aşina olduğu özellikleri temel alarak, artık eklentinizi öğretmenlerin bağlantı ekesini eklenti eki olarak yükseltmesine izin verecek şekilde yapılandırabilirsiniz.

Genel Bakış

Eklentinizi bu özellikle yapılandırırsanız öğretmenler, ödev oluşturma sayfasına bağlantı eki yapıştırdığında bağlantıyı eklenti eki olarak yükseltmeleri istenir. Öğretmenlerden yalnızca eklenti zaten yüklüyse bunu yapmaları istenir.

Öğretmen bağlantıyı eklenti eki olarak yükseltmeyi kabul ettiğinde, bağlantı yükseltme iFrame'si aşağıdaki sorgu parametreleriyle başlatılır:

  • courseId
  • itemId
  • itemType
  • addOnToken
  • urlToUpgrade
  • login_hint (yalnızca kullanıcı uygulamanıza önceden yetki verdiyse)

İlk dört sorgu parametresi, Ek Keşfi iframe'inde başlatılan sorgu parametrelerini yansıtır. urlToUpgrade sorgu parametresi yenidir ve eklenti ekinin nasıl oluşturulacağını değerlendirmenize yardımcı olabilir. Ardından, kullanıcının oturum açmış olup olmadığını kontrol etmek için diğer sorgu parametrelerini kullanabilir ve itemType değerine göre courseWork, courseWorkMaterials veya announcements CreateAddOnAttachment yöntemini çağırabilirsiniz. IFrame içinde, öğretmene eklenti ekinin oluşturulmakta olduğunu belirtmek için bir yükleme ekranı gösterebilirsiniz.

Eklenti eki oluşturulduktan sonra iframe kapatılır ve öğretmen, ödevdeki eki normalde olduğu gibi görüntüleyebilir.

Teknik uygulama ayrıntıları

Bu bölümde, özelliklere ilişkin bazı önemli teknik ayrıntılar vurgulanmaktadır.

urlToUpgrade sorgu parametresini okuma

urlToUpgrade sorgu parametresi, Bağlantı Yükseltme iframe'inde iletilirken URI olarak kodlanır. URL'yi orijinal biçiminde almak için URL'nin kodunu çözmeniz gerekir. Örneğin, JavaScript kullanıyorsanız bunu yapmak için decodeURIComponent() işlevini kullanabilirsiniz.

Bu özellikte en iyi kullanıcı deneyimini sunmak için eklenti eki başarıyla oluşturulduktan sonra bir postMessage gönderin. Bu, iframe'i kapatır. Daha fazla bilgi için iframe uygulama ayrıntıları sayfasına bakın.

Yapılandırma ayrıntıları

Bu özelliği eklentinize entegre etmek için aşağıdaki yapılandırmalar gereklidir:

  • Bağlantıyı Yükseltme iframe'inin URL'si: Bir öğretmen yükseltmeyi kabul ettiğinde iframe'de açılan URL'dir.

  • Classroom'un algılaması ve yeni sürüme geçirmeyi denemesi gereken URL kalıpları: URL kalıpları, bir ana makineden ve birden fazla yol ön ekinden oluşabilir.

    • Birden fazla URL kalıbı sağlayabilirsiniz.
    • Yol ön ekleriyle ilgili herhangi bir bilgi sağlamazsanız ana makineyle eşleşen tüm URL'ler yükseltilebilir.
    • Yalnızca https şemasına sahip URL'ler yeni sürüme geçirilebilir.
    • URL kalıpları localhost içermemelidir.
    • Yol önekleri sorgu parametreleri veya URL parçaları içermemelidir.
    • Yol ön ekleri şu anda joker karakterleri destekleyebilir ancak ana makineler destekleyemez:
      • example.com geçerli bir ana makine, /foo ve /bar/*/baz ise geçerli yol önekleridir.
      • example.*.host.com geçerli bir ana makine değil.
    • Yol ön ek bileşenleri arasındaki joker karakter yalnızca tek bir bileşenle eşleşir ve eğik çizgiyle ayrılmış birden fazla bileşenle eşleşmez. example.com ana makine ve yol ön ekine sahip bir URL kalıbı kullanın /bar/*/baz:
      • https://example.com/bar/123/baz, URL kalıbıyla geçerli bir eşleşmedir.
      • https://example.com/bar/123/baz/456/789, URL kalıbı için geçerli bir eşleşmedir.
      • Yol önekindeki joker karakter /123/456/ ile eşleşmediğinden https://example.com/bar/123/456/baz URL kalıbı için geçerli bir eşleşme değil.

Geliştirme süreci

classroom-link-upgrade-external@google.com adresine e-posta göndererek test veya üretim eklentinizin Bağlantı Yükseltme iFrame URL'sini ve URL kalıplarını gönderin.

Bir Classroom eklentisini temsil eden tüm Google Cloud projeleri için yapılandırmalar sağlayabilirsiniz. Canlı kullanıcıları etkilemeden bir demo alanında geliştirme ve test yapabilmek için önce gizli görünürlüğe sahip bir eklentinin yapılandırmaları sağlamanızı öneririz.

Yapılandırmalar etkinleştirildiğinde e-postanıza yanıt gönderilir. localhost kullanan URL kalıplarının bu özellik için desteklenmediğini unutmayın.

E-postayı aşağıdakileri içerecek şekilde biçimlendirin:

Google Cloud Project number: GCP_PROJECT_NUMBER

Link Upgrade iframe URL: LINK_UPGRADE_IFRAME_URL

URL Patterns:
-   Host:HOST_1
-   Path prefixes:
  -   PATH_PREFIX_1
  -   PATH_PREFIX_2

-   Host:HOST_2
-   Path prefixes:
  -   PATH_PREFIX_3
  -   PATH_PREFIX_4

// add more hosts and path prefixes as needed

Aşağıdakini değiştirin:

  • GCP_PROJECT_NUMBER: Eklentinin ilişkili olduğu Google Cloud projesinin numarası.
  • LINK_UPGRADE_IFRAME_URL: Bağlantı Yükseltme iframe'inde açılması gereken URL.
  • HOST_1: Classroom'un algılaması gereken bir ana makine. Yalnızca https şeması desteklenir.
  • PATH_PREFIX_1 ve PATH_PREFIX_2: Classroom'un algılaması ve yükseltmeyi denemesi gereken, HOST_1 ile ilişkili yol ön ekleri.
  • HOST_2: Classroom'un algılaması gereken bir ana makine. Yalnızca https şeması desteklenir.
  • PATH_PREFIX_3 ve PATH_PREFIX_4: Classroom'un algılaması ve yükseltmeyi denemesi gereken, HOST_2 ile ilişkili yol ön ekleri.

Aşağıda, bu özelliği uygularken dikkate alabileceğiniz öneriler verilmiştir.

Öğretmenlerin ek iş yükünden kaçınması

Gerekirse oturum açmayı kolaylaştırmak veya bir yükleme göstergesi görüntülemek için iFrame kullanmanızı önemle tavsiye ederiz. En iyi kullanıcı deneyimi için, öğretmenden yapıştırılan bağlantıyı eklenti eki olarak yükseltmeyi kabul ettikten sonra başka bilgi istenmemelidir. Ancak bu, eklentiniz için mümkün değilse ihtiyacınız olan ek bilgileri toplamak için Bağlantı Yükseltme iFrame'sini kullanabilirsiniz. iFrame, bağlantının yükseltilmesinin mümkün olmadığı veya bir hata oluşması durumunda öğretmeni bilgilendirmek için de kullanılabilir.

Kullanıcı dostu erişim hata mesajları ekleyin

Öğretmenler erişimi olmayan bir bağlantıyı yapıştırıp yükseltirse iframe'de kullanıcı dostu bir hata mesajı göstererek öğretmenlerin sorundan haberdar olmasını sağlayın. İçeriği görüntülemek için öğretmene uygun izinleri vermek amacıyla da iframe kullanılabilir.