簡體   English   中英

iPhone推送通知

[英]iPhone Push Notifications

我有一個使用推送通知的iPhone應用程序。 我對此的理解是,在發送通知之前,我需要每個iPhone的“設備令牌”。

使用我擁有的測試iPhone,我可以從xcode接口獲取設備令牌,並將它們存儲在數據表中,Push Notification PHP腳本用來發送通知。

如何將推送通知發送到安裝了我不知道設備令牌ID的應用的iPhone。

我想我的問題是; 在向iPhone發送通知之前,我需要設備令牌嗎?

如果我確實需要設備令牌,如何使用我的應用程序從iPhone獲得它。

您無法通過模擬器收到任何推送通知。

您不會直接發送通知。 您對Apple的服務器說,此設備令牌有一個通知。 然后,iPhone本身會自動要求接收推送通知(如果有的話)。

要回答您的問題:是的。 沒有設備令牌,您將無法將通知注冊到Apple的服務器。 然后,您必須對該設備實施此注冊以獲得DeviceToken:

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken

您應該在這里查找== 推送通知編程指南

- (void)applicationDidFinishLaunching:(UIApplication *)app {
   // other setup tasks here....
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
}

// Delegation methods
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken {
    const void *devTokenBytes = [devToken bytes];
    self.registered = YES;
    [self sendProviderDeviceToken:devTokenBytes]; // custom method
}

- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err {
    NSLog(@"Error in registration. Error: %@", err);
}

請參閱apple Local和Push Notification編程指南中的代碼,首先必須在應用程序中調用registerForRemoteNotificationTypes,然后在兩個委托中,可以獲取或不獲取dev令牌,此令牌來自APNS,因此,一旦獲取,您將將其發送到您的服務以進行存儲。 而且您無法從模擬器獲得設備令牌。

您的推送通知服務將必須使用設備令牌將通知發送到您的應用,因此您肯定需要它。 此外,您還必須從Apple開發中心獲取SSL證書,該證書需要有效的iOS付費開發人員ID。

有關更多信息,請查看“ 推送通知編程指南” ,它是一個很大的幫助。 此外,我嘗試了這個PHP庫來測試推送通知服務,這很好,您可以找到它的單元測試,然后將設備令牌粘貼到其中,然后運行它,您將獲得消息。

狡猾/通知推送

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM