Articles of android c2dm

未检测到GPU仿真的仿真器

我正在尝试执行一个示例C2DM应用程序,但我得到了一个 “未检测到GPU仿真的仿真器”` 我的Logcat中的消息。

Android和(数百万)推送通知

我正在研究我最初在iPhone上创建的应用程序的Android版本,这个应用程序需要每天向用户发送数百万次推送通知(如果它与iPhone版本一样成功)。 我天真地认为Android平台有推送通知服务作为它的兄弟,所以我决定在开发结束时看看这个function,现在我来了! 我在stackoverflow上搜索了关于这个function的问题(问题?)并find了几个选项(谢谢你们!)但是你们中的任何一个人能够用这样的音量来实现这样的function吗? 这是我find的选项: 谷歌的C2DM框架 :我的第一个问题是它仅适用于Android 2.2 +,但如果每天没有200.000通知配额 ,我可能会考虑它; 你们有没有人要求谷歌提供更多配额? MQTT :这个解决方案看起来不错,Anton Lopyrev提供的示例代码很有帮助(Dale Lane博客文章很好读); 这是我现在正在使用的选项但我不知道它如何与数千名用户做出反应(我也遇到服务器问题(mosquitto)或服务(我还不知道)而且我不是有时可以与2个用户接收通知:p) XMPP :它看起来是最好的选择(但是?)但是我还没有尝试过; 你们有没有人使用这个解决方案? 我读过Xtify或Urban Airship,但这些商业解决方案都没有帮助(数量或成本)。 谢谢你的任何提示! 编辑:我的目标是每天最多发送5,000,000条通知

Android和iOS推送通知中可显示的最大字符数是多少?

在没有文本被截断的情况下,Android中的推送通知中可以显示的最大字符数是多少? iPhone的文档声明通知有效负载总共不得超过256个字节,但我无法find类似Android的东西。

C2DM实现PHP代码

我正在创建使用C2DM推送通知的Android应用程序。 但我在创建php代码时遇到问题,使用c2dm发送消息。 请指导我如何使用PHP代码发送消息。 实际上有一个问题,如何获得客户端身份validation令牌。 我已经看到了http://code.google.com/android/c2dm/index.html#serverurl,但根据这个我创建了Android应用程序,我也获得了注册ID,我也发送给用户,但如何服务器使用它来发送应用程序。 服务器从Android设备发送消息需要什么?

为什么我通过Google云设备消息传递服务为我的设备获取多个有效令牌?

我刚刚添加了C2DMfunction到我的Android应用程序。 目前,如果在我的应用程序中启动了C2DM,则会发生以下情况。 我的应用程序发送注册意向 答案广播是由我的应用程序接收 设备令牌从意图中检索并发送到我的服务器 从那一刻起,一切正常。 客户端收到推送通知等。如果以下情况发生,则会出现问题: 用户在不禁用推送的情况下卸载应用程序。 (完全删除它不仅更新) 用户重新安装应用程序 如果在步骤5之后发送推送通知,我的应用程序仍然收到此通知。 看起来,从以前的安装检索的令牌仍然是活动的,并重新连接到我的应用程序的新实例。 这有以下问题: 重新安装我的应用程序但无意收到推送通知的用户不可能将自己从服务中删除,因为应用程序的新实例无法从我的服务器注销旧的令牌。 这是C2DM系统中的错误还是我的设置有问题? 更新 我遵循了伯顿的build议,做了以下工作: 为了testing目的,每次启动应用程序时,都只需启动一个注销Intent。 发送注销意向后,我的服务器上的推送通知不会发送到我的应用程序。 这似乎是窍门,但如果我现在去C2DM设置屏幕,并打开我的应用程序的推送通知所有旧的令牌再次活跃,我收到的信息,我没有注册在我的应用程序的当前安装。 下次更新 看来我不是唯一有这个问题的人: Android的C2DM:重复的消息到相同的设备和应用程序 我希望Google能够pipe理这些令牌,以便在发布新令牌之后,来自同一设备的旧令牌会被禁用。 我也希望在我发送一个unregister Intent之后,这个应用程序的所有标记都会被标记为无效或从Google Server中删除。 如果这是Google的特殊用例的devise决定,我不明白请赐教。

android c2dm注册ID

我阅读了Android Cloud到Device Messaging Framework的解释。 我们的应用程序成功注册到C2DM服务器后,我们会收到一个注册ID。 注册ID持续到应用程序明确注销自己,或直到Google刷新您的应用程序的注册ID。 Google究竟是什么时候为您的应用刷新注册ID? 我们如何知道它,所以我们可以再次注册并发送我们的新注册ID到我们的服务器。 谢谢。

无法在Google App Engine上部署Android App Engine项目

我在eclipse中的Android + Google App Engine中创build了一个微笑应用程序。 我正在尝试在Google应用引擎上部署该应用,但会显示错误消息 login猫: 无法更新:com.google.appengine.tools.admin.HttpIoException:发布到url时出错: https ://appengine.google.com/api/appversion/getresourcelimits?app_id=AppEngineTest2&version =1& 400错误的请求 客户端错误(400)该请求对于未指定的原因无效。 at com.google.appengine.tools.admin.AbstractServerConnection.send1(AbstractServerConnection.java:282) at com.google.appengine.tools.admin.AbstractServerConnection.send(AbstractServerConnection.java:235) at com.google.appengine.tools.admin.AbstractServerConnection.post(AbstractServerConnection.java:214) at com.google.appengine.tools.admin.ResourceLimits.remoteRequest(ResourceLimits.java:160) at com.google.appengine.tools.admin.ResourceLimits.request(ResourceLimits.java:127) at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:323) at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:52) at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngineBridgeImpl.java:400) at com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(DeployProjectJob.java:148) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 任何一个有简单的例子(与源代码)的Android +谷歌应用程序引擎(c2dm)请分享它..

收到id和auth令牌后发送消息时发生c2dm 401错误

我看到很多类似的问题,但是尽pipe有些被接受,但是没有很好的答案。 我已经注册了C2DM。 我收到确认电子邮件。 然后,我写了一些简单的应用程序注册C2DM。 我得到了id(在模拟器和真实设备上试过)。 然后,我得到了用于C2DM注册的电子邮件(与用于获取ID的应用程序相同的电子邮件)的身份validation令牌(带curl)。 当我试图做推(也curl),我得到401错误(如auth令牌是错误的)。 我读了很多教程,而且我的想法已经不多了。

实施C2DM注册的最佳实践

我正在开发一个使用C2DM接收推送通知的应用程序。 我已经实现了整个C2DM电路(客户端和服务器),它工作正常。 目前我的应用程序有一个引导C2DM注册的button,当收到来自Google的注册ID令牌时,我在我的应用程序服务器中调用一个web服务来将设备与注册ID相关联。 我要在我的应用程序中实现身份validation,并且我有一些与C2DM注册处理相关的问题。 客户端应用程序(即Android应用程序)将有一个login屏幕作为第一个屏幕,以便用户可以input凭据。 一旦证书得到validation,我打算调用C2DM注册,以便用户与注册ID令牌关联。 这个可以吗? 在稍后的应用程序执行过程中,我可能会存储凭证或某种令牌,所以用户不需要再次input凭证,应用程序启动时是否也应该启动C2DM注册? 我知道Google最终可能会更新注册ID。 定期更新注册ID是不是一个好习惯? 如果是的话,什么时候应该适合? 注册ID令牌是否过期? 在客户端和服务器之间的注册ID不同步的罕见情况下会发生什么情况(例如,新的注册ID到达客户端,在这个新的注册ID的服务器上触发新的事件,然后注册ID到达服务器)? Google会处理这种情况吗? 我的应用服务器应该处理这种情况? 如果新的注册ID从Google到达时服务器无法访问会发生什么情况? 我是否应该退缩并安排闹钟重试? 你能想到其他的陷阱吗?

Android – 将消息发送到死线程上的处理程序,Toa​​st错误

我正在使用C2DM服务,当我收到消息的时候,在显示Toast消息的时候,我也遇到了“将消息发送给死线程中的处理程序”的错误,在这里我想查看到达的消息。 使用代码: @Override protected void onMessage(Context context, Intent intent) { Log.e("C2DM", "Message: arived"); Bundle extras = intent.getExtras(); if (extras != null) { //Toast.makeText(this.getApplicationContext(), (CharSequence) extras.get("payload"), Toast.LENGTH_LONG).show(); } } onMessage方法用于扩展C2DMBaseReceiver类。 吐司messatge永远不会显示。 这里有什么错误? 有没有灵魂? 编辑: 09-06 08:59:02.135: WARN/MessageQueue(5654): Handler{44e65658} sending message to a Handler on a dead thread 09-06 08:59:02.135: WARN/MessageQueue(5654): java.lang.RuntimeException: Handler{44e65658} sending message to a […]