Windows'da Uygulama Eylemleri için eylem tanımı JSON şeması

Bu makalede, Windows'da Uygulama Eylemleri için eylem tanımı JSON dosya biçiminin biçimi açıklanmaktadır. Bu dosya, Derleme Eylemi "İçerik" ve Çıkış Dizinine Kopyala ayarı "Daha yeniyse kopyala" olarak ayarlanmış şekilde projenize eklenmelidir. Paket bildirimi XML dosyanızdaki JSON dosyasının paket göreli yolunu belirtin. Daha fazla bilgi için bkz . Eylem sağlayıcısı paket bildirimi XML biçimi.

Örnek eylem tanımı JSON dosyası

"version": 3, 
  "actions": [ 
    { 
      "id": "Contoso.SampleGreeting", 
      "description": "Send greeting with Contoso", 
      "icon": "ms-resource//...",
      "displaysUI": false, 
      "usesGenerativeAI": false,
      "isAvailable": false,
      "allowedAppInvokers": ["*"],
      "inputs": [ 
        { 
          "name": "UserFriendlyName", 
          "kind": "Text" 
        }, 
        { 
          "name": "PetName", 
          "kind": "Text", 
          "required": false 
        } 
      ], 
      "inputCombinations": [ 
        { 
          "inputs": ["UserFriendlyName"], 
          "description": "Greet ${UserFriendlyName.Text}" 
        }, 
        { 
          "inputs": ["UserFriendlyName", "PetName"], 
          "description": "Greet ${UserFriendlyName.Text} and their pet ${PetName.Text}" 
        } 
      ], 
      "contentAgeRating": "child",  
      "invocation": 
      {
        { 
          "type": "Uri", 
          "uri": "contoso://greetUser?userName=${UserFriendlyName.Text}&petName=${PetName.Text}", 
        }, 
        "where": [ 
          "${UserFriendlyName.Length > 3}" 
        ] 
      } 
    }, 
    { 
      "id": "Contoso.SampleGetText", 
      "description": "Summarize file with Contoso", 
      "icon": "ms-resource://...", 
      "inputs": [ 
        { 
          "name": "FileToSummarize", 
          "kind": "File" 
        } 
      ], 
      "inputCombinations": [ 
        { 
          "inputs": ["FileToSummarize"], 
          "description": "Summarize ${FileToSummarize.Path}" 
        }, 
      ], 
      "outputs": [ 
        { 
          "name": "Summary", 
          "kind": "Text" 
        } 
      ],
      "contentAgeRating": "child", 
      "invocation": { 
        "type": "COM", 
        "clsid": "{...}" 
      } 
    } 
  ] 
} 

Eylem tanımı JSON özellikleri

Aşağıdaki tablolarda eylem tanımı JSON dosyasının özellikleri açıklanmaktadır.

Sürüm alanı, özelliğin tanıtıldığı şema sürümünü gösterir.

PWA alanı, Aşamalı Web Uygulaması (PWA) olarak uygulanan eylem sağlayıcılarının desteğini gösterir. PWA'larla uygulama eylemleri hakkında daha fazla bilgi için bkz. PWA için Windows'ta Uygulama Eylemlerini Etkinleştirme.

Belge kök dizini

Mülkiyet Türü Açıklama Gerekli Sürüm
Sürüm String Şema sürümü. Yeni işlevler eklendiğinde sürüm bir artar. Evet. 2
eylemler Eylem[] Uygulama tarafından sağlanan eylemleri tanımlar. Evet. 2

Eylem

