【关于推送通知】请问在APP主进程未启动时,可以用推送通知来启动APP么?

iOS 码拜 10年前 (2015-05-02) 1079次浏览 0个评论

RT。
想要用推送通知来一齐打开所有对象手机的特定APP。
有下列几种方案:

①APP1未启动,server发送APP1的推送通知,接收后自动启动APP1主进程(不需要人工操作)。

②APP1未启动,server发送APP1的推送通知,接收后人工点击通知?启动APP1主进程。

③APP1未启动,APP2启动中,server发送APP2的推送通知,接收后自动启动APP1主进程(不需要人工操作)。

④APP1未启动,后台Service1启动中,server发送APP1的推送通知,后台Service1接收后自动启动APP1主进程(不需要人工操作)。

请问上述几种方案是否可行?哪一种方案比较好
想做成①的样子,但个人感觉实现不了。而②感觉应该可行。③④感觉也不行
能附上代码sample最好。

另外,听说7.1后的iBeason可以在APP关闭的情况下继续收集,发送位置信息。愿闻其详。

拜谢,mOm

【关于推送通知】请问在APP主进程未启动时,可以用推送通知来启动APP么?

只有2是可行的。

【关于推送通知】请问在APP主进程未启动时,可以用推送通知来启动APP么?
2是可行;
4也算可行,从iOS 7开始,推送是支持透传的,你可以在后台处理数据,但是不能强制显示app
【关于推送通知】请问在APP主进程未启动时,可以用推送通知来启动APP么?
引用 2 楼 zhangao0086 的回复:

2是可行;
4也算可行,从iOS 7开始,推送是支持透传的,你可以在后台处理数据,但是不能强制显示app

非常感谢。
准备用④这种做法,通过发送推送通知,激活后台的处理,向server发送GPS位置信息。
请问有这方面的sample实例可供参考吗?

【关于推送通知】请问在APP主进程未启动时,可以用推送通知来启动APP么?
100分
引用 3 楼 stareyess 的回复:
Quote: 引用 2 楼 zhangao0086 的回复:

2是可行;
4也算可行,从iOS 7开始,推送是支持透传的,你可以在后台处理数据,但是不能强制显示app

非常感谢。
准备用④这种做法,通过发送推送通知,激活后台的处理,向server发送GPS位置信息。
请问有这方面的sample实例可供参考吗?

收到通知(Silent notifications,静默通知)会调用:
– (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo NS_AVAILABLE_IOS(3_0);

给你两个参考:http://www.g8production.com/post/72656082173/ios7-multitasking-silent-notifications
http://stackoverflow.com/questions/18856204/applicationdidreceiveremotenotificationfetchcompletionhandler-not-called

【关于推送通知】请问在APP主进程未启动时,可以用推送通知来启动APP么?
2 肯定是可行的,这是通知的默认行为。
3 也是可以做到的。App1 中可以配置“自定义URL协议” URL Schemes  ,App2 接收到通知,再通过已知的App1的Schemes 来启动App1
【关于推送通知】请问在APP主进程未启动时,可以用推送通知来启动APP么?
引用 5 楼 zhanglei5415 的回复:

2 肯定是可行的,这是通知的默认行为。
3 也是可以做到的。App1 中可以配置“自定义URL协议” URL Schemes  ,App2 接收到通知,再通过已知的App1的Schemes 来启动App1

3 局限性很多,首先需要添加如下代码:

dispatch_async(dispatch_get_main_queue(), ^{
    [[UIApplication sharedApplication] openURL:url];
});

而且只有当App2 处于Active状态时才能打开

【关于推送通知】请问在APP主进程未启动时,可以用推送通知来启动APP么?
引用 6 楼 zhangao0086 的回复:
Quote: 引用 5 楼 zhanglei5415 的回复:

2 肯定是可行的,这是通知的默认行为。
3 也是可以做到的。App1 中可以配置“自定义URL协议” URL Schemes  ,App2 接收到通知,再通过已知的App1的Schemes 来启动App1

3 局限性很多,首先需要添加如下代码:

dispatch_async(dispatch_get_main_queue(), ^{
    [[UIApplication sharedApplication] openURL:url];
});

而且只有当App2 处于Active状态时才能打开

嗯,是有局限,我只是根据楼主提出的第三条来做答
“APP1未启动,APP2启动中”

【关于推送通知】请问在APP主进程未启动时,可以用推送通知来启动APP么?
结贴给分,谢谢大家。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明【关于推送通知】请问在APP主进程未启动时,可以用推送通知来启动APP么?
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!