İşlemler, uygulamanızın çağrı ve keşif modelini tanımlayan uygulamanızda bulunan giriş noktalarıdır. İşlemleri İşlem paketi olarak bilinen bir JSON dosyasında tanımlarsınız. Bu dosyayı, daha sonra Actions projenizi test etmek veya onay için göndermek istediğinizde geliştirici projenize yüklersiniz. Eylem paketi, Actions projenizdeki İşlemler'i tanımlayan bir JSON dosyasıdır.
İşlem paketinizde İşlemleri tanımlamak için İşlemin nasıl çağrıldığını ve amaç tetiklendiğinde ilgili istek karşılama uç noktasını tanımlayan bir niyet oluşturursunuz. Aşağıdaki İşlem türlerini oluşturabilirsiniz:
- Varsayılan İşlem: Her Actions projesinin, kullanıcıların görüşme başlatması için giriş noktası görevi gören bir karşılama amacı olmalıdır. Karşılama amacı, kullanıcılar bir işlemi açıkça söyleyerek bir işlemi çağırdığında tetiklenir (örneğin, "Ok Google, Ornekİşlem ile konuş"). Bu karşılama amacı,
actions.intent.MAIN
amaç adıyla tanımlanır. - Derin bağlantı için Ek İşlemler: İşlem paketinizde, kendi tanımladığınız niyetlerle ek işlemler oluşturabilirsiniz. Bu, kullanıcıların bir amaçla birlikte bir işlem adı söyleyerek belirli işlevleri çağırmalarına olanak tanır (örneğin: "Ok Google, ayakkabı bulmak için Örnekİşlem ile konuş").
Bu çağrı modellerinin işleyiş şekli hakkında daha fazla bilgi edinmek için Amaçlar ve çağrı bölümüne bakın.
Varsayılan İşlem tanımlama
Her İşlem paketinde, actions.intent.MAIN
amacını işleyen yalnızca bir tane amaç olmalıdır. Bu amaç, kullanıcılar İşleminizi ada göre çağırdığında (örneğin, "Ok Google, Ornekİşlem ile konuş") tetiklenir.
action.json
adlı bir ortak işlem paketi dosyası oluşturmak için aşağıdaki adımları uygulayın:
gactions
CLI dosyasını indirin.- İşlem projenizin kaynak dosyaları için yerel bir dizin oluşturun.
Terminalde aşağıdaki komutları çalıştırın:
$ cd PROJECT_DIRECTORY $ gactions init
İşlem paketi dosyası oluşturulduktan sonra yer tutucu içeriği kendi değerlerinizle değiştirin. ExampleAction
için değişiklikleri içeren bir action.json
örneği aşağıda verilmiştir:
{ "actions": [ { "description": "Default welcome intent", "name": "MAIN", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "actions.intent.MAIN", "trigger": { "queryPatterns": [ "talk to ExampleAction" ] } } } ], "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } }, "locale": "en" }
Ek İşlemler tanımlayın
Giriş noktası görevi gören ek işlemler sağlayabilirsiniz. Bu, kullanıcıların ne yapmak istedikleriyle ilgili daha fazla ayrıntı belirtmelerine izin vererek amaçlarını ayırt etmelerine olanak tanır (örneğin, "Ok Google, bana ayakkabı bulmak için Örnekİşlem ile konuşun.").
Ek İşlemler tanımlamak için:
-
Örneğin, aşağıdaki kod aşağıdakileri tanımlayan ek bir "satın alma" işlemini gösterir:actions
dizisinde her giriş noktası için bir İşlem belirtin.com.example.ExampleAction.BUY
amaç adı- Bu niyet tetiklendiğinde kullanıcı girişinden ayrıştırmak için
parameters
. Bu, kullanıcılar İşlemi çağırdığında İşlem ifadesinden belirli verilere ihtiyacınız olduğunda faydalıdır. queryPatterns
: Kullanıcıların niyeti tetiklemek için söylemeleri gerekenleri tanımlar. Sorgu kalıpları, ayrıştırılacak parametreleri tanımlayan Schema.org türlerini içerebilir.
{ "description": "Direct access", "name": "BUY", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "com.example.ExampleAction.BUY", "parameters": [ { "name": "color", "type": "org.schema.type.Color" } ], "trigger": { "queryPatterns": [ "find some $org.schema.type.Color:color sneakers", "buy some blue suede shoes", "get running shoes" ] } } }
-
conversations
nesnesindeki bir öğeye karşılık gelen birconversationName
belirterek bu amacın karşılanmasını belirtin.{ "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } } }
Aşağıda tam bir Action paketi örneği verilmiştir:
{ "actions": [ { "description": "Default welcome intent", "name": "MAIN", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "actions.intent.MAIN", "trigger": { "queryPatterns": [ "talk to ExampleAction" ] } } }, { "description": "Direct access", "name": "BUY", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "com.example.ExampleAction.BUY", "parameters": [ { "name": "color", "type": "org.schema.type.Color" } ], "trigger": { "queryPatterns": [ "find some $org.schema.type.Color:color sneakers", "buy some blue suede shoes", "get running shoes" ] } } } ], "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } }, "locale": "en" }