Öğretmenlerin Classroom'a üçüncü taraf içeriği ekleme yollarından biri, bir bağlantıyı ödev oluşturma sayfasına Bağlantı eki olarak yapıştırmaktır. Öğretmenlerin zaten bildiklerinden daha fazla bilgi edinmek için eklentinizi, öğretmenlerin Bağlantı ekini eklenti ekine yükseltmesine izin verecek şekilde yapılandırabilirsiniz.
Genel bakış
Eklentinizi bu özellikle yapılandırırsanız öğretmenlerden, ödev oluşturma sayfasında bir Bağlantı eki yapıştırdıklarında eklenti eklerinin bağlantısını yükseltmeleri istenir. Öğretmenlerden bunu yapmaları yalnızca eklenti zaten yüklüyse istenir.
Öğretmen, bağlantıyı eklenti ekine yükseltmeyi kabul ettiğinde aşağıdaki sorgu parametreleriyle Bağlantı Yükseltme iframe'i başlatılır:
courseId
itemId
itemType
addOnToken
urlToUpgrade
login_hint
(yalnızca kullanıcı, uygulamanızı önceden yetkilendirdiyse)
İlk dört sorgu parametresi, Ek Discovery iframe'inde başlatılan sorgu parametrelerini yansıtır. urlToUpgrade
sorgu parametresi yenidir ve eklenti ekinin nasıl oluşturulması gerektiğini değerlendirmenize yardımcı olabilir. Ardından, kullanıcının oturum açıp açmadığı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. Öğretmene eklenti ekinin oluşturulmakta olduğunu belirtmek için iFrame'in içinde bir yükleme ekranı görüntüleyebilirsiniz.
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, özellikle ilgili bazı önemli teknik ayrıntılar vurgulanmaktadır.
urlToUpgrade
sorgu parametresini okuyun
urlToUpgrade
sorgu parametresi, Link Upgrade iframe'inde geçirildiğinde URI olarak kodlanır. URL'yi orijinal biçiminde almak için URL'nin kodunu çözmeniz gerekir. Örneğin, JavaScript kullanıyorsanız bunun için decodeURIComponent()
işlevini kullanabilirsiniz.
Link Yükseltme iframe'ini kapat
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 ayrıntı için iframe uygulama ayrıntıları sayfasına bakın.
Yapılandırma ayrıntıları
Bu özelliğin eklentinize entegre edilmesi için aşağıdaki yapılandırmalar gerekir:
Bağlantı Yükseltme iframe'i URL'si: Bu, öğretmen yeni sürüme geçmeyi 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 eki sağlamazsanız ana makineyle eşleşen tüm URL'ler yeni sürüme geçirilebilir.
- Yalnızca
https
şemasına sahip URL'ler yeni sürüme geçirilebilir. - URL kalıplarında
localhost
bulunmamalıdır. - Yol önekleri, sorgu parametreleri veya URL parçaları içermemelidir.
- Yol önekleri şu anda joker karakterleri destekleyebilir ancak ana makineler aşağıdaki işlemleri yapamaz:
-
example.com
geçerli bir ana makinedir ve/foo
ile/bar/*/baz
geçerli yol ön ekleridir. -
example.*.host.com
, geçerli bir ana makine değil.
-
- Yol ön eki bileşenleri arasındaki joker karakter kullanımı, 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ı için 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ğindenhttps://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 eklentinize ait 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 bir yanıt alırsınız. localhost
kullanan URL kalıplarının bu özellik için desteklenmediğini unutmayın.
E-postayı aşağıdaki gibi 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: Yükseltme Bağlantı 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ılayıp 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ılayıp yükseltmeyi denemesi gereken
HOST_2
ile ilişkili yol ön ekleri.
Önerilen kullanıcı deneyimi
Aşağıda, bu özelliği uygularken göz önünde bulundurulması gereken öneriler verilmiştir.
Öğretmenlerin ek iş yükünden kaçınma
Gerekirse oturum açmayı kolaylaştırmak veya bir yükleme göstergesi görüntülemek için iframe'i kullanmanızı kesinlikle öneririz. 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, eklentiniz için bu mümkün değilse ihtiyacınız olan ek bilgileri toplamak için Link Yükseltme iframe'ini 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şimle ilgili hata mesajlarını dahil et
Öğretmenler, erişimleri olmayan bir bağlantıyı yapıştırır ve yeni sürüme geçirirse öğretmenlerin sorundan haberdar olması için iframe'de kullanıcı dostu bir hata mesajı görüntüleyin. iframe, öğretmene içeriğe erişim konusunda uygun izinleri vermek için de kullanılabilir.