Swift SDK: Swift Package wrapping libquicproquo_ffi with QpqClient class (connect, login, send, receive, disconnect) for iOS 15+ / macOS 13+. Kotlin SDK: JNI bridge to libquicproquo_ffi with QpqClient class for Android (aarch64, armv7) and JVM, Gradle build configuration. Adds RegisterPushToken RPC (method ID 710) to device.proto for APNs/FCM/WebPush device push token registration.
56 lines
1.1 KiB
Protocol Buffer
56 lines
1.1 KiB
Protocol Buffer
syntax = "proto3";
|
|
package qpq.v1;
|
|
|
|
// Device register/list/revoke (3 methods).
|
|
// Method IDs: 700-702.
|
|
|
|
message RegisterDeviceRequest {
|
|
bytes device_id = 1;
|
|
string device_name = 2;
|
|
}
|
|
|
|
message RegisterDeviceResponse {
|
|
bool success = 1;
|
|
}
|
|
|
|
message ListDevicesRequest {}
|
|
|
|
message ListDevicesResponse {
|
|
repeated Device devices = 1;
|
|
}
|
|
|
|
message Device {
|
|
bytes device_id = 1;
|
|
string device_name = 2;
|
|
uint64 registered_at = 3;
|
|
}
|
|
|
|
message RevokeDeviceRequest {
|
|
bytes device_id = 1;
|
|
}
|
|
|
|
message RevokeDeviceResponse {
|
|
bool success = 1;
|
|
}
|
|
|
|
// Push notification token registration.
|
|
// Method ID: 710.
|
|
// Clients call this after login to register their device for push notifications.
|
|
|
|
enum PushPlatform {
|
|
PUSH_PLATFORM_UNSPECIFIED = 0;
|
|
PUSH_PLATFORM_APNS = 1; // Apple Push Notification Service (iOS)
|
|
PUSH_PLATFORM_FCM = 2; // Firebase Cloud Messaging (Android)
|
|
PUSH_PLATFORM_WEB_PUSH = 3; // Web Push (browsers)
|
|
}
|
|
|
|
message RegisterPushTokenRequest {
|
|
bytes device_id = 1;
|
|
PushPlatform platform = 2;
|
|
string token = 3; // Platform-specific push token
|
|
}
|
|
|
|
message RegisterPushTokenResponse {
|
|
bool success = 1;
|
|
}
|