Skip to content
Marc Staebler edited this page Mar 26, 2026 · 1 revision

Quests

Quests sind Aufgaben, die Nutzer innerhalb deiner App erledigen können. Sie werden bei Knuddels eingereicht und erscheinen dann im Quest-System des Clients.


Voraussetzungen

Quests für UserApps können bei Knuddels eingereicht werden. Dabei gelten folgende Regeln:

  • Die Quest muss in maximal 10 Minuten abschließbar sein
  • Die Quest darf keine Knuddel zum Abschließen erfordern
  • Der Channel, in dem die App betrieben wird, muss öffentlich sein

Quest einreichen: Quest-Formular


QuestAccess

Über user.getQuestAccess() erhältst du Zugriff auf die Quests eines Nutzers in deiner App:

var questAccess = user.getQuestAccess();

// Alle Quests des Nutzers in dieser App
var quests = questAccess.getQuests();

// Bestimmte Quest abfragen
var quest = questAccess.getQuest('questKey');

// Prüfen ob eine bestimmte Quest offen ist
var hatQuest = questAccess.hasQuest('questKey');

// Den zugehörigen User abrufen
var questUser = questAccess.getUser();

Quest als gelöst markieren

Es gibt zwei Wege, den Fortschritt einer Quest zu erhöhen:

// Variante 1: Über QuestAccess
var questAccess = user.getQuestAccess();
questAccess.solvedQuest('questKey');

// Variante 2: Über das Quest-Objekt
var quest = questAccess.getQuest('questKey');
if (quest) {
    quest.setSolved();
}

Beide Varianten erhöhen den Fortschritt der Quest um einen Schritt.


Praxisbeispiel

// Servercode (innerhalb von var App = { ... };)
onEventReceived: function(user, type, data, appContentSession) {
    if (type === "quizRichtig") {
        // Punkte vergeben
        user.getPersistence().addNumber('points', 10);

        // Quest-Fortschritt erhöhen, falls die Quest offen ist
        var questAccess = user.getQuestAccess();
        if (questAccess.hasQuest('quizMeister')) {
            questAccess.solvedQuest('quizMeister');
        }
    }
},

API-Referenz


← Zurück zur Übersicht

Navigation

Einstieg

Kernkonzepte

Features

Tutorials

Referenz & Hilfe

Clone this wiki locally