Beiträge von Timer

    Hi, du hast auch keine richtige Instanz GoogelSignInOption mit new erstellt.
    https://developers.google.com/…y/sign-in/android/sign-in


    Das mit der Instanz muss man doch gar nicht tun oder? Das ist doch eine Funktion oder nicht? https://developers.google.com/…ignin/GoogleSignInOptions
    Das ist (so hört sich das für mich an und habe ich auch im Internet gelesen) für ein Google Login Button.
    Ich würde jedoch ganz gerne in meinem Spiel einen Google Play Spiele Login machen, denn ich glaube, dass man nur mit einem Google Play Spiele Login ein Real-Time-Multiplayer einrichten kann oder?


    Das sollte doch so reichen wie ich das habe oder nicht? Dein Code funktioniert bei mir leider nicht (obwohl ich den Schreibfehler bei dem return rausgemacht hab). Da steht dann bei getLastSignedInAccount "Cannot resolve method 'getLastSignedInAccount(de. ... .SignIn)'"
    Wenn ich signInClient gloabal erstelle und beim return rein mache, kommt der gleiche Fehler wie zuvor

    Ich habe jetzt einfach mal eine isSignedIn Abfrage zuvor geschaltet. Bringt leider trotzdem nichts:

    Danke das hat sehr geholfen.
    Leider ist es immer noch gleich:

    • Der Hintergrund verdunkelt sich
    • Der Google Play Spiele Ladescreen und das Logo öffnen sich
    • Das Logo schließt sich wieder
    • Der Bildschirm bleibt verdunkelt und es öffnet sich ein leeres PopUp im Hintergrund

    Woran kann das sonst noch liegen? Ich bisher folgendes gemacht, um meine App für das Sign In von Google Play hinzubekommen:

    • Verknüpfte Apps (Android App eingestellt)
    • AndroidMainfest.xml editiert
    • ids.xml editiert
    • google-services.json erstellt

    Hab ich da irgendwas vergessen?


    EDIT:
    Mir ist gerade aufgefallen, dass bei signInSilently "<GoogleSignInAccount>" steht. Muss ich das ersetzen oder kann ich das so lassen?


    EDIT2:
    Ich woltle gerade nachschauen, ob bei signin_other_errors ein Code ausgegeben wird. Dabei ist mir aufgefallen, dass dort zwar ein int hinterlegt ist, jedoch wird dieser nicht an message übergeben (message sit danach 0). Woran liegt das?
    signin_other_errors ist 2131427382

    Ja den Account habe ich erstellt. Client ID und Projekt auch.
    Und danke habe die File in den Samples übersehen. Ich habe die nun nachgetragen und nun kommt auch ein grüner Ladescreen (grüner kreisförmiger Ladebalken) und dann ein Google Play Spiele Bild. Leider wird das nach kurzem Laden abgebrochen und der Bildschirm wird wieder dunkel und es erscheint die leere Fehlermeldung (PopUp mit nichts drin)
    Ich habe nun noch einmal breakpoint gemacht und nun einen Wert für resultCode bekommen. Der ist nun 0

    Sorry habe ich vergessen. Mir wird der Wert von resultCode aus irgendeinem Grund nicht angezeigt (alle anderen Variablen und Werte werden mir unten schön aufgelistet).
    Ich bin nun noch einmal alle Tutorials u.ä. durchgegangen, um zu schauen, ob ich irgendetwas vergessen habe hinzuzufügen. Ich habe nun bemerkt, dass ich folgendes Tutorial noch nicht aufgeführt habe (der Link war klein aufgeführt, als ich die OAuth2-Client-ID hinzugefügt habe):
    https://developers.google.com/…t#step_3_modify_your_code
    Leider gibt es bei mir keine ids.xml und ich weiß auch nicht wie ich die hinzufüge. Soll ich da eine einfach xml Calue Datei erstellen? Und was gehört da alles rein?

    Ich habe gerade bemerkt, dass es daran liegt, dass RC_SIGN_IN nichts zugewiesen wird. Leider finde ich auch nichts im Internet dazu. Was muss ich dem zuweisen?


    EDIT:
    Ich habe jetzt gefunden, dass ich für RC_SIGN_IN zuvor "private static final int RC_SIGN_IN = 9001;" schreiben muss. Leider ist anscheinend noch bei der Variable intent etwas falsch. Bisher habe ich den Fehler jedoch noch nicht gefunden

    Fail. Das onCreate habe ich zuvor wohl aus versehen rausgelöscht.
    Nun wird der Hintergrund wenigstens blau angezeigt (wie festgelegt). Leider wird der Bildschirm immer noch nach kurzer Zeit dunkler. Was ich zuvor vergessen hab zu schreiben: wenn ich irgendwo auf den Bildschirm drücke, kommt ein PopUp mit keiner Inschrift und einem Ok Button.
    Ich habe nun in jede Zeile einen Breakpoint gepackt. Leider, wenn ich bei der letzten auszuführenden Zeile weiter drücke, erscheint erst der Bildschirm und wird dann nach ~0,5s dunkler.
    Die Datei hab ich drin

    Ok das habe ich nun auch geschafft :rolleyes:
    Nun habe ich das Problem, dass nach dem starten der App auf meinem Handy nach ca 0,5 Sekunden der Bildschirm grau wird (alles außer oben die Leiste mit Uhrzeit usw.)
    Woran liegt das? Ich habe im Internet nichts vergleichbares gefunden.
    Mein Code:

    Hey,
    ich muss nochmal was fragen:
    Ich habe nun den Code von dem Silent Sign-In Teil kopiert und bei mir eingefügt. Leider bekomme ich jetzt bei allen GoogleSignInClient, GoogleSignIn, GoogleSignInOptions usw folgenden Fehler:
    "Cannot resolve symbol 'GoogleSignInOptions'" (bzw am Schluss die jeweilige Funktion (heißt sowas so überhaupt?))
    Ich habe nun im Internet gesucht und nichts gefunden, was hilft.
    Ist mein foglender Code eigentlich richtig oder muss ich da noch irgendwas hinzufügen? Sollte eigentlich momentan nur der Code von dem Google Tutorial sein:

    Ich habe dies jetzt testweise mit meiner eigenen Datenbank ausprobiert und einfach ein paar Hundert Berechnungen eintragen lassen. Das war leider, wie erwartet, nicht sehr effizient.
    Ich werde nun einfach die Daten auf den Handys berechnen lassen und an die anderen Spieler weitersenden lassen.


    Ich wollte jetzt erstmal einen Google Play Service Login in meiner App machen. Dafür habe ich folgende Anleitung von Google gefunden:
    https://developers.google.com/games/services/android/signin
    Leider bin ich mir da nicht sicher, ob ich die Silent Sign-In Variante oder die interactive Sign-In Variante benutzen soll.
    Ich habe dazu auch keine wirklichen Unterschiede gefunden.
    Wo liegt der Unterschied?
    Oder habe ich das falsch verstanden und es sind keine zwei Varianten, sondern es muss beides in die App?

    Ich habe mich jetzt noch ein bisschen mehr eingelesen und bemerkt:

    • Androids Real Time Multiplayer API tauscht nur Daten zwischen den Handys aus (da ist kein Server, der etwas berechnet, sondern nur einer, der weiterleitet)
    • Über einen eigenen Server könnte ich das zwar machen, jedoch wäre das entweder nicht sehr effizient (z.B. über eine MYSQL Datenbank, in der die Daten immer berechnet werden und dann ausgelesen werden) oder über ein sehr kompliziertes Skript, was man für den Server ausführen müsste, was zur Folge hat, dass eine dauerhafte Verbindung zwischen den Usern stattfindet und sehr viel Rechenleistung eines Servers erfordert (um die ganzen Daten den richtigen Lobbys zuzuweisen und dann alles zu berechnen)

    Ich mache die Berechnungen nun doch über das eigene Handy und tausche diese nur über Real Time Multiplayer mit den anderen Spielern aus.

    Bei dem oben gepostetem Link steht, dass man real time Multiplayer aktivieren muss. Wenn man da drauf klickt, kommt ein Tutorial, wie man das anmacht. Dort steht "1. Open the Game Services page...". Wenn ich das im Internet suche kommt folgende Seite:
    https://developers.google.com/games/services/
    Dort steht ein Link zur Aktivierung. Wenn man den anklickt, kommt ein Formular, wo man 25$ zahlen muss.

    Hey,
    ich hoffe die Frage passt noch zu den Anfängerfragen.
    Da es viel zu lange dauern würde euch meine Spiele Idee vorzustellen stelle ich es einfach sehr sehr stark vereinfacht dar:
    Es gibt 8 Spieler. Jeder Spieler bekommt jede 30 min zufällig viel Geld (welche Menge wird vom Server bestimmt und an denjenigen Spieler weitergeleitet). Dieses Geld kann er jederzeit ausgeben. Wenn er diese ausgibt, soll dies an einen Server gesendet werden. Dieser soll dann einen Wert ausrechnen und der wird dann an alle 8 Spieler weitergegeben.
    Ich hätte dies jetzt mit Androids vorgefertigten Real-time Multiplayer gemacht (https://developers.google.com/…droid/realtimeMultiplayer ), nur leider weiß ich nicht, wie gut das Spiel wird und ich will nicht vorab 25$ ausgeben, um Google Play Console beitreten zu können. Kann ich das irgendwie (einigermaßen einfach) ohne Google Play Console (nur über eigene Server) umsetzen?


    MfG
    Timer