2009-10-03 21 views
0

在我的應用程序中,我將使用pushNotification。那麼在那種情況下,我如何以不同的方式使用設備令牌?如何在iphone中以不同的方式使用設備令牌?

讓我更多地討論這一邊。

每當我跑我當時的設備令牌應用程序將產生,如果我去了在同一設備中一次又一次地運行應用程序比它會產生相同的設備令牌或沒有?

是否會產生不同的設備比令牌按照蘋果的文檔怎麼回事處理在服務器端? 從客戶端(即設備令牌或其他參數)發送到服務器端的確切需要哪些類型的場景在服務器端具有相同的?

如果具有任何溶液或任何代碼段或任何有用的鏈接,這將可以理解的任何人。

回答

3

下面是一個例子,不一定工作代碼:

- (void)sendProviderDeviceToken:(NSString *)tokenString { 
    NSString *udid = [[UIDevice currentDevice] uniqueIdentifier]; 

    NSString *bundleID = [[NSBundle mainBundle] bundleIdentifier]; 
    UIRemoteNotificationType type = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 

    NSString *data = [NSString stringWithFormat:@"udid=%@&token=%@&id=%@&type=%i", udid, tokenString, bundleID, type]; 
    NSString *escapedData = [[data description] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

    NSString *httpRequestURLString = [NSString stringWithFormat:@"http://%@/RegisterDevice.cgi?%@", kRegistrationURI, escapedData]; 
    NSURL *httpRequestURL  = [NSURL URLWithString:httpRequestURLString]; 
} 
+0

感謝您的回答。真的,它幫助了我。 您可以給我關於設備令牌的任何其他信息。 我的意思是,當我在當時啓動我的應用程序時,它會爲該設備生成不同的令牌或不是? 如果它產生不同的標記,而不是如何以正確的方式處理它? 謝謝, Mishal Shah – Developer 2009-10-05 04:42:11

0

米沙勒,每對CocoaFu的回答您的評論

我的意思是,每當我在那個時候它會 生成啓動我 應用那個 設備的不同標記是不是?如果它產生的 不同的標記,而不是如何以正確的方式處理它 ?

這一段在iOS doc是有助於理解當設備令牌可以在用戶的​​設備上更改了,爲什麼你每次啓動應用時火了:

通過請求設備令牌和 傳遞它提供者每次 應用程序啓動時,大家幫 確保供應商有該設備的 當前令牌。如果 用戶恢復備份,以比對備份 創建的(例如,用戶 將數據遷移到新設備)以外的裝置 ,他或 她必須在 啓動應用程序至少一次它將再次收到 通知。如果用戶 備份數據恢復到新的設備或 重新安裝操作系統, 設備令牌的變化。此外, 絕不會緩存設備令牌並將 發送給您的提供商;每當你需要 時,總是從系統獲取 令牌。如果您的應用程序先前已註冊 ,請致電 registerForRemoteNotificationTypes: 導致iOS將代碼設備 令牌傳遞給代理立即 ,而不會產生額外開銷。

相關問題