警告
警告:此仓库已弃用,并已迁移到 monorepo。仓库将保持可用以支持旧版本的库,但任何新的更新必须在 monorepo 上完成。
监听 PostgreSQL 数据库和通过 websockets 的更改。
用于 Supabase Realtime 服务器的 Swift 客户端。
您可以设置一个连接,在整个应用程序中使用。
import Realtime
var client = RealtimeClient(endPoint: "https://yourcompany.supabase.co/realtime/v1", params: ["apikey": "public-anon-key"])
client.connect()
Socket 钩子
client.onOpen {
print("Socket opened.")
}
client.onError { error in
print("Socket error: ", error.localizedDescription)
}
client.onClose {
print("Socket closed")
}
断开 socket 连接
在 socket 上调用 disconnect()
client.disconnect()
您可以订阅所有主题,或特定模式部分。
let allChanges = client.channel(.all)
allChanges.on(.all) { message in
print(message)
}
allChanges.subscribe()
// ...
allChanges.unsubscribe()
allChanges.off(.all)
let allPublicInsertChanges = client.channel(.schema("public"))
allPublicInsertChanges.on(.insert) { message in
print(message)
}
allPublicInsertChanges.subscribe()
// ...
allPublicInsertChanges.unsubscribe()
allPublicInsertChanges.off(.insert)
let allUsersUpdateChanges = client.channel(.table("users", schema: "public"))
allUsersUpdateChanges.on(.update) { message in
print(message)
}
allUsersUpdateChanges.subscribe()
// ...
allUsersUpdateChanges.unsubscribe()
allUsersUpdateChanges.off(.update)
let allUserId99Changes = client.channel(.column("id", value: "99", table: "users", schema: "public"))
allUserId99Changes.on(.all){ message in
print(message)
}
allUserId99Changes.subscribe()
// ...
allUserId99Changes.unsubscribe()
allUserId99Changes.off(.all)
此仓库根据 MIT 许可获得许可。