2011-08-10 85 views
3

我想通過推送通知發送一些表情符號圖標,但不知道如何做到這一點。在推送通知中通過PHP在iOS上發送表情符號

有沒有人用PHP成功實現過這個功能?舉個例子,我只是想以笑臉爲前提。

我的問題純粹是關於表情符號,我有一個成功的APNS腳本。

感謝您的任何指導。

+0

你好你的任務工作....?喜歡在通知中顯示圖像 – Rajneesh071

回答

0

將其作爲額外的屬性APNS JSON有效載荷

{ 「APS」:{ 「警告」: 「您的信息」, 「聲音」: 「push1.wav」}, 「表情符號」: 「emoji_name」 }

,但你不能UIAlertView中的內顯示出來,你只能在應用

APNS JSON PAYLOAD - more arguments

注意,JSON有效載荷必須由rfc4627有效的,所以你只能使用Unicode字符

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW1
http://www.ietf.org/rfc/rfc4627.txt

+0

雖然我在UIAlertViews中看到過它們,但我可以不發送表情符號字符名稱的UNICODE值嗎? – mootymoots

+0

你可以試一試 –

2

這是一個很好的資源:http://code.iamcal.com/php/emoji/

+0

我似乎錯過了一個關鍵的實現部分...我從哪裏得到unicode代碼? – mootymoots

+1

看看這個答案中鏈接的頁面!標記爲「Unified」的列包含Apple在iOS和OS X Lion上使用的代碼點。 – duskwuff

11

有一個快速「東經骯髒的方式做到這一點使用html_entity_decode()

例子:

$lightning = html_entity_decode('',ENT_NOQUOTES,'UTF-8'); 
//add this to the 'alert' portion of your APNS payload: 
$message = "You just got the {$lightning}SHOCKER{$lightning}!"; 

基本上,您只需使用您要使用的Emoji圖標的十進制(不是十六進制)代碼創建一個HTML實體,而html_entity_decode()會將其轉換爲您可以在字符串中使用的正確的Unicode字符。在前面提到的http://code.iamcal.com/php/emoji/ URL中有一個Unicode代碼點的目錄。

此方法適用於任何不能輸入到文本編輯器或表情符號中的字符。