2016-07-15 28 views
0

我正在使用iOS應用程序,,用戶將登錄到應用程序。我在一個屏幕中有多個屏幕我有一個要求是如果用戶第一次訪問屏幕我需要顯示說明屏幕。如果屏幕訪問次數超過一次,則無需顯示說明。在Appcelerator中獲取用戶訪問計數窗口

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

請提前幫助我。

回答

0

您可以使用開放重點事件拿起當有人點擊屏幕,然後:

  1. 如果這是一個連接的應用程序,您正在下載的用戶配置文件在登錄時,你可以存儲一個標誌來說教程或類似的。當窗口打開/關閉時檢查此項,或者

  2. 如果沒有連接,或者您想本地存儲,請將該標誌存儲在用戶配置文件下的Ti.App.Properties中。

(你同樣可以存儲遞增,當他們打在屏幕上的計數值,但因爲你只是想捕捉的第一次,我用走)捕捉事件,b)檢查屬性,c)若假,設置爲true並顯示教程,d)如果爲true,則跳過。)

希望有所幫助!

0

我想你不需要存儲用戶訪問計數,如果你的唯一目的是僅當用戶第一次登錄到應用程序時才顯示指令窗口。

你可以這樣來做:

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

HI PRASHANT賽尼,謝謝你給reply.How我們可以處理多個用戶登錄到app.it不會顯示,如果用戶訪問第一次該屏幕,如果以前的用戶是說明屏已經訪問該頁面。 – Balu

+0

如果您確實想要向首次訪問應用的所有用戶顯示幫助屏幕,則需要將登錄計數保存在數據庫中並在登錄Web服務中獲取,然後您可以輕鬆地知道用戶正在使用應用程序的第一次。 但是,大多數應用程序只關心顯示幫助屏幕只有第一次在設備上打開應用程序,無論用戶是誰。 –

0

首先你設置nsuserdefaults的值@「1」。

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

在這之後,你必須比較這串並顯示指示消息。

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

if (str_savedValue isEqualToString:@"1") { 

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