2016-07-15 10 views
0

Ich arbeite an der ios App ,, Benutzer wird in der App anmelden. Ich habe mehrere Bildschirme in einem Bildschirm Ich habe eine Anforderung ist, wenn Benutzer das erste Mal besucht diesen Bildschirm muss ich zeigen Der Bildschirm mit den Anweisungen. Wenn Bildschirmbesuche mehr als einmal gezählt werden, müssen die Anweisungen nicht angezeigt werden.Benutzer Besuche Anzahl der Fenster in appcelerator Titan

I need to store that screens count for each user separately how can we achieve this in appcelerator titanium 

Bitte helfen Sie mir, danke im Voraus.

Antwort

0

Sie den abholen offen oder Fokus Ereignis verwenden könnten, wenn jemand den Bildschirm trifft und dann entweder:

  1. Wenn dies eine angeschlossene App ist, und Sie das Benutzerprofil Download Bei der Anmeldung könnten Sie eine Flagge speichern, um TutorialSeen oder ähnliches zu sagen. Überprüfen Sie dies, wenn das Fenster geöffnet wird/Fokus oder

  2. Wenn nicht verbunden oder Sie lokal speichern möchten, speichern Sie das Flag in der Ti.App.Properties unter einem Benutzerprofil.

(man könnte ebenso einen Zählwert speichern, erhöht, wenn sie den Bildschirm zu schlagen, aber da Sie nur das erste Mal erfasst wollen, würde ich mit einem go) Capture-Ereignis, b) überprüfen Eigenschaft, c) wenn falsch, auf wahr gesetzt und Tutorial anzeigen, d) falls wahr, überspringen.)

Hoffe, dass hilft!

0

Ich denke, dass Sie die Benutzerbesuchenzahl nicht speichern müssen, wenn Ihr einziger Zweck darin besteht, das Anweisungsfenster nur anzuzeigen, wenn sich der Benutzer zum ersten Mal in der App anmeldet.

Sie können es auf diese Weise tun:

someController.js

function onLoginSuccess() { 
    // getInt() will return the value of INSTRUCTION_WINDOW property, you can name this property whatever you want. 
    // if this property does not exist, then it will return the value of the second parameter. 
    var showInstruction = Ti.App.Properties.getInt("INSTRUCTION_WINDOW", 1); 

    if (showInstruction) { 
     Alloy.createController('instructionWindow').getView().open(); 

    } else { 
     Alloy.createController('nextWindow').getView().open(); 
    } 
} 


// logout function can be anywhere 
// remember to set the property to 1 if you want to show the instructions again after logout and then login. 
function logout() { 
    Ti.App.Properties.setInt("INSTRUCTION_WINDOW", 1); 
} 

instructionWindow.js

$.instructionWindow.addEventListener('open', function() { 
    // after opening the instruction window, set this property to 0 
    // so it won't be shown up the next time the already logged-in user opens the app 
    Ti.App.Properties.setInt("INSTRUCTION_WINDOW", 0); 
}); 
+0

HALLO Prashant saini, Vielen Dank für reply.How geben können wir damit umgehen mehrere Anwender mit dem app.it zeigt nicht die Anweisungen Bildschirm anmelden wird, wenn der Benutzer erstmals für diesen Bildschirm ist besuchen, wenn vorherige Benutzer besucht diese Seite bereits. – Balu

+0

Wenn Sie den Hilfe-Bildschirm wirklich allen Benutzern anzeigen möchten, die das erste Mal in der App besuchen, müssen Sie die Anmeldeanzahl in der Datenbank speichern und sie im Anmelde-Web-Service abrufen und dann leicht wissen, dass der Benutzer den App zum ersten Mal. Aber die meisten der App betrifft nur Hilfe-Bildschirm nur beim ersten Öffnen der App auf dem Gerät, egal wer der Benutzer ist. –

0

Zuerst setzen Sie den Wert nsuserdefaults @ "1".

[[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"showtheinstruction"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

danach müssen Sie diese Zeichenfolge vergleichen und zeigt die Befehlsnachricht.

NSString *str_savedValue = [[NSUserDefaults standardUserDefaults] 
stringForKey:@"showtheinstruction"]; 

if (str_savedValue isEqualToString:@"1") { 

// show the instruction window. 
} 
else 
{ 
// don't show the instruction window. 
} 
Verwandte Themen