Tag: 谷歌云消息

当iOS应用程序在后台时,GCM推送通知

我正尝试使用GCM将推送通知发送到我的iOS应用程序。 应用程序在后台收到通知时不会收到通知,但会在前台收到通知。 我正在使用PHP脚本testing推送通知,该脚本也将消息直接发送到APNS,并在后台工作。 发送给GCM的JSON :(我从一个rest客户端发送来进行testing) { "to" : "token…", "notification" : { "title": "GCM TITLE", "body" : "FROM GCM", "badge": "1", "sound": "default" } } 不工作 :在didReceiveRemoteNotification中从GCM收到的userInfo: Notification received: [aps: { alert = { body = "FROM GCM"; title = "GCM TILE"; }; badge = 1; sound = default; }, gcm.message_id: 123…] 工作 :从PHP脚本发送时收到的userInfo(我也将message_id添加到JSON,看看是否是这个问题) Notification […]

如何通过Google云消息发送静默推送到iOS

如何通过GCM向iOS应用程序发送静默推送通知? 无声推送是不会在通知中心出现的通知,而是唤醒应用程序在后台做一些动作。 Google在新的GCM中引入了新function,可以将推送消息发送到Android,Chrome和iOS。 任何想法,如何做到这一点?

GCM中的Swift Bundle ID错误

我在Swift中执行Google Cloud Messaging时遇到了麻烦。 使用GCMExample获取注册令牌,但是当我尝试运行Swift的GCMExampleSwift时,出现错误。 我在Objective C和Swift中使用了相同的“GoogleService-Info.plist”。 2015-10-26 17:31:59.834 GcmExampleSwift [360:51727]configuration文件'GoogleService-Info.plist'用于另一个包标识符('com.XXXXXX.mobility.appfactory.dev1.social')。 使用此文件可能无法正确configuration服务。 要继续使用此configuration文件,可以将应用程序的包标识符更改为“com.XXXXXX.mobility.appfactory.dev1.social”。 或者您可以从https:/ 2015-10-26 17:31:59.836下载与您的捆绑包标识符相匹配的新configuration文件GcmExampleSwift [360:] App measurement v.1100000开始2015-10-26 17:31:59.843 GcmExampleSwift [ 360:51727]成功configuration[CloudMessaging]。 2015-10-26 17:31:59.843 GcmExampleSwift [360:51727]configuration[]失败。 2015-10-26 17:31:59.843 GcmExampleSwift [360:51727]子类不存在,所以没有configuration[Analytics,AdMob,SignIn,AppInvite,Maps]。 2015-10-26 17:31:59.843 GcmExampleSwift [360:51727]希望存在的子类[CloudMessaging,Measurement]。 2015-10-26 17:31:59.936 GcmExampleSwift [360:]networking状态已经改变。 代码,状态:2,连接2015-10-26 17:31:59.977:GGLInstanceID | 无法在caching中find令牌Error Domain = com.google.iid Code = -25300“(null)”注册到GCM失败,错误:操作无法完成。 (com.google.HTTPStatus错误401.)2015-10-26 17:32:01.053 GcmExampleSwift [360:51727] – 在变换层中更改属性masksToBounds,将不起作用2015-10-26 […]

GCM推送通知到iOS与content_available(不工作从非激活状态调用)

