Używam GCM do wysyłania powiadomień na urządzenia z Androidem.Wysyłanie powiadomień w języku arabskim za pomocą GCM
Kod, który używam, aby uzyskać wiadomość w GCMIntentService jest jak poniżej:
@Override
protected void onMessage(Context ctx, Intent intent) {
// TODO Auto-generated method stub
String j =intent.getStringExtra("message");
generateNotification(ctx, j);
}
I kod, który używam na stronie serwera do pchania lub wysłać te powiadomienie jest jak poniżej:
Dim request As WebRequest = WebRequest.Create("https://android.googleapis.com/gcm/send")
request.Method = "POST"
request.ContentType = "application/x-www-form-urlencoded"
request.Headers.Add("Authorization: key=AIzaSyA47-XMaePL1mmI0P1yQ9V4sntMVn9q-1o")
request.Headers.Add("Sender: id=648406549877")
Dim collapsKey = Guid.NewGuid.ToString("n")
Dim postdata As String = "registration_id=" + regid_String_reveived_from_device_after_registering_with_GCM + "&data.message=" + TextBox1.Text + "&collapse_key=" + collapsKey
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postdata)
request.ContentLength = byteArray.Length
Dim dataStream As Stream = request.GetRequestStream
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()
Dim resposne As WebResponse = request.GetResponse
Dim dataresponse As Stream = resposne.GetResponseStream
Dim reader As New StreamReader(dataresponse)
Dim sResponseFromServer As String = reader.ReadToEnd
Label2.Text = sResponseFromServer
reader.Close()
dataresponse.Close()
resposne.Close
Kiedy wysłałem dowolne powiadomienie w języku angielskim, używając powyższego kodu, otrzymałem go w moim urządzeniu bez problemu, ale kiedy wysłałem powiadomienie w języku arabskim, używając powyższego kodu, nic nie dostałem jako wiadomość, która wydaje mi się puste zarówno w Logcat, jak i w powiadomieniu. Android API, którego używam do rozwijania tej aplikacji, to: 16.
Jak mogę otrzymać wiadomość napisaną w języku arabskim jako powiadomienie, w taki sam sposób, w jaki otrzymuję te wiadomości po wysłaniu przez angielski.
Czy problem występuje po stronie ASP.Net lub stronie Androida.
Każda pomoc lub przekierowanie zostanie całkowicie docenione.
Powinieneś "UrlEncode' wszystko nad http. (: –
@Husam Czy to też działa dla PHP? – Mani
@Husam, Czy mogę wysłać powiadomienie push z FCM w jakimkolwiek innym języku? Chcę wysłać powiadomienie w moim lokalnym języku Czy to możliwe? – Kaveri