Skip to content

Globale Apps

Marc Staebler edited this page Mar 24, 2026 · 4 revisions

Globale Apps

Globale Apps erscheinen im "Apps & Spiele"-Menü des Knuddels-Clients und können von Nutzern kanalübergreifend geöffnet werden.


Konzept

Eine normale UserApp ist an einen Channel gebunden. Eine Globale App registriert sich zusätzlich im System-Menü, sodass Nutzer sie von überall aus starten können – ohne den Channel wechseln zu müssen.


Globale App registrieren

// Servercode
var globalAppInstance;

function startGApp() {
    var pageData = {};
    var gAppHtmlFile = new HTMLFile("index.html", pageData);
    var globalView = AppContent.globalContent(gAppHtmlFile, 480, 720);
    globalView.setResponsive(true);

    // Konfiguration erstellen
    var globalAppConfig = new GlobalAppConfig(
        "yourUniqueID",    // ID: 1-25 Zeichen, nur Buchstaben und Zahlen
        "Meine App",       // Anzeigename im Menü
        function(user, globalAppInstance) {
            // Wird aufgerufen wenn ein Nutzer die App öffnet
            return globalView;
        }
    );

    // Optionale Einstellungen
    globalAppConfig.setShowDeveloper(true);
    globalAppConfig.setCategories(GlobalAppCategory.Quiz);
    globalAppConfig.setImagePath('gapp_icon.png');  // 140x114 px, relativ zum www/-Ordner

    // Registrieren
    globalAppInstance = KnuddelsServer.getAppAccess().registerGlobalApp(globalAppConfig);
}

App.onInitApp = function() {
    startGApp();
};

Konfigurationsoptionen

Kategorien

Jede Globale App kann einer Kategorie zugeordnet werden:

GlobalAppCategory.Adventure
GlobalAppCategory.BoardGame
GlobalAppCategory.CardGame
GlobalAppCategory.Flirt
GlobalAppCategory.Puzzle
GlobalAppCategory.Quiz
GlobalAppCategory.RolePlaying
GlobalAppCategory.Simulation
GlobalAppCategory.SocialGambling
GlobalAppCategory.Sport
GlobalAppCategory.Strategy
GlobalAppCategory.Useful

Zugriffsbeschränkungen

globalAppConfig.setMinAge(16);                    // Mindestalter
globalAppConfig.setMaxAge(99);                    // Höchstalter
globalAppConfig.setMinRegDays(30);                // Mindest-Registrierungstage
globalAppConfig.setMinStatus(UserStatus.User);    // Mindeststatus
globalAppConfig.setAllowedGenders([Gender.Male, Gender.Female]); // Erlaubte Geschlechter

Bilder

// Icon für die App-Übersicht (140 x 114 px)
globalAppConfig.setImagePath('icon.png');

// Featured-Bild (für Hervorhebungen)
globalAppConfig.setFeaturedImagePath('featured.png');

Globale App aktualisieren

Du kannst die Konfiguration auch nachträglich ändern:

var newConfig = new GlobalAppConfig(
    "yourUniqueID",
    "Neuer Name",
    function(user, instance) { return globalView; }
);
newConfig.setCategories(GlobalAppCategory.Puzzle);

globalAppInstance.setAppConfig(newConfig);

Globale App entfernen

KnuddelsServer.getAppAccess().unregisterGlobalApp("yourUniqueID");

Sessions verwalten

// Alle aktiven Sessions der globalen App
var sessions = globalAppInstance.getActiveSessions();

// App programmatisch für einen Nutzer öffnen
globalAppInstance.openGlobalApp(user);

// Prüfen ob ein Nutzer die App als Favorit hat
var isFavorit = globalAppInstance.hasAsFavorite(user);

// Chat-Befehle für Nutzer
var openCommand = globalAppInstance.getOpenSlashCommand();
var favCommand = globalAppInstance.getAddAsFavoriteChatCommand();

API-Referenz


← Zurück zur Übersicht

Navigation

Einstieg

Kernkonzepte

Features

Tutorials

Referenz & Hilfe

Clone this wiki locally