解析:无法从控制台接收通知

Parse: Cannot receive notifications from Console

我正在努力使用解析控制台让推送通知在 iOS 上工作。我的 phone.

什么也没收到

当我从控制台发送时,它显示 "This will be sent to 2 devices"。

TARGETING
deviceType is "ios"
SENDING TIME
January 20th, 2015 at 6:27 PM
EXPIRATION
None
FULL TARGET
{ "deviceType": "ios" }
FULL DATA
{ "alert": "Hello", "sound": "default" }

我已经检查、重新检查并重试:

使用 NWPusher 我可以使用我上传的相同证书(沙盒)向应用程序发送推送。这样可以进一步排除证书作为错误来源。

Parse 文档中的实现方法:

AppDeligate.m

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error;
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;

我还能做什么?

使用控制台,您可以使用 JSON 明确请求具有自定义属性的负载。首先确保它的语法正确。查看 Parse's Documentation,您可以看到与您的目标设备相关的内容。如果您严格地从网站控制台发送推送,那么您可以分段发送推送,在构建推送时以 iOS 为目标,然后在 "Write Your Message" 中将负载类型切换为 json 作为反对纯文本并包含以下内容或类似内容,从控制台发送时不必在有效负载中包含 iOS :

{ "aps": 
    { "alert": “New post published!", 
      "badge": 1, 
      "sound": "ding.wav" 
    }, 
"acme1": "bar", "acme2": 42 
} 

注意: 您可能必须包含 content-available 待定兼容性。

您可以查看 Documentation 以参考 'bar' 和“42”。

根据您提供的信息,您的设置看起来不错,所以希望这只是一个快速的语法修复。如果它声明它正在发送到 2 个设备,那么您显然已经完成了设置正义,由于后端知道这些设备已成功同意推送通知,因此该过程已完成。

请实现此委托方法并显示字典数据:

  • (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;

您将在字典中看到所有信息

_Installation 中,pushType 没有设置为正确的值 apns