Handhabung der Paginierung
Product deprecation notice
Effective April 30th, 2026, Vonage In-App Messaging will no longer be available. Access for new users will be closed, and the service will be discontinued for all existing users.
If you have any questions regarding this product’s discontinuation, please contact your account manager or our support team.
Dieser Leitfaden behandelt das Laden und Anzeigen von Teilen von Konversationsereignissen auf einmal.
HINWEIS: Eine Schritt-für-Schritt-Anleitung zur Erstellung einer Chat-Anwendung ist verfügbar hier.
Wenn Sie bereits Mitglied eines Gesprächs sind, können Sie Teile (Seiten) von Ereignissen aus diesem Gespräch herunterladen.
Laden Sie die erste Seite der Ereignisse:
function listEvents(events_page){
events_page.items.forEach(event => {
handleEvent(event);
})
}
conversation.getEvents({ page_size: 100, order: 'asc' })
.then((events_page) => {
listEvents(events_page);
})
.catch((error) =>{
console.log('Error: Unable to load conversation events ',error);
});
val conversationEventsListener = object : NexmoRequestListener<NexmoEventsPage> {
override fun onSuccess(nexmoEventsPage: NexmoEventsPage?) {
nexmoEventsPage?.pageResponse?.data?.let {
val events = nexmoEventsPage?.data
}
}
override fun onError(apiError: NexmoApiError) {
Log.d("TAG", "Error: Unable to load conversation events ${apiError.message}")
}
}
conversation?.getEvents(100, NexmoPageOrder.NexmoMPageOrderAsc, null, conversationEventsListener)
NexmoRequestListener<NexmoEventsPage> conversationEventsListener = new NexmoRequestListener<NexmoEventsPage>() {
@Override
public void onSuccess(@Nullable NexmoEventsPage eventsPage) {
Collection<NexmoEvent> events = eventsPage.getData();
}
@Override
public void onError(@NonNull NexmoApiError apiError) {
Log.d("TAG", "Error: Unable to load conversation events %s", apiError.getMessage());
}
};
conversation.getEvents(100, NexmoPageOrder.NexmoMPageOrderAsc, null, conversationEventsListener);
conversation.getEventsPage(withSize: 10, order: .asc) { (error, page) in
if let error = error {
print(error)
return
}
self.events = page?.events
}
[self.conversation getEventsPageWithSize:10 order:NXMPageOrderAsc
completionHandler:^(NSError * _Nullable error, NXMEventsPage * _Nullable events) {
self.events = [NSMutableArray arrayWithArray:events.events];
}];
Nach dem Laden des ersten Teils der Ereignisse erhalten Sie die Referenz zur aktuellen Veranstaltungsseite (JavaScript, iOS, Android). Diese Referenz ermöglicht es Ihnen, folgende Ereignisseiten abzurufen:
if (events_page.hasNext()){
listEvents(events_page.getNext());
}
if(nexmoEventsPage.isNextPageExist) {
nexmoEventsPage.getNext(conversationEventsListener)
}
if(eventsPage.isNextPageExist()) {
eventsPage.getNext(conversationEventsListener);
}
if eventsPage.hasNextPage() {
eventsPage.nextPage({ (error, page) in
// handle page events
})
}
if (eventsPage.hasNextPage) {
[eventsPage nextPage:^(NSError * _Nullable error, NXMEventsPage * _Nullable page) {
// handle page events
}];
}
Vorangegangene Seiten können ebenfalls mit einer ähnlichen Technik abgerufen werden:
if (events_page.hasPrev()){
listEvents(events_page.getPrev());
}
if(nexmoEventsPage.isPrevPageExist) {
nexmoEventsPage.getPrev(conversationEventsListener)
}
if(eventsPage.isPrevPageExist()) {
eventsPage.getPrev(conversationEventsListener);
}
if eventsPage.hasPreviousPage() {
eventsPage.previousPage({ (error, page) in
// handle page events
})
}
if (eventsPage.hasPreviousPage) {
[eventsPage previousPage:^(NSError * _Nullable error, NXMEventsPage * _Nullable page) {
// handle page events
}];
}