Need to configure your backend?See Build a Backend →
リアルタイムイベントの購読
リアルタイムクライアント作成のためのミューテーションを購読します:
ApiOperation subscription = Amplify.API.subscribe( ModelSubscription.onCreate(Todo.class), onEstablished -> Log.i("ApiQuickStart", "Subscription established"), onCreated -> Log.i("ApiQuickStart", "Todo create subscription received: " + ((Todo) onCreated.getData()).getName()), onFailure -> Log.e("ApiQuickStart", "Subscription failed", onFailure), () -> Log.i("ApiQuickStart", "Subscription completed"));
// 完了したら、サブスクリプションリスナーをキャンセルしますsubscription.cancel();val subscription = Amplify.API.subscribe( ModelSubscription.onCreate(Todo::class.java), { Log.i("ApiQuickStart", "Subscription established") }, { Log.i("ApiQuickStart", "Todo create subscription received: ${(it.data as Todo).name}") }, { Log.e("ApiQuickStart", "Subscription failed", it) }, { Log.i("ApiQuickStart", "Subscription completed") })
// 完了したら、サブスクリプションリスナーをキャンセルしますsubscription.cancel();val job = activityScope.launch { try { Amplify.API.subscribe(ModelSubscription.onCreate(Todo::class.java)) .catch { Log.e("ApiQuickStart", "Error on subscription", it) } .collect { Log.i("ApiQuickStart", "Todo created! ${it.data.name}") } } catch (notEstablished: ApiException) { Log.e("ApiQuickStart", "Subscription not established", it) }}
// サブスクリプション完了時job.cancel()RxSubscriptionOperation<? extends GraphQLResponse<?>> subscription = RxAmplify.API.subscribe(request);
subscription .observeConnectionState() .subscribe(connectionStateEvent -> Log.i("ApiQuickStart", String.valueOf(connectionStateEvent)));
subscription .observeSubscriptionData() .subscribe( data -> Log.i("ApiQuickStart", data), exception -> Log.e("ApiQuickStart", "Subscription failed.", exception), () -> Log.i("ApiQuickStart", "Subscription completed.") );
// 完了したら、サブスクリプションリスナーをキャンセルしますsubscription.cancel();