Bagikan melalui


Sematkan petak sekunder ke Mulai

Topik ini memandikan Anda melalui langkah-langkah untuk membuat petak peta sekunder untuk aplikasi Windows Anda dan menyematkannya ke menu Mulai.

Screenshot of secondary tiles

Untuk mempelajari selengkapnya tentang petak sekunder, silakan lihat Gambaran umum petak sekunder.

Menambahkan namespace layanan

Namespace Windows.UI.StartScreen menyertakan kelas SecondaryTile.

using Windows.UI.StartScreen;

Menginisialisasi petak sekunder

Petak sekunder terdiri dari beberapa komponen utama...

  • TileId: Pengidentifikasi unik yang memungkinkan Anda mengidentifikasi petak peta di antara petak peta sekunder Anda lainnya.
  • DisplayName: Nama yang ingin Anda tampilkan pada petak peta.
  • Argumen: Argumen yang ingin Anda teruskan kembali ke aplikasi Anda saat pengguna mengklik petak peta Anda.
  • Square150x150Logo: Logo yang diperlukan, ditampilkan pada petak peta ukuran sedang (dan mengubah ukuran menjadi petak peta ukuran kecil jika tidak ada logo kecil yang disediakan).

Anda HARUS menyediakan nilai yang diinisialisasi untuk semua properti di atas, atau Anda akan mendapatkan pengecualian.

Ada berbagai konstruktor yang dapat Anda gunakan, tetapi menggunakan konstruktor yang mengambil tileId, displayName, argumen, square150x150Logo, dan desiredSize membantu memastikan Anda mengatur semua properti yang diperlukan.

// Construct a unique tile ID, which you will need to use later for updating the tile
string tileId = "City" + zipCode;

// Use a display name you like
string displayName = cityName;

// Provide all the required info in arguments so that when user
// clicks your tile, you can navigate them to the correct content
string arguments = "action=viewCity&zipCode=" + zipCode;

// Initialize the tile with required arguments
SecondaryTile tile = new SecondaryTile(
    tileId,
    displayName,
    arguments,
    new Uri("ms-appx:///Assets/CityTiles/Square150x150Logo.png"),
    TileSize.Default);

Opsional: Menambahkan dukungan untuk ukuran petak peta yang lebih besar

Jika Anda akan menampilkan pemberitahuan petak peta yang kaya di petak peta sekunder, Anda mungkin ingin mengizinkan pengguna mengubah ukuran petak peta mereka menjadi lebar atau besar, sehingga mereka dapat melihat lebih banyak konten Anda.

Untuk mengaktifkan ukuran petak lebar dan besar, Anda perlu menyediakan Wide310x150Logo dan Square310x310Logo. Selain itu, jika memungkinkan, Anda harus menyediakan Square71x71Logo untuk ukuran petak peta kecil (jika tidak, kami akan menurunkan ukuran Square150x150Logo yang diperlukan untuk petak peta kecil).

Anda juga dapat menyediakan Square44x44Logo unik, yang secara opsional ditampilkan di sudut kanan bawah saat pemberitahuan ada. Jika Anda tidak menyediakannya, Square44x44Logo dari petak utama Anda akan digunakan sebagai gantinya.

// Enable wide and large tile sizes
tile.VisualElements.Wide310x150Logo = new Uri("ms-appx:///Assets/CityTiles/Wide310x150Logo.png");
tile.VisualElements.Square310x310Logo = new Uri("ms-appx:///Assets/CityTiles/Square310x310Logo.png");

// Add a small size logo for better looking small tile
tile.VisualElements.Square71x71Logo = new Uri("ms-appx:///Assets/CityTiles/Square71x71Logo.png");

// Add a unique corner logo for the secondary tile
tile.VisualElements.Square44x44Logo = new Uri("ms-appx:///Assets/CityTiles/Square44x44Logo.png");

Opsional: Aktifkan menampilkan nama tampilan

Secara default nama tampilan TIDAK akan ditampilkan. Untuk menampilkan nama tampilan pada sedang/lebar/besar, tambahkan kode berikut.

// Show the display name on all sizes
tile.VisualElements.ShowNameOnSquare150x150Logo = true;
tile.VisualElements.ShowNameOnWide310x150Logo = true;
tile.VisualElements.ShowNameOnSquare310x310Logo = true;

Opsional: Petak peta sekunder 3D

Anda dapat meningkatkan petak peta sekunder Untuk Windows Mixed Reality dengan menambahkan aset 3D. Pengguna dapat menempatkan petak peta 3D langsung di rumah Windows Mixed Reality mereka alih-alih menu Mulai saat menggunakan aplikasi Anda di lingkungan Mixed Reality. Misalnya, Anda dapat membuat fotofer 360° yang ditautkan langsung ke aplikasi penampil foto 360°, atau memungkinkan pengguna menempatkan model kursi 3D dari katalog furnitur yang membuka halaman detail tentang opsi harga dan warna untuk objek tersebut saat dipilih. Untuk memulai, lihat dokumentasi pengembang Mixed Reality.

Sematkan petak sekunder

Terakhir, minta untuk menyematkan petak peta. Perhatikan bahwa ini harus dipanggil dari utas UI. Di Desktop, dialog akan muncul meminta pengguna untuk mengonfirmasi apakah mereka ingin menyematkan petak peta.

Penting

Jika Anda adalah aplikasi desktop menggunakan Desktop Bridge, Anda harus terlebih dahulu melakukan langkah tambahan seperti yang dijelaskan dalam Sematkan dari aplikasi desktop

// Pin the tile
bool isPinned = await tile.RequestCreateAsync();

// TODO: Update UI to reflect whether user can now either unpin or pin

Periksa apakah ada petak sekunder

Jika pengguna Anda mengunjungi halaman di aplikasi yang telah mereka sematkan ke Mulai, Anda ingin menampilkan tombol "Batalkan pin".

Oleh karena itu, ketika memilih tombol apa yang akan ditampilkan, Anda perlu terlebih dahulu memeriksa apakah petak peta sekunder saat ini disematkan.

// Check if the secondary tile is pinned
bool isPinned = SecondaryTile.Exists(tileId);

// TODO: Update UI to reflect whether user can either unpin or pin

Melepas sekunder petak peta

Jika petak peta saat ini disematkan, dan pengguna mengklik tombol lepaskan pin, Anda akan ingin melepas sematan (menghapus) petak peta.

// Initialize a secondary tile with the same tile ID you want removed
SecondaryTile toBeDeleted = new SecondaryTile(tileId);

// And then unpin the tile
await toBeDeleted.RequestDeleteAsync();

Memperbarui petak sekunder

Jika Anda perlu memperbarui logo, nama tampilan, atau apa pun di petak sekunder, Anda dapat menggunakan RequestUpdateAsync.

// Initialize a secondary tile with the same tile ID you want to update
SecondaryTile tile = new SecondaryTile(tileId);

// Assign ALL properties, including ones you aren't changing

// And then update it
await tile.UpdateAsync();

Menghitung semua petak sekunder yang disematkan

Jika Anda perlu menemukan semua petak peta yang telah disematkan pengguna Anda, alih-alih menggunakan SecondaryTile.Exists, Anda dapat menggunakan SecondaryTile.FindAllAsync().

// Get all secondary tiles
var tiles = await SecondaryTile.FindAllAsync();

Mengirim pemberitahuan petak peta

Untuk mempelajari cara menampilkan konten kaya pada petak peta Anda melalui pemberitahuan petak peta, silakan lihat Mengirim pemberitahuan petak peta lokal.