2013-03-11 24 views
5

Tôi đang sử dụng mã này để gửi đẩy của Apple thông báo cho iPhone:Moon-APNS nhắn với Accent

Public Function SendPush() As String 
    Dim rt As String = "Sended!" 
    Dim deviceToken As String = "my token" 
    Dim message As String = "Parabéns é Campeão!" 
    Try 

     Dim payLoad As New NotificationPayload(deviceToken, message, 1, "default") 
     payLoad.AddCustom("RegionID", "IDQ10150") 
     ' 51 is the badge no 
     Dim notificationList = New List(Of NotificationPayload)() From { _ 
     payload _ 
     } 

     Dim push = New PushNotification(True, "apn_developer_identity.p12", "password") 
     Dim result = push.SendToApple(notificationList) 
    Catch ex As Exception 
     rt = "Error!" 
    End Try 

    Return rt 

End Function 

Nhưng trong iPhone của tôi không nhận được điểm nhấn. Tôi nhận được điều này: Parab? Ns? Campe? O!

ý tưởng của ai đó về những gì sẽ xảy ra?

liên quan

Giải quyết!

tôi có sự thay đổi vào thư viện Moon-APNS trong PushNotification.cs lớp:

// String length 
byte[] apnMessageLength = BitConverter.GetBytes((Int16)Encoding.UTF8.GetBytes(apnMessage).Length); 

// Write the message 
memoryStream.Write(Encoding.UTF8.GetBytes(apnMessage), 0, Encoding.UTF8.GetBytes(apnMessage).Length); 

biên dịch lại và sử dụng vào dự án của bạn. Bây giờ chấp nhận ký tự latin.

Trả lời

1

Bạn nên mã hóa tải trọng của mình thành UTF-8.

+0

Làm cách nào? Tôi thực hiện tải xuống các mặt trăng và sử dụng trong máy chủ ứng dụng của tôi! Tôi không thấy nơi làm điều này! –

+0

Tôi không quen thuộc với mặt trăng-apns. Tôi đã viết mã APNS phía máy chủ của mình bằng Java và mã hóa tải trọng thành UTF-8. Bạn có chuyển tải trọng như Strings thành thư viện mặt trăng không? – Eran

+0

Có, chuyển đến tải trọng dưới dạng chuỗi. Tôi nghĩ vào thư viện mặt trăng-apns quyết tâm của nó, nhưng không. Trong máy chủ của bạn java chấp nhận ký tự latin? –