Я использую AWS AppSync для своего проекта. он отлично работает, когда данные передаются на сервер с использованием мутации. но у меня проблема с подпиской.
OnEventCreated onEventCreated = OnEventCreated.builder().build();
subscriptionWatcher = ClientFactory.getInstance(this).subscribe(onEventCreated); // giving error
Функция subscribe
принимает входные данные, которые реализуют подписку. но когда я создаю свой проект, сгенерированный код реализует Query.
Сгенерированный класс
@Generated("Apollo GraphQL")
public final class OnEventCreated implements Query<OnEventCreated.Data, OnEventCreated.Data, Operation.Variables> {
public static final String OPERATION_DEFINITION = "subscription OnEventCreated {\n"
+ " onEventCreated {\n"
+ " __typename\n"
+ " id\n"
+ " description\n"
+ " name\n"
+ " when\n"
+ " where\n"
+ " }\n"
+ "}";
public static final String QUERY_DOCUMENT = OPERATION_DEFINITION;
}...
конкретный код для подписки в файле GraphQL: ..
subscription OnEventCreated {
onEventCreated {
id
description
name
when
where
}
} ...
Файл Schema.json
type Subscription {
subscribeToEventComments(eventId: String!): Comment
@aws_subscribe(mutations: ["commentOnEvent"])
onEventCreated: Event
@aws_subscribe(mutations: ["createEvent"])
}...
Файлы сборки содержат...
compile 'com.amazonaws:aws-android-sdk-appsync:2.6.16'
compile 'com.amazonaws:aws-android-sdk-appsync-compiler:2.6.16'
compile 'com.amazonaws:aws-android-sdk-cognitoidentityprovider:2.6.16'
compile 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0'
compile 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'
что я могу сделать для этого. когда я создаю, сгенерированный класс OnEventCreated реализует интерфейс подписки вместо интерфейса запроса