個推消息推送iOS版常見問題整理

爲了更好地服務開發者,此次我們針對個推消息推送iOS版使用中可能出現的一些常見問題做了整理,提供了一些比較方便掌握的解決方法,希望能幫助到大家。

1. iOS推送流程是什麼樣的?

iOS下發的消息分兩部分:一部分是通過APN的通知欄消息;另一部分通過個推通道的透傳消息。這兩部分是服務端推送代碼裏面由APP開發者自己設定的,分別是兩種不同的方法:1)如果消息下發的時候,客戶端是在後臺、鎖屏、或者APP被殺掉(也就是客戶端是離線)的狀態,將會收到APN的通知,透傳消息就會處於離線狀態,此時只有下次在線的時候(也就是下次應用到前臺的時候)纔會下發;2)如果下發的時候應用在前臺的,就直接走個推通道下發透傳消息,客戶端自定義處理透傳展示。

2. iOS 客戶端推送收不到APN通知欄提醒怎麼辦?

首先,請您檢查一下客戶端是否有獲取到devicetoken,如果獲取不到,檢查客戶端iOS 的APN註冊是否成功,證書打包是否正確;如果獲取到了,用當前客戶端獲取的devicetoken 去平臺上傳證書的地方進行測試,查看返回成功還是無效。如果返回無效,請排查客戶端環境與上傳的證書環境,builderID 是否一致;如果返回成功,則需要卸載重裝客戶端,然後打開應用到前臺,保持CID在線,再退到後臺推送測試。

3. iOS自定義通知鈴聲如何設置?

把製作好的鈴聲添加到項目的main bundle中後,在項目設置中 Build Phases–Copy Bundle Resources 中添加您添加的聲音文件(鈴聲文件不能超過30s),服務端APN設置的sound設置成您的鈴聲文件名。

4. iOS客戶端角標如何自增自減?

開發者可以調用:application.applicationIconBadgeNumber獲取到角標數;然後通過 [application setApplicationIconBadgeNumber:]設置當前的角標;通過個推[GeTuiSdk setBadge:]將角標同步給個推服務器;服務端透傳消息模板,通過APNPayload類的setAutoBadge方法設置"+1"、"-1"、"1"等,實現角標的自動增減

5. 如何解決iOS創建的本地消息,不顯示標題,只有內容的問題?

在透傳模板APNPayload.DictionaryAlertMsg高級字典模式中加上Title。

6. 爲什麼iOS進入後臺後收不到推送?(代碼APNs已經配置)

首先根據客戶端devicetoken測試,判斷環境是否一致,如果能收到測試消息,說明環境一致,接着需要排查下發日誌,可以提供下發信息給到技術支持進行排查。

7. 爲什麼APN統計數據沒有展示、點擊數?

Apple在iOS 10中新增了Notification Service Extension機制,在集成個推消息推送SDK時,可以添加Notification Service Extension,並在Extensions中添加 GtExtensionSdk 的統計接口,實現消息展示回執統計功能。

8. iOS透傳消息推送過程中,在APP沒有啓動的情況下發送透傳消息(未經APNs),用戶啓動APP後,可以通過GeTuiSdkDidReceivePayloadData獲取消息嗎?

只要用戶在消息有效離線時間內啓動APP,就可以獲取。

9. iOS集成時,GTExtensionSDK.framework是否必須,可以不集成SDK嗎?

個推支持 iOS 10 多媒體推送和APNs的展示、點擊數統計,不集成對推送沒有影響。

10. iOS自定義參數消息如何設置?

首先,服務端設置APN代碼時通過addCustomMsg參數,參照php的代碼 ,添加APN自定義參數。然後,當客戶端收到APN通知欄提醒並點擊會觸發客戶端didreceiveremotenotification方法,獲取payload參數數據,獲取到之後便可以自己解析處理跳轉。

11. iOS開發環境推送是否有限制?

有限制,開發環境下離線走蘋果APNs通道推送1000條。

12. 蘋果手機播放音頻時,從後臺進入前臺,音頻被中斷怎麼解決?出現報錯:[avas] AVAudioSession.mm:1177:-[AVAudioSession setActive:withOptions:error:]: Deactivating an audio session that has running I/O. All I/O should be stopped or paused prior to deactivating the audio session.

可以通過設置客戶端API方法runBackgroundEnable的參數來處理。runBackgroundEnable表示是否允許SDK後臺運行(YES=允許,NO=拒絕),請將參數設爲NO。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章