1

我想知道创建GCM API密钥Accessing APIs directly from AndroidAccessing APIs via a web server之间的区别。我想知道两者的优点和缺点。差异GCM直接从Android访问API并通过网络服务器访问API

感谢

+0

目前还不清楚你在问什么。服务器和客户端的API具有不同的用途。从服务器通过HTTP或XMPP协议访问GCM,以在Android设备上向您的应用发送消息。在客户端(Android应用程序)中,您可以使用API​​(通过GoogleCloudMessaging类)将应用程序注册到GCM,并将上游消息从应用程序发送到服务器。 – Eran

+0

@Eran - 我不认为你需要在你的Android应用程序中注册GCM的API密钥。我的应用程序和新的非弃用接口已注册,并且没有提及我的“AIz .........”API密钥。该密钥仅存在于我的应用服务器的网页中。 – NickT

+0

@NickT我从未在我的评论中提到API密钥。你是对的 - API密钥不需要注册。 – Eran

回答

0

我终于明白你在问什么了。根据GCM Docs,为了获得API密钥,您应该选择Accessing APIs directly from Android

为了获得API密钥:

1. In the sidebar on the left, select APIs & auth > Registered apps. 
2. Click Register app. 
3. In the Name field, type your app's name. 
4. Click Android > Accessing APIs directly from Android. 
5. Under Android identification, type the package name for your app. 
6. Enter an SHA1 fingerprint. To get this value, follow the instructions in the console help. 
7. Click Register. 

至于什么是Accessing APIs directly from AndroidAccessing APIs via a web server之间一般的区别,我认为,在后一种情况下,Android设备不访问谷歌API直接。相反,您的Web服务器与API进行通信并向Android应用程序传送相关数据。在GCM中,Android设备必须直接与API通信,才能将设备注册到GCM。

+0

谢谢,这正是我所需要的 – jack1590

0

我相信你指的是允许GCM(即HTTP & XMPP/CCS)在两种类型的连接的区别是什么?差异可以在here找到。

总之...

  • HTTP可以在下游仅消息设备,而XMPP/CCS 是双向的。
  • HTTP是同步的,而XMPP/CCS是异步的。

使用XMPP/CCS(是不是非常有据可查IMO)的一个需要注意的是,你必须注册使用GCM与XMPP here,并希望获得批准/ HTTP与接受在那里,你可以简单地使用它。