Berbagi Orang Saya

Penting

Orang-orang saya tidak lagi didukung di Windows 11.

Fitur Orang Saya memungkinkan pengguna menyematkan kontak ke taskbar mereka, memungkinkan mereka untuk tetap terhubung dengan mudah dari mana saja di Windows, apa pun aplikasi yang terhubung dengan mereka. Sekarang pengguna dapat berbagi konten dengan kontak yang disematkan dengan menyeret file dari File Explorer ke pin Orang Saya. Mereka juga dapat berbagi ke kontak apa pun di penyimpanan kontak Windows melalui pesona berbagi standar. Terus baca untuk mempelajari cara mengaktifkan aplikasi Anda sebagai target berbagi Orang Saya.

My people sharing panel

Persyaratan

Gambaran Umum

Ada tiga langkah yang harus Anda ambil untuk mengaktifkan aplikasi Anda sebagai target berbagi Orang Saya:

  1. Nyatakan dukungan untuk kontrak aktivasi shareTarget dalam manifes aplikasi Anda.
  2. Buat anotasi kontak yang dapat dibagikan pengguna menggunakan aplikasi Anda.
  3. Mendukung beberapa instans aplikasi yang berjalan secara bersamaan. Pengguna harus dapat berinteraksi dengan versi lengkap aplikasi Anda sambil juga menggunakannya untuk berbagi dengan orang lain. Mereka dapat menggunakannya di beberapa jendela berbagi sekaligus. Untuk mendukung hal ini, aplikasi Anda harus dapat menjalankan beberapa tampilan secara bersamaan. Untuk mempelajari cara melakukannya, lihat artikel "tampilkan beberapa tampilan untuk aplikasi".

Setelah Anda melakukan ini, aplikasi Anda akan muncul sebagai target berbagi di jendela berbagi Orang Saya, yang dapat diluncurkan dengan dua cara:

  1. Kontak dipilih melalui pesona berbagi.
  2. File diseret dan dijatuhkan pada kontak yang disematkan ke taskbar.

Mendeklarasikan dukungan untuk kontrak berbagi

Untuk mendeklarasikan dukungan untuk aplikasi Anda sebagai target berbagi, pertama-tama buka aplikasi Anda di Visual Studio. Dari Penjelajah Solusi, klik kanan Package.appxmanifest dan pilih Buka Dengan. Dari menu, pilih Editor XML (Teks) dan klik OK. Kemudian, buat perubahan berikut pada manifes:

Sebelum

<Applications>
	<Application Id="MyApp"
	  Executable="$targetnametoken$.exe"
	  EntryPoint="My.App">
	</Application>
</Applications>

Setelah

<Applications>
	<Application Id="MyApp"
	  Executable="$targetnametoken$.exe"
	  EntryPoint="My.App">
		<Extensions>
			<uap:Extension Category="windows.shareTarget">
				<uap:ShareTarget Description="Share with MyApp">
					<uap:SupportedFileTypes>
						<uap:SupportsAnyFileType/>
					</uap:SupportedFileTypes>
					<uap:DataFormat>Text</uap:DataFormat>
					<uap:DataFormat>Bitmap</uap:DataFormat>
					<uap:DataFormat>Html</uap:DataFormat>
					<uap:DataFormat>StorageItems</uap:DataFormat>
					<uap:DataFormat>URI</uap:DataFormat>
				</uap:ShareTarget>
			</uap:Extension>
		 </Extensions>
	</Application>
</Applications>

Kode ini menambahkan dukungan untuk semua file dan format data, tetapi Anda dapat memilih untuk menentukan jenis file dan format data apa yang didukung (lihat dokumentasi kelas ShareTarget untuk detail selengkapnya).

Menganotasi kontak

Untuk mengizinkan jendela berbagi Orang Saya menampilkan aplikasi Anda sebagai target berbagi untuk kontak Anda, Anda perlu menulisnya ke penyimpanan kontak Windows. Untuk mempelajari cara menulis kontak, lihat sampel Integrasi Kartu Kontak.

Agar aplikasi Anda muncul sebagai target berbagi Orang Saya saat berbagi ke kontak, aplikasi harus menulis anotasi ke kontak tersebut. Anotasi adalah potongan data dari aplikasi Anda yang terkait dengan kontak. Anotasi harus berisi kelas yang dapat diaktifkan yang sesuai dengan tampilan yang Anda inginkan di anggota ProviderProperties-nya , dan menyatakan dukungan untuk operasi Berbagi .

Anda dapat membuat anotasi kontak kapan saja saat aplikasi berjalan, tetapi umumnya Anda harus membuat anotasi kontak segera setelah ditambahkan ke penyimpanan kontak Windows.

if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 5))
{
	// Create a new contact annotation
	ContactAnnotation annotation = new ContactAnnotation();
	annotation.ContactId = myContact.Id;

	// Add appId and Share support to the annotation
	String appId = "MyApp_vqvv5s4y3scbg!App";
	annotation.ProviderProperties.Add("ContactShareAppID", appId);
	annotation.SupportedOperations = ContactAnnotationOperations::Share;

	// Save annotation to contact annotation list
	// Windows.ApplicationModel.Contacts.ContactAnnotationList 
	await contactAnnotationList.TrySaveAnnotationAsync(annotation);
}

"appId" adalah Nama Keluarga Paket, diikuti oleh '!' dan ID Kelas yang Dapat Diaktifkan. Untuk menemukan Nama Keluarga Paket Anda, buka Package.appxmanifest menggunakan editor default, dan lihat di tab "Kemasan". Di sini, "Aplikasi" adalah Kelas Yang Dapat Diaktifkan yang sesuai dengan tampilan Target Berbagi.

Berjalan sebagai target berbagi Orang Saya

Terakhir, untuk menjalankan aplikasi, ganti metode OnShareTargetActivated di kelas utama aplikasi Anda untuk menangani aktivasi target berbagi. Properti ShareTargetActivatedEventArgs.ShareOperation.Contacts akan berisi kontak yang dibagikan, atau akan kosong jika ini adalah operasi berbagi standar (bukan berbagi Orang Saya).

protected override void OnShareTargetActivated(ShareTargetActivatedEventArgs args)
{
	bool isPeopleShare = false;
	if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 5))
	{
		// Make sure the current OS version includes the My People feature before
		// accessing the ShareOperation.Contacts property
		isPeopleShare = (args.ShareOperation.Contacts.Count > 0);
	}

	if (isPeopleShare)
	{
  		// Show share UI for MyPeople contact(s)
	}
	else
	{
		// Show standard share UI for unpinned contacts
	}
}

Lihat juga