2017-05-31 71 views
0

我們有一個使用pyfcm的通過thunder Firebase雲消息傳遞(FCM)的通知的Django後端服務器。我剛剛更新到今天發佈的版本1.3.0。我想使用loc-keyloc-args參數發送通知,以便用戶在其手機上使用的語言顯示該通知。通知到達設備,它會振動,併爲新通知設定默認聲音,但不會顯示。除了聲音和振動之外,它什麼也不發生。使用FCM的本地化通知iOS 10

這是由發送到FCM端點服務器生成的有效載荷:

{ 
    "notification": { 
     "loc-args": ["Demo (@demo)"], 
     "loc-key": "notification-follow", 
     "sound": "Default" 
    }, 
    "priority": "high", 
    "to": "..." 
} 

在客戶端,這是通過電話接受:

[ 
    AnyHashable("gcm.message_id"):0:1496257581534217 %f910cc44f910cc44, 
    AnyHashable("aps"):{ 
     category = profile; 
    sound = Default; 
    }, 
    AnyHashable("gcm.notification.alert"):{ 
     "title-loc-key":" notification-follow", 
     "title-loc-args":[ 
     "Demo (@demo)" 
     ] 
    } 
] 

有消息顯示之前我需要做的任何事情?在沒有loc-keyloc-args的情況下發送消息,但使用message-body發送消息會在設備上顯示通知。也許有效載荷是錯誤的?它應該如何做我想做的事? 在這種情況下,密鑰notification-follow以任何可用語言列出並翻譯爲Localizable.strings文件。

+0

我認爲'loc- *'的東西必須進入'aps'字典,但爲什麼不fcm做到這一點? –

回答

0

好的,問題解決了。這是pyFCM。我認爲這是該庫的錯誤,所以開發者僞裝了它。但它工作正常,現在它不再工作了。訣竅是給body_loc_args一個數組,否則會給你一個InvalidParameters錯誤。