[英]iPhone push notifications information
是否可以在"badge"
"sound"
和"text"
旁边的推送通知中传输任何信息?
例如,在应用程序"whatsapp"
出现并按下推送通知时,应用程序将打开但不会进入对话。 我的猜测是它无法知道要进行什么对话。 但后来我在facebook messenger应用程序中看到它实际上是在谈话中。 信使应用程序如何知道要进行哪些对话?
此外,如果可以传输信息,为什么像whatsapp
这样的应用程序不会使用它,并且还会询问您的姓名,以便它会在推送中显示?
确实是的。 但是,您的邮件大小(以字节为单位)不得超过Apple规定的某个阈值。 然后,您可以使用以下内容在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
提取该信息:
NSDictionary* dictionary = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];
字典包含推送通知信息。
有些应用程序有权在后台运行,而其他应用程序则没有。 可能是facebook messenger应用程序具有此权限,可以接收推送通知并执行任何操作以转到正确的对话或用户。 我不知道这是否属实,但可能是一个可能的原因。
在这种方法中,我们可以根据我们的应用程序显示推送警报及其操作
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
NSLog(@"did receive remore notification %@",userInfo);
if(isForground)
{
}
}
您应该查看本文档部分JSON Payloads的示例
在底部,您可以看到自定义有效负载示例,如:
{
"aps" : {
"alert" : "You got your emails.",
"badge" : 9,
"sound" : "bingbong.aiff"
},
"acme1" : "bar",
"acme2" : 42
}
其中acme1
和acme2
是自定义数据,您可以将其传递给推送通知并在启动后将其放入应用程序内部。
数据可通过UIApplicationDelegate回调获得,如此处所述处理本地和远程通知
您可以在有效负载中添加更多参数。 在我们的应用中,我们添加了类似groupID或类型的内容。 查看此堆栈溢出以添加更多有效负载参数
确保消息大小不超过256个字节。这是有效负载的阈值限制
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.