2 回答

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊
在改動(dòng)軟件的情況下,想到一個(gè)方法。推送消息時(shí)增加個(gè)一個(gè)消息類型,然后在應(yīng)用內(nèi)進(jìn)行判斷,在軟件內(nèi)跳轉(zhuǎn)到appstore。

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
在不改變已發(fā)布App的情況下,沒辦法。這個(gè)實(shí)現(xiàn)原理是,一個(gè)Push Notification出來,App接收到以后,可以解析Notification的信息,一般這個(gè)信息包括:聲音,badge,和userinfo。
每次App接收到一個(gè)Notification都會(huì)進(jìn)入AppDelegate 里的這個(gè)方法
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {}
在這里,拿到userInfo的字典就是apns的服務(wù)端傳過來的。通過判斷userInfo的數(shù)據(jù)和當(dāng)時(shí)應(yīng)用所處的狀態(tài)(正在瀏覽某個(gè)頁面、是否處在運(yùn)行狀態(tài),等等),決定如何對改Notification做出反應(yīng)。
一般來說,如果應(yīng)用正在運(yùn)行狀態(tài),一個(gè)Notification進(jìn)來了,就不做任何處理(應(yīng)用Become active的時(shí)候需要你記錄一個(gè)狀態(tài),Enter background和Terminate的時(shí)候也要記錄,還有異常退出等情況要考慮);如果應(yīng)用處在后臺或關(guān)閉狀態(tài),則可以選擇跳轉(zhuǎn)到某個(gè)頁面,或其他App(如AppStore)。
題外話:為了方便跳轉(zhuǎn)操作,一般我建議應(yīng)用中的每一個(gè)界面都對應(yīng)一個(gè)URL,并且允許傳遞參數(shù)(形似TT的那個(gè)URL管理),自己做,可以非常簡潔。這樣有幾個(gè)好處:
可以最大限度的增加WebView的作用,WebView可以和NativeView結(jié)合在一起用了;
應(yīng)用外部進(jìn)來(其他應(yīng)用跳進(jìn)來,Notification進(jìn)來,等)可以方便的傳遞一個(gè)參數(shù),就定位到某個(gè)界面;
內(nèi)部跳轉(zhuǎn)也可以通過簡單的參數(shù)傳遞,代碼更清楚。
- 2 回答
- 0 關(guān)注
- 201 瀏覽
添加回答
舉報(bào)