Mülkiyet Türü Açıklama Gerekli Sürüm PWA
kimlik String Eylem tanımlayıcısı. Uygulama paketi başına benzersiz olmalıdır. Bu değer yerelleştirilebilir değil. Evet 2 Evet
Açıklama String Bu eylem için kullanıcıya yönelik açıklama. Bu değer yerelleştirilebilir. Evet 2 Evet
ikon String Eylem için yerelleştirilebilir simge. Bu değer, uygulamayla dağıtılan bir simgenin ms-resource dizesidir. Hayı 2 Evet
allowedAppInvokers dize[] GetActionsForInputs veya GetAllActions çağrısı aracılığıyla eylemi bulabilen Uygulama Kullanıcı Modeli Kimliklerinin (AppUserModelIDs) listesini belirtir. Joker karakterler desteklenir. "*" tüm AppUserModelID'lerle eşleşir. Bu, bir eylemi çağırabilecek arayanları sınırlamak için belirli bir neden olmadığı sürece çoğu eylem için önerilir. allowedAppInvokers atlanırsa veya boş bir listeyse, hiçbir uygulama eylemi keşfedemez. AppUserModelID'ler hakkında daha fazla bilgi için bkz. Uygulama Kullanıcı Modeli Kimlikleri. Hayı 3 Evet
displaysUI Boolean (Boole Mantığı) Eylemin kullanıcı arabirimini görüntüleyip görüntüleyemeyeceğini belirtir. Varsayılan değer true değeridir. Hayı 2 Evet
usesGenerativeAI Boolean (Boole Mantığı) Eylemin üretken yapay zeka kullanıp kullanmadığını belirtir. Varsayılan değer yanlıştır. Hayı 2 Evet
mevcut mu? Boolean (Boole Mantığı) Eylemin yükleme sırasında kullanılabilir olup olmadığını belirtir. Varsayılan değer true değeridir. Evet 2 Evet
Girişler Girişler[] Bu eylemin giriş olarak kabul edildiği varlıkların listesi. Evet 2 Evet
girdiKombinasyonları GirdiKombinasyonu[] Farklı giriş bileşimleri için açıklamalar sağlar. Evet 2 Evet
Çıktılar Çıkış[] Belirtilirse, geçerli sürümde boş bir dize olmalıdır. Hayı 2 Evet
Dua Çağrı Eylemin nasıl çağrıldığı hakkında bilgi sağlar. Evet 2 Evet
içerik yaş derecelendirmesi String UserAgeConsentGroup'tan eylem için uygun yaş derecelendirmesini belirten bir alan adı. İzin verilen değerler "Child", "Minor", "Adult" değerleridir. Değer belirtilmezse, varsayılan davranış tüm yaşlara erişime izin verir. Hayı 2 Evet

Çıktı

Mülkiyet Türü Açıklama Gerekli Sürüm PWA
isim String Varlığın değişken adı. Bu değer yerelleştirilebilir değil. Evet 2 Evet
tür String Varlık türünü belirten ActionEntityKind numaralandırmasından bir alan adı. Bu değer yerelleştirilebilir değil. İzin verilen değerler şunlardır: "None", "Document", "File", "Photo", "Text", "StreamingText", "RemoteFile", "Table", "Contact". Evet 2 Evet

Şema sürümü ve PWA desteği , tür özelliğinin farklı değerleri için farklılık gösterir. Ayrıntılar için her varlık türünün girdisine bakın.

GirdiKombinasyonu

Mülkiyet Türü Açıklama Gerekli Sürüm PWA
Girişler dize[] Eylem çağrısı için Giriş adlarının listesi. Liste boş olabilir. Evet 2 Evet
Açıklama String Eylem çağrısının açıklaması. Bu değer yerelleştirilebilir. Hayı 2 Evet
nerede dize[] Eylemin geçerli olduğu koşulları belirleyen bir veya daha fazla koşullu deyim. Hayı 2 Evet

Çağrı

Mülkiyet Türü Açıklama Gerekli Sürüm PWA
tür String Eylemin örnekleme türü. İzin verilen değerler "uri" ve "com" değerleridir. Evet 2 Yalnızca "uri".
URI String Eylemi başlatmak için mutlak URI. Varlık kullanımı dizeye dahil edilebilir. Eylemlerin Eylem token=${$.Token} Çalışma Zamanı tarafından çağrıldıklarını doğrulamalarına izin vermek için URI'ye özel bir ayrılmış sorgu dizesi parametresi eklenebilir. Daha fazla bilgi için bkz $.Token URI sorgu dizesi parametresi kullanma. Evet, URI ile başlatılan eylemler için. 2 Evet
clsid String IActionProvider uygulayan COM sınıfının sınıf kimliği. Evet, COM eylemleri için. 2 Hayı
girdiVerisi JSON adı/değer çiftleri URI eylemleri için ek veriler belirten ad/değer çiftlerinin listesi. Hayır. Yalnızca URI eylemleri için geçerlidir. 2 Evet

