2012-08-08 61 views

回答

6

回答你的问题是YES

根据GCM的官方文档您的应用程序可以接收来自多个发件人的邮件(仅限于100个不同的发送者)和你的意图的代码看起来应该像上面的一个正常工作。

Intent intent = new Intent(GCMConstants.INTENT_TO_GCM_REGISTRATION); 
intent.setPackage(GSF_PACKAGE); 
intent.putExtra(GCMConstants.EXTRA_APPLICATION_PENDING_INTENT, 
     PendingIntent.getBroadcast(context, 0, new Intent(), 0)); 
String senderIds = "968350041068,652183961211"; 
intent.putExtra(GCMConstants.EXTRA_SENDER, senderIds); 
ontext.startService(intent); 

请随时检查GCM页面的官方话题multiple senders

+0

不确定这段代码究竟在干什么?谁在处理服务以及服务如何区分不同的SENDER_ID(如果它们是字符串的一部分) – Sudhanshu 2014-08-05 23:20:46

0

既然你有API密钥和发件人ID,那么它会工作。您需要使用您的服务器(或多个服务器)中的google提供的API密钥向设备发送消息。

+0

我可以收到由不同SENDER_ID发送的邮件吗?当然,我已经注册接受来自它ID的消息。 – Nik 2012-08-08 06:50:05

+0

据我所知,发件人ID是为应用程序的移动端(实际上它被称为您在谷歌APIS控制台中创建的项目ID)。而当你想从服务器发送消息时,你需要使用相同的API密钥。 它的工作原理是,你在谷歌的API控制台中创建一个应用程序,然后你得到两个不同的键,项目ID和API密钥。您在移动应用程序中使用项目ID,并在服务器应用程序中使用API​​密钥。一个用于接收消息(项目ID),另一个用于发送消息。多少发件人发送信息并不重要。 – osayilgan 2012-08-08 07:07:58

+0

我知道如何运作GCM服务。我已经有了项目。我希望不仅收到来自我的项目的通知,还收到来自其他项目的通知。我的应用可以接收来自两个不同项目的消息吗? – Nik 2012-08-08 08:12:28

相关问题