2016-06-07 14 views
4

Ich baue ein einfaches Spiel, wo 2 Menschen gegeneinander kämpfen können. Ich benutze GameSparks als Backend. Mein Problem ist, dass Spieler # 2 das Channeling nur dann sehen kann, wenn Spieler 1 einen Zauberspruch spielt, der kanalisiert, wenn sein Bildschirm eingeschaltet und fokussiert ist.Unity Android im Hintergrund laufen

Immer wenn der Bildschirm # 2 des Spielers ausgeschaltet wird, ist die App nicht mehr aktiv, so dass der Zauberspruch nicht auf ihn geworfen wird. Wenn Spieler # 2 den Bildschirm einschaltet, beginnt das Channeling, aber Spieler # 1 wurde bereits vor einer Weile gechannelt.

Ich nehme an, dass die Android-System funktioniert. Es versetzt Apps, die nicht im Fokus sind, auf Pause.

Mein Problem ist jetzt, wie kann ich sicherstellen, dass Spieler # 2 eine Benachrichtigung erhält, wann immer er von dem Zauberspruch getroffen wird, ohne einen Dienst von Drittanbietern verwenden zu müssen, um die App am Leben zu erhalten (um großen Batterieverbrauch zu vermeiden) und auch ohne die Notwendigkeit, Push-Benachrichtigungen zu verwenden (wie von dem, was ich gehört habe, wenn es eine hohe Belastung ist, geschieht der Push nicht sofort, da es eine Warteschlange gibt)

+0

Wie wäre es GCM für Benachrichtigungen verwenden? –

+0

Das ist, was ich sagte, es ist eine Push-Benachrichtigung, die bei hoher Belastung verzögert werden kann. In einem Spiel wie diesem ist es inakzeptabel. Es sei denn, Sie wissen etwas über die GCM-Verzögerungen. Obwohl danke für den Vorschlag. –

+0

@JoeBlow Die Sitzung läuft auf dem Server und es gibt kein Problem den Status des Spiels zu erhalten, wenn die App wieder den Fokus zurückerhält. Für mich ist wichtig, dass der Benutzer über den eingehenden Zauber informiert wird, obwohl der Bildschirm ausgeschaltet ist, was bisher unmöglich scheint. –

Antwort

0

Application.runInBackground ist nur für Webplayer (und PC, nicht sicher über die letzte aber).

Einheit läuft als Aktivität in Android, daher wird es angehalten, wenn es seinen Fokus verliert. Das ist von (Android) Design und funktioniert wie vorgesehen.

Topic link

Verwandte Themen