ActionEntityKind numaralandırması

ActionEntityKind numaralandırması, Windows'da Uygulama Eylemleri tarafından desteklenen varlık türlerini belirtir. JSON eylem tanımı bağlamında, varlık türleri büyük/küçük harfe duyarlı dize değişmez değerleridir.

Varlık türü dizesi Açıklama Sürüm PWA
"Dosya" Fotoğraf veya belge varlık türleri tarafından desteklenmeyen tüm dosya türlerini içerir. 2 Yalnızca giriş.
"Fotoğraf" Görüntü dosyası türleri. Desteklenen görüntü dosyası uzantıları şunlardır: ".jpg", ".jpeg", ".png" 2 Yalnızca giriş.
Belge Belge dosyası türleri. Desteklenen belge dosyası uzantıları şunlardır: ".doc", ".docx", " ".pdf", ".txt" 2 Yalnızca giriş.
Metin Metin dizelerini destekler. 2 Yalnızca giriş.
"StreamingText" Kademeli olarak aktarılmış metinleri destekler. 2 Yanlış
UzaktanDosya Eylemlerin bir bulut hizmetinden yedekleme dosyalarını doğrulamasını ve almasını sağlamak için meta verileri destekler. 2 Yalnızca giriş.
"Tablo" 1 boyutlu bir dize dizisine serileştirilmiş 2B dize değerleri tablosu. 3 Hayır.
"Kişi" Kişiyi temsil eden bir veri kümesi. 3 Yalnızca giriş.

Varlık özellikleri

Her varlık türü, varlık için örnek verileri sağlayan bir veya daha fazla özelliği destekler. Varlık özelliği adları büyük/küçük harfe duyarlıdır.

Aşağıdaki örnek, URI etkinleştirmesi yoluyla başlatılan eylemler için sorgu dizesinde varlıklara nasıl başvurulduğunu gösterir:

...?param1=${entityName.property1}&param2=${entityName.property2}

JSON eylem tanımında koşullu bölümler oluşturmak üzere varlık özelliklerini kullanma hakkında bilgi için bkz Where clauses.

Dosya varlığı özellikleri

Mülkiyet Türü Açıklama Sürüm PWA
Dosya Adı String Dosyanın adı. 2 Yalnızca giriş.
Yol String Dosyanın yolu. 2 Yalnızca giriş.
"Uzantı" String Dosyanın uzantısı. 2 Yalnızca giriş.

Belge varlığı özellikleri

Belge varlığı, Dosya ile aynı özellikleri destekler.

Fotoğraf öğesi özellikleri

Fotoğraf varlığı, aşağıdaki özelliklere ek olarak Dosya'nın tüm özelliklerini destekler.

Mülkiyet Türü Açıklama Sürüm PWA
GeçiciYolMu Boolean (Boole Mantığı) Fotoğrafın geçici bir yolda depolanıp depolanmadığını belirten değer. Örneğin, bu özellik bir bit eşlemden bellekte depolanan fotoğraflar için geçerlidir, bir dosyada kalıcı olarak depolanmaz. 2 Yalnızca giriş.

Metin nesnesi özellikleri

Mülkiyet Türü Açıklama Sürüm PWA
Metin String Tam metin. 2 Yalnızca giriş.
"Kısa Metin" String Metnin kısaltılmış bir sürümü, kullanıcı arabirimi görüntüleme için uygundur. 2 Yalnızca giriş.
"Başlık" String Metnin başlığı. 2 Yalnızca giriş.
"Açıklama" String Metnin açıklaması. 2 Yalnızca giriş.
"Uzunluk" iki katı Metnin karakter cinsinden uzunluğu. 2 Yalnızca giriş.
Kelime Sayısı iki katı Metindeki sözcük sayısı. 2 Yalnızca giriş.

StreamingText varlık özellikleri

