Bereits letzte Woche ging es um die Konfigurationsdatei app.config. Diese Woche wollen wir euer Wissen diesbezüglich noch etwas festigen und gehen noch etwas tiefer ins Detail.
Mit der Konfigurationsdatei app.config ist noch wesentlich mehr möglich, als bereits angesprochen. Ihr habt unter anderem auch die „Macht“ zu bestimmen, ob ein User in mehreren Channels gleichzeitig sein darf und ob in anderen Channels ebenfalls die App laufen soll, sofern die maximale Besucherzahl des Channels erreicht ist. Widmen wir uns zuerst dem Thema Tochterchannel.
Tochterchannel erlauben – doch wie?
Standardmässig ist es so, dass User Apps nur im Hauptchannel laufen. Sprich, wenn die maximale Besucherzahl eines Channels erreicht ist, wird zwar je nach Einstellung ein neuer Channel eröffent, doch in diesem läuft dann keine App. Bei manchen Apps ist es aber von Vorteil oder gar notwendig, dass nicht zu viele User im selben Channel sind. Hier muss dann gewährkleistet werden, dass auch in den Töchterchannel die App läuft. Dies schafft man, in dem man folgende Zeile in die app.config zusätzlich einträgt.
multiChannel = true
Ist diese Definition auf „true“ gesetzt, so wird der App mitgeteilt, dass sobald ein neuer Tochterchannel eröffnet wird, eine neue Instanz der App gestartet wird. Die Instanzen der Tochterchannel, teilen sich dann die AppPersistencen und UserPersistencen der Hauptapp.
Usern erlauben in zwei Channels der App gleichzeitig zu sein
Doch Tochterchannel bringen nicht nur Vorteile, sondern auch Gefahren, die bedacht werden müssen. So ist es zum Beispiel oftmals schwierig, der App beizubringen, wie damit umzugehen ist, wenn ein und derselbe User in zwei verschiedenen Channels spielt. Daher gibt es eine Möglichkeit dieses Problem elegant zu umschiffen. Das Zauberwort lautet allowMultiJoin. Mit dieser Option, könnt ihr verhindern dass ein User zeitgleich in zwei Channels euerer App sitzt.
allowMultiJoin = true
Per Default ist diese Option deaktiviert, damit nicht versehentlich mehrere Instanzen eurer App gestartet werden, da häufig Apps nicht von Anfang an darauf ausgelegt sind mit mehreren Channels richtig umzugehen. Daher muss diese Option, sofern es gewünscht ist explizit auf „true“ gesetzt werden. Dies geschieht durch das einfügen der oben genannten Codezeile.
Zu beachten gilt aber folgendes:
Wenn die Einstellung allowMultiJoin nicht angegeben oder als „false“ deklariert ist, so darf im MyChannel-Edit Fenster (/mychannel) die Option „Mehrfach-Login erlauben“ keinen Haken haben (siehe Screenshot). Andernfalls, wird eure App sofort gestoppt und gibt euch eine Fehlermeldung aus. Nun habt ihr die Wahl ob ihr die Einstellung im MyChannel-Edit Fenster oder in der app.config vornehmt.
Seid euch bewusst, was ihr einstellt. Jede weitere Instanz eurer App nutzt die Persistencen!
Mit diesem Wissen über die app.config, sollte es nun kein Problem mehr sein eure App richtig zu konfigurieren. Solltet ihr jedoch weitere Fragen zu dem Thema haben, so schreibt sie in die Kommentare, ins Forum oder kontaktiert einen App-Coach im Chat!
„nutzt die gleiche, ein und die selbe Persistenz“ sollte es korrekterweise heißen. Denn egal ob Multiinstanz, Persistenzen existieren immer – Dieser Satz irritiert nur.
LikeLike