サブスクリプションは、デバイス、アセット、またはプレイリストに変更が加えられたときに通知を受け取ることができるクエリタイプです。
例えば、アセットやプレイリストの変更など、デバイスに加えられた変更について通知を受け取りたい場合があります。これは、GraphQL内で完全に実行できます。クエリを使用してデバイスに関する情報を見つけ、サブスクリプションを設定し、ミューテーションを使用してデバイス属性を変更します。
1. サブスクリプションの設定
subscription subscribe($_id:String,$type:OBJECT_TYPES){
subscribe(_id:$_id,type:$type){
_id,
mutation,
teamId
type
}
}
変数
{"_id":"",
"type": ""
}
サブスクリプションクエリに存在する要素に注意してください。これらは監視する要素であり、ミューテーションによって変更されたときに返されます。
サブスクリプションが正しく入力されると、GraphQL UIの右側に以下が表示されます:
これは、サブスクリプションがアクティブである限り、アイテムへの変更を報告することを意味します。
2. サブスクリプションのテスト
ここでは、選択したデバイスの名前とプレイリストを変更するミューテーションスクリプトがあります。
mutation updateDevice($_id: String!,$payload: UpdateDeviceInput!, $teamId: String){
updateDevice(_id:$_id,payload:$payload,teamId:$teamId){
_id,
deviceName,
UUID,
pairingCode,
currentType,
currentAssetId,
currentPlaylistId,
path,
localAppVersion
}
}
変数
{"_id": "",
"payload": {"deviceName": "",
"currentType": "",
"currentAssetId": "",
"currentPlaylistId": "",
"orientation": "LANDSCAPE"
}
}
このミューテーションを実行すると、サブスクリプションがリッスンしている場所に切り替えて、以下を確認できます:
前の記事 - エラー処理
次の記事 - APIリファレンス