Mülkiyet Türü Açıklama Sürüm PWA
"TextFormat" String Akış metninin biçimi. Desteklenen değerler "Düz", "Markdown" şeklindedir. 2 Hayı

RemoteFile varlık özellikleri

Mülkiyet Türü Açıklama Sürüm PWA
"AccountId" String Uzak dosyayla ilişkili bulut hizmeti hesabının tanımlayıcısı. 2 Yalnızca giriş.
İçerikTürü String Uzak dosyanın MIME türü. 2 Yalnızca giriş.
"DriveId" String Uzak dosyayla ilişkilendirilmiş uzak sürücünün tanımlayıcısı. 2 Yalnızca giriş.
"Uzantı" String Uzak dosyanın uzantısı. 2 Yalnızca giriş.
Dosya Kimliği String Uzak dosyanın tanımlayıcısı. 2 Yalnızca giriş.
"FileKind" RemoteFileKind Uzak dosya türü. 2 Yalnızca giriş.
KaynakId String Uzak dosyayı barındıran bulut hizmetinin tanımlayıcısı. 2 Yalnızca giriş.
"SourceUri" String Uzak dosyanın URI'sini. 2 Yalnızca giriş.

RemoteFileKind numaralandırması

RemoteFileKind numaralandırması, RemoteFile varlığı için desteklenen dosya türlerini belirtir.

Varlık türü dizesi Açıklama Sürüm
"Dosya" Fotoğraf veya belge varlık türleri tarafından desteklenmeyen tüm dosya türlerini içerir. 2
"Fotoğraf" Görüntü dosyası türleri. Desteklenen görüntü dosyası uzantıları şunlardır: ".jpg", ".jpeg", ".png" 2
Belge Belge dosyası türleri. Desteklenen belge dosyası uzantıları şunlardır: ".doc", ".docx", " ".pdf", ".txt" 2

Tablo varlığı özellikleri

Mülkiyet Türü Açıklama Gerekli Sürüm PWA
"RowCount" tamsayı Tablodaki satır sayısı. Evet 3 Hayı
"ColumnCount" tamsayı Tablodaki sütun sayısı. Evet 3 Hayı
"Başlık" String Tablonun başlığı. Hayı 3 Hayı
"Açıklama" String Tablonun açıklaması. Hayı 3 Hayı

Kişi varlığı özellikleri

Mülkiyet Türü Açıklama Gerekli Sürüm PWA
"E-posta" String Kişinin e-posta adresi. Hayı 3 Yalnızca giriş.
"FullName" tamsayı Kişinin tam adı. Hayı 3 Yalnızca giriş.
"Başlık" String Kişinin başlığı. Hayı 3 Yalnızca giriş.
"Açıklama" String Kişinin açıklaması. Hayı 3 Yalnızca giriş.

Where koşul tümceleri

Eylem tanımı JSON biçimi, koşullu mantığı uygulamak için kullanılabilecek where yan tümcelerini destekler. Örneğin, bir eylemin yalnızca bir varlık özelliği belirtilen bir değere sahip olduğunda çağrılacağını belirtme.

Aşağıdaki işleçler where yan tümceleriyle kullanılabilir.

Operatör Açıklama
== Eşitlik
~= Büyük/küçük harfe duyarsız eşitlik
!= Eşitsizlik
< Daha az
<= Küçüktür ya da eşittir
> Daha büyük
>= Büyüktür veya eşittir
|| Mantıksal VEYA
&& Mantıksal VE

Where yan tümceleri aşağıdaki biçimi kullanır:

"where": [ 
    "${<property_accessor>} <operator> <value>" 
] 

Aşağıdaki örnek, bir Dosya varlığı ".txt" dosya uzantısına sahipse doğru değerine ulaşacak olan bir where yan tümcesi göstermektedir.

"where": [ 
    "${File.Extension} ~= \".txt\"" 
] 

Mantıksal AND ve mantıksal OR işleçleri kullanılarak birden çok where yan tümcesi birleştirilebilir.

"where": [ 
  "${File.Extension} ~= \".txt\" || ${File.Extension} ~= \".md\"" 
]