Files
quicproquo/proto/qpq/v1/device.proto
Christian Nennemann f57dda3f36 feat(sdk): add Swift and Kotlin mobile client foundations with push token proto
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.
2026-03-04 20:58:23 +01:00

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;
}