用于Phonegap应用的服务

时间:2015-03-29 21:15:15

标签: android ios phonegap-build

我之前一直在编写一些Phonegap应用程序,只是将它们从GoDaddy等连接到我的域。所以我可以在数据库中存储信息(PHPMyAdmin),只是基本的东西。

但是对于具有聊天功能(NodeJS)或推送通知的更多高级应用程序。使用基本域服务器并不容易,因为许多托管服务不支持与服务器的开放连接(NodeJS)等。运行timeout将加载并使用更多数据。< / p>

运行phonegap应用程序以存储信息,发送图像,聊天功能(实时接收通知),推送通知等等,最佳服务是什么?

我看了一下Google Cloud Platform,可以看到许多“专业”应用都使用该服务。 https://cloud.google.com/

是否有其他服务支持这些功能,更好,更快,更便宜等?

在这片服务海洋中很容易迷失方向。没有找到和好的答案所以我们可以列出一些服务,有利有弊。所以像我这样的人可以更容易找到它。

1 个答案:

答案 0 :(得分:0)

尝试使用Google云端消息接收推送通知。它高效而且免费。 This article将帮助您注册该服务的设备。

之后,使用以下代码将推送通知发送到已注册的设备。

            string regId = "registered_ID_of_User";
            var applicationID = "Your_application_ID";

            var SENDER_ID = "yoursenderID";
            var value = Text1.Text;
            WebRequest tRequest;
            tRequest = WebRequest.Create("https://android.googleapis.com/gcm/send");
            tRequest.Method = "post";
            tRequest.ContentType = " application/x-www-form-urlencoded;charset=UTF-8";
            tRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID));

            tRequest.Headers.Add(string.Format("Sender: id={0}", SENDER_ID));

             //Data_Post Format
             // string postData = "{'collapse_key' : 'demo', 'registration_id': [ '" + regId + "' ], 
              //'data': {'message': '" + Label1.Text + "'},'time_to_live' : '3' }";


            string postData = "collapse_key=score_update&time_to_live=108&delay_while_idle=1&data.message="
                + value + "&data.time=" + System.DateTime.Now.ToString() + "&registration_id=" + regId + "";


            Console.WriteLine(postData);
            Byte[] byteArray = Encoding.UTF8.GetBytes(postData);
            tRequest.ContentLength = byteArray.Length;

            Stream dataStream = tRequest.GetRequestStream();
            dataStream.Write(byteArray, 0, byteArray.Length);
            dataStream.Close();

            WebResponse tResponse = tRequest.GetResponse();

            dataStream = tResponse.GetResponseStream();

            StreamReader tReader = new StreamReader(dataStream);

            String sResponseFromServer = tReader.ReadToEnd();

            Label3.Text = sResponseFromServer; //printing response from GCM server.
            tReader.Close();
            dataStream.Close();
            tResponse.Close();