2013-09-25 56 views
3

我需要在某個固定時間發送推送通知(PN)。例如,我不想在上午8點之前喚醒我的用戶,所以我想指示谷歌每天上午9點遞送PN。計劃推送通知

問題是,我的用戶可能會傳遍全球,我真的不知道在那裏有什麼地方時間...... Google是否能夠根據註冊應用程序的本地時間安排PN?我讀過關於iOS的UILocalNotification(可能也有類似的Android),但我不想在本地設置任何東西,我只是想從遠程服務器(使用自定義數據)發送PN,然後放置一個關於交貨時間的限制。

PS2:我使用Phonegap開發應用程序,我已經能夠發送即時PN到某些設備。

回答

3

您無法指示推送服務(APNS或GCM)何時發送通知。兩種服務都儘可能快地發送通知(假設設備連接到互聯網)。

我以前的陳述的唯一例外是,在GCM中,您可以使用delay_while_idle標誌來防止在設備空閒時發送通知。當用戶不使用設備時,這會阻止傳送。

如果您希望在一天中的某個特定時間發送通知,並考慮收件人設備的本地時區,則必須在服務器中對其進行管理。當您的應用將設備令牌/註冊ID發送到您的服務器時,您可以發送設備的本地時區。您的服務器將知道每個設備的時區,並在首選的小時發送通知。

+0

感謝您的回答,即使id不能解決我的問題,似乎是正確的答案。使它複雜一點,你知道人們旅行很多,時區變化,例如,如果你從紐約到香港旅行... – Adi

+1

@Adi不客氣。您可以在設備上本地存儲時區。每次啓動應用程序時,檢查當前時區是否與存儲區域不同。如果是,則將新時區發送到服務器並在本地存儲新時區。 – Eran

+0

是的,可以是一個可以接受的解決方案,但是您知道,應用關閉時推送通知工作事件,但是再次肯定是更好的解決方案 – Adi