Bagikan melalui


Mengelola Login

[Fitur yang terkait dengan halaman ini, Pemutar Media Windows SDK, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer. MediaPlayer telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer alih-alih Pemutar Media Windows SDK, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Pemutar Media Windows mendukung berbagai metode bagi pengguna untuk masuk ke toko online tipe 1. Pemutar menyediakan kotak dialog masuk standar, tetapi toko online dapat menyediakan halaman web yang berfungsi sebagai alternatif untuk kotak dialog standar.

Pengguna dapat memulai upaya masuk dengan berinteraksi dengan antarmuka pengguna Pemutar Media Windows atau dengan berinteraksi dengan halaman penemuan yang disediakan oleh toko online. Jika pengguna memulai upaya masuk dengan berinteraksi dengan halaman penemuan, skrip di halaman penemuan memanggil metode External.attemptLogin .

Status masuk pengguna dikelola oleh toko online. Ketika status masuk pengguna berubah, atau jika upaya masuk gagal, plug-in toko online memberi tahu Pemutar Media Windows dengan memanggil IWMPContentPartnerCallback::Notify, melewati wmpcnLoginStateChange dalam parameter jenis. Pemutar meneruskan pemberitahuan ke halaman penemuan dengan menaikkan peristiwa External.OnLoginChange .

Panggilan ke OnLoginChange tidak selalu berarti bahwa status masuk pengguna berubah; itu bisa berarti bahwa upaya untuk masuk gagal. Untuk menentukan status masuk pengguna, penanganan aktivitas OnLoginChange dapat memeriksa properti External.userLoggedIn .

Bagian berikut menjelaskan proses masuk standar, proses masuk alternatif, dan proses keluar.

Masuk Standar

Proses masuk standar melibatkan langkah-langkah berikut:

  1. Pengguna memulai upaya masuk dengan berinteraksi dengan antarmuka pengguna Pemutar Media Windows atau dengan berinteraksi dengan halaman penemuan.
  2. Pemutar Media Windows menampilkan kotak dialog yang meminta nama pengguna dan kata sandi kepada pengguna.
  3. Saat pengguna mengklik tombol Masuk dalam kotak dialog, Pemutar Media Windows memanggil IWMPContentPartner::Login, yang diimplementasikan oleh plug-in toko online.
  4. Plug-in berkomunikasi dengan toko online dan berhasil atau gagal masuk ke pengguna.
  5. Jika upaya masuk berhasil, plug-in memberi tahu Pemutar Media Windows dengan memanggil IWMPContentPartnerCallback::Notify, meneruskan VARIANT_TRUE di anggota boolVal dari parameter pContext. Jika upaya masuk gagal, plug-in akan memberi tahu Pemutar Media Windows dengan memanggil IWMPContentPartnerCallback::Notify, meneruskan nilai 32-bit di anggota ulVal parameter pContext. Pemutar kemudian meneruskan nilai 32-bit tersebut ke IWMPContentPartner::GetItemInfo untuk mendapatkan URL halaman web yang dapat menangani kegagalan.

Login Alternatif

Jika bendera SUBSCRIPTION_CAP_ALTLOGIN diatur dalam entri registri Kemampuan untuk plug-in toko online, Pemutar Media Windows tidak menggunakan kotak dialog masuk standar. Sebagai gantinya, Pemutar Media Windows memanggil IWMPContentPartner::GetItemInfo untuk mengambil URL halaman web yang melakukan proses masuk. Untuk informasi selengkapnya tentang entri registri Kemampuan , lihat Kunci dan Entri Registri untuk Toko Online Tipe 1.

Pemutar memanggil GetItemInfo dua kali: setelah melewati g_szItemInfo_ALTLoginURL untuk mengambil URL halaman web masuk dan setelah melewati g_szItemInfo_ALTLoginCaption untuk mengambil keterangan untuk jendela yang menghosting halaman web. Saat GetItemInfo mengembalikan URL halaman web masuk, getItemInfo dapat menentukan ukuran jendela masuk dengan menambahkan string parameter berikut ke URL:

? DlgX=width&DlgY=height

Dalam string parameter, lebar dan tinggi adalah lebar dan tinggi jendela dalam piksel. Misalnya GetItemInfo dapat mengembalikan string berikut untuk menentukan bahwa AltLogin.htm harus ditampilkan di jendela yang memiliki lebar 800 piksel dan tinggi 400 piksel

https://proseware.com/AltLogin.htm?DlgX=800&DlgY=400

Proses masuk alternatif melibatkan langkah-langkah berikut:

  1. Pengguna memulai upaya masuk dengan berinteraksi dengan antarmuka pengguna Pemutar Media Windows atau dengan berinteraksi dengan halaman penemuan.
  2. Pemutar Media Windows membuka jendela modal yang menampilkan halaman web masuk yang disediakan oleh toko online.
  3. Halaman web berkomunikasi dengan toko online dan berhasil atau gagal masuk ke pengguna.
  4. Jika upaya masuk berhasil, halaman web akan memberi tahu plug-in toko online dengan memanggil External.sendMessage, yang menghasilkan panggilan ke IWMPContentPartner::SendMessage. Plug-in toko online menentukan bahwa upaya masuk berhasil dengan memeriksa parameter yang diteruskan ke IWMPContentPartner::SendMessage. Parameter tersebut tidak ditafsirkan oleh Pemutar Media Windows; parameter tersebut hanya memiliki arti untuk toko online. Plug-in memanggil IWMPContentPartnerCallback::Notify, meneruskan VARIANT_TRUE di anggota boolVal dari parameter pContext. Jika proses masuk gagal, toko online harus menentukan cara membantu pengguna. Salah satu kemungkinannya adalah menampilkan halaman web baru di jendela modal yang menghosting halaman web masuk alternatif.

Keluar

Proses keluar melibatkan langkah-langkah berikut.

  1. Pengguna memulai upaya keluar dengan berinteraksi dengan antarmuka pengguna Pemutar Media Windows atau dengan berinteraksi dengan halaman penemuan.
  2. panggilan Pemutar Media WindowsIWMPContentPartner::Logout, yang diimplementasikan oleh plug-in toko online.
  3. Plug-in berkomunikasi dengan toko online dan berhasil atau gagal mengeluarkan pengguna.
  4. Jika upaya keluar berhasil, plug-in memberi tahu Pemutar Media Windows dengan memanggil IWMPContentPartnerCallback::Notify, meneruskan VARIANT_FALSE di anggota boolVal dari parameter pContext.

Ketika upaya untuk masuk atau keluar berhasil, plug-in toko online memanggil IWMPContentPartnerCallback::Notify, meneruskan wmpcnLoginStateChange dalam parameter jenis . Plug-in menggunakan parameter pContext untuk menentukan status masuk pengguna saat ini. Jika plug-in mengatur pContext-boolVal> ke VARIANT_TRUE, pengguna akan masuk. Jika plug-in mengatur pContext-boolVal> ke VARIANT_FALSE, pengguna akan keluar. Perhatikan bahwa pContext tidak menunjukkan keberhasilan atau kegagalan upaya; melainkan, ini menunjukkan status masuk pengguna saat ini.

External.attemptLogin

Kejadian External.OnLoginChange

External.userLoggedIn

IWMPContentPartner::Login

IWMPContentPartner::Logout

Panduan Pemrograman untuk Toko Online Tipe 1