AFAIK,推送通知需要 Google 帐户才能工作(它们搭载 GTalk),那么这是否意味着 Kindle Fire 的应用程序如果使用标准 C2DM 方法就注定失败?
我在Kindle Fire 常见问题解答或网络上的任何地方都找不到任何关于推送的信息。
AFAIK,推送通知需要 Google 帐户才能工作(它们搭载 GTalk),那么这是否意味着 Kindle Fire 的应用程序如果使用标准 C2DM 方法就注定失败?
我在Kindle Fire 常见问题解答或网络上的任何地方都找不到任何关于推送的信息。
据我所知是的。我所读到的所有内容都表明,亚马逊已经从 Fire 中剥离了 C2DM 支持。我知道,对吧?如果您或您的用户愿意对其进行 root,则可以选择安装 Google 服务。
Urban Airship有一个名为 Helium 的推送服务,据称可以与 Kindle Fire 配合使用。不过,我还不能尝试。
2013 年 8 月 13 日更新
请参阅此代码片段了解如何实现接收器(来自 Amazon Web Services 博客):
public class ExternalReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("ExternalReceiver","onReceive");
Bundle extras = intent.getExtras();
StringBuilder payload = new StringBuilder();
for(String key : extras.keySet()){
payload.append(String.format("%s=%s", key, extras.getString(key)) + '\n');
}
Intent newIntent = new Intent();
newIntent.setClass(context, AndroidMobilePushApp.class);
newIntent.putExtra(context.getString(R.string.msg_field), payload.toString());
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(newIntent);
}
}
除了 Urban Airship(由 stevebot 提到)之外,还有类似的替代方案:
Parse.com - 我已经按照他们的快速入门指南成功地向 Kindle Fire 推送了通知。非常直截了当。这是一个分层的免费增值模式,即免费取决于数量。与 Urban Airship 和 Xtify 相比,定价似乎非常合理。
Xtify - 也应该可以,但我还没有尝试过。它使用 XMPP 连接来发送消息。也似乎是免费增值,具体取决于设备的数量(目前说 10K 以下的设备作为“开发者特价”是免费的)。
或者,ralight 提供了一些很好的信息和资源,用于在相关线程中使用 MQTT 实现您自己的推送: Android 设备需要连接到服务器 - C2DM、轮询或第三者?
我认为您可以通过 Amazon Web Services for Kindle Fire 使用 SNS 进行推送。
看起来 Kindle Fire 缺少谷歌的一切。我们最好的猜测是,亚马逊不想与谷歌签订合同来访问他们的专有软件(市场、地图和其他谷歌服务,包括 C2DM)。这有助于解释为什么现在有两个不同的市场应用程序(亚马逊和谷歌)以及人们在现有应用程序中发现的所有问题。
请注意,Urban Airship 终止了对 Helium for Google Android 的支持——他们的自定义技术允许向 Kindle 和 NOOK 设备推送通知(Helium For Google Android Sunset FAQ)。
“我们计划在未来某个时候通过亚马逊的亚马逊设备消息 (ADM) 服务支持 Kindle。”
我只是在研究亚马逊推广 Kindel 设备的方式。为此,AWS服务是简单队列服务 (SQS)。我还没有使用它,但它似乎很不错,因为它允许您发送和安排推送消息也适用于Google Cloud Messaging (GCM)甚至苹果公司。
Amazon 将他的服务称为Amazon Device Messaging (ADM),在该页面上,您可以下载 SDK 并集成 API。
即使这个答案迟了(四年后),我希望这将有助于其他开发人员的研究。
您不能将 C2DM 用于 Kindle。我不知道为什么 Dule 上面的回答说他可以使用 Parse 推送到 Kindle - 他们的服务是 C2DM,并且在他们的文档中没有提到 Kindle 客户端。
Urban Airship 之所以有效,只是因为他们有自己的客户,这很好,但不是标准的。