我正在开发基于Java REST的Web服务,在这个服务中,我试图通过Google Cloud Messaging将消息从Java API发送到iOS设备。 为了学习的目的,我已经使用iOS的谷歌示例代码,我可以发送消息,当应用程序在前台,但它不工作时,应用程序在后台。 我已经尝试了几个变体的“content_available”标志,负责从后台调用应用程序。 当应用程序在前台时,它工作的很好。 我正在尝试显示应用程序在后台的通知。 HttpClient client = new DefaultHttpClient(); HttpPost post = null; try { post = new HttpPost("https://android.googleapis.com/gcm/send"); } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } String regisID="My_iOS_Registration_Id-GVnH1gEsJ"; List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); List<NameValuePair> notificationData = new ArrayList<NameValuePair>(1); notificationData.add(new BasicNameValuePair("title", "title")); JSONObject obj=new JSONObject(); obj.put("title", […]

ios Google云消息传递(GCM)未收到远程通知

问题: iOS没有收到任何来自GCM的远程通知,但无法find任何有关为什么会这样的信息。 第一次实施推送通知,不知道问题的原因是什么。 情况: 我目前正在使用GCM推送通知的应用程序的iOS版本。 通知正在Android上收到,但是,它似乎并没有在iOS上接收。 当我运行应用程序时,控制台显示一切正常,有一个令牌,连接到GCM并订阅主题 app [579:45511]注册令牌:bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1pLTQ / 8t-5QNiXbYwZYEWiSFD-frQKlsV8lgI 应用程序[579:45511]连接到GCM 应用[579:45511]已订阅/ topics / global 但是,它不会收到任何通知,并且当我拉下通知中心或拉起控制中心时,会在控制台中发生以下消息 应用程序[579:45511]无法连接到GCM:操作无法完成。 (com.google.gcm错误2001.) 除了指的是… ///缺lessKeyPair。 kGGLInstanceIDOperationErrorCodeMissingKeyPair = 2001, 另一方面,当我把它发送到具有多任务function的背景并将其带回时,我再次得到这个: 应用程序[579:45511]连接到GCM 应用[579:45511]已订阅/ topics / global build立: 我已经遵循GCM指令在iOS中进行设置,甚至还提到了GcmExample.xcodeproj的实现(代码完全相同)。 为“必需的背景模式”设置info.plist – >“应用程序下载内容以响应推送通知” 遇到另一个stackoverflow问题(现在找不到)GCM和IPs不被列入白名单,但裁定,这不是问题。 码: #import "AppDelegate.h" @interface AppDelegate () @property(nonatomic, strong) void (^registrationHandler) (NSString *registrationToken, NSError *error); @property(nonatomic, assign) BOOL connectedToGCM; @property(nonatomic, […]

如果还使用iOS,则Google Play Services 8.4.0会打破Google Cloud Messaging for Android

有几篇文章描述了这个问题的各个方面,但还没有一个令人满意的答案,所以我试图在这里整理它们,希望得到一个可以解决所有这些问题的权威答案。 将Google Play服务更新为自己显示的8.4.0推送通知后 Android通知在应用程序未运行时未显示其内容 gcm.notification.e = 1代表Android中的推送通知载荷是什么意思? 问题的关键在于,如果您仅创build一个仅包含数据的GCM消息(即不使用通知字段,因此不打算生成通知),并且包含content_available = True(这是获取所需行为所必需的来自iOS客户端),那么从8.4.0开始,这会在Android中产生一个不需要的空白通知。 在8.4.0之前,一切正常。 问题的细节似乎是,如果Android客户端收到一个GCM字段,它不明白,而不是忽略它,它添加一个“e = 1”字段(大概是“e”意味着错误?)作为通知即使消息之前没有任何通知,也会导致触发出现通知的代码,而不是引导应用程序处理的代码。 可能的解决方法:我想可以跟踪哪些客户端是iOS的客户端,哪些客户端是Android的服务器,并且只包含iOS客户端的content_available标记,这个问题就可以解决了。 但是,过去并不需要这样做,而且我的系统是build立在这样一种观念之上的,即我可以像客户的意图那样对客户types不知情。 content_available标志突然在Android上引起这些空白通知的事实看起来像是一个新引入的错误,但是知道它是否实际上是一个可能在8.5.0中修复的错误将是非常有用的(在这种情况下,我现在可以直接用8.3.0构build,直到8.5.0出来),或者如果它打算成为一个永久的解决scheme。 如果这不会改变,那么跟踪哪些GCM注册ID属于iOS设备,哪些属于Android设备,然后每次发出两个独立的GCM请求是正确的解决scheme? 预先感谢Google团队对这个问题的任何官方回应。

GCM IOS NotRegistered问题

我已经使用GCM很长一段时间了。 有一天它突然爆发了。 问题是,我发送的第一个推我成功的地位,但应用程序没有收到任何推。 我发送的第二个推送失败,出现NotRegistered错误。 我重新安装应用程序:成功(没有收到通知),失败(NotRegistered) – >循环。 我不知道发生了什么变化。 对于GCM问题,APN问题还是客户端问题,Google的支持是非常无用的,而且花费了大量的时间来回答简单的问题。 如果有人有这样的问题,请让我知道要寻找什么。 这就是它的样子: 我怀疑是在更新​​到iOS 9之后发生的。我不确定。 如果在新的iOS中有可能阻止GCM的东西,我会感激,如果有人指出。 更新: GCM推送失败NotRegistered 那家伙也有类似的问题。 问题是一些清单文件。 Info.plist中可能有一些条目需要添加到iOS 9以允许GCM? 更新: 每次应用程序启动时都会调用onTokenRefresh。 不过,我也得到了同样的道理。 所以在GCM服务器上有一个令牌存在问题,我怀疑。 GCM代码在APPDELEGATE: var connectedToGCM = false private var deviceToken: NSData? var gcmSenderID: String! let authorizedEntity = "my GCM Sender_ID" public func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override […]

GCM证书configuration不工作或iOS

当我尝试configurationGCM并获取configuration文件时,我遇到了一个问题。 当我试图通过GCM门户上传生产证书时,它显示“ 证书中的证书包ID与您input的证书包ID不匹配 ”。 我已经核实了相同的。 仍然没有喜乐。 任何人帮助PLZ。

推送通知不在后台iOS中接收

我正在通过GCM在我的项目中推送通知。 我的应用程序能够在前台收到通知,但不能在后台收到通知。 我在方法里面收到一条消息 func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) 当应用程序在前台,但我没有得到任何调用的方法 func application( application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler handler: (UIBackgroundFetchResult) -> Void) 当应用程序在后台模式。 我在互联网上search了很长时间,才知道这是我收到的有效载荷格式的问题。 我收到的有效载荷看起来像 [通知:{“body”:“任何东西”,“标题”:“任何标题”},优先级:高,content_available:true,至:kcF23gblKok ….,collapse_key:do_not_collapse,from:7812 ….] 任何人都可以build议我有效载荷的正确格式?

GCM,Android,iOS,使用相同的发件人ID和服务器密钥/授权密钥

是否有可能在你的Android应用程序和你的iOS应用程序之间共享相同的服务器密钥和发件人ID? 否则,我必须在服务器上打开两个XMPP连接,这是一个大混乱。 如何configurationGoogle开发人员以了解我要使用相同的密钥?