iOS如何识别App打开的根源亚洲必赢app在哪下载

By admin in 亚洲必赢app在哪下载 on 2018年12月16日

描绘在前头

当数额总计方面范畴看App打开来源非常重大,特别是对此分享与付费引流的权衡效果达到有充足紧要之图。

iOS App最常用之开辟途径有二种:

  1. 信(本地、远程)推送打开
  2. scheme跳反打开
  3. UniversalLinks打开

争区分

App启动后注解在App底层已经准备全的地点便爆发好用来区分的注明,也即使是于AppDelegate中的application:didFinishLaunchingWithOptions:

if (launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey]) {
    NSLog(@"远程推送打开");
} else if (launchOptions[UIApplicationLaunchOptionsLocalNotificationKey]) {
    NSLog(@"本地推送打开");
} else if (launchOptions[UIApplicationLaunchOptionsUserActivityDictionaryKey]) {
    NSLog(@"UniversalLinks打开");
} else if (launchOptions[UIApplicationLaunchOptionsURLKey]) {
    NSLog(@"Scheme跳转打开");
} else if (!launchOptions) {
    NSLog(@"手动点击打开");
}

更多说有些

launchOptions除了用来区分App的开发形式,还承载着打开时之片段数目,比如scheme跳转、UniversalLinks打开的时节的一部分具体链接,在此以前运用的bundleID等数码便宜追述。

例如UniversalLinks中,我们固然可以经过如下方法得到链接,而非必然要对等交专用的Delegate方法重回给咱

NSUserActivity *act = [[launchOptions objectForKey:UIApplicationLaunchOptionsUserActivityDictionaryKey] objectForKey:@"UIApplicationLaunchOptionsUserActivityKey"];
NSString *url = [act.webpageURL absoluteString];

另外枚举的义

  • UIApplicationLaunchOptionsURLKey
    于scheme跳反打开的时刻出现,用于获取scheme地址之key;如”enalibaba://home

  • UIApplicationLaunchOptionsSourceApplicationKey
    从今外App跳转打开的时出现值为一个字符串表示来源App的BundleID;如:”com.apple.mobilesafari”
    表示从今Safari跳转

  • 亚洲必赢app在哪下载,UIApplicationLaunchOptionsRemoteNotificationKey
    起远程推送打开,这一个key对应之值是一个Dictionary,里面就是推送的Payload

  • UIApplicationLaunchOptionsLocalNotificationKey
    从今地面推送打开,那么些key对应之价值是一个Dictionary,里面纵使推送的Payload

  • UIApplicationLaunchOptionsAnnotationKey
    斯Key应该不相会重睹了,它不得不通过
    application:openURL:sourceApplication:annotation:
    打开App的时刻才会师并发,但这情势都深受记为 Deprecated
    从9.0过后不再匡助。

  • UIApplicationLaunchOptionsLocationKey
    据悉地理地点点的App打开,官方文档应该更新了了,已经找不交原文,大意是只要App开启了地理地方,在App退出及后台之后,假诺点了地理地点打开App,那么LaunchOptions就会出其一Key,可用来打开地理地点事件监听的讲明,但这种地理地点点打开App的力要App
    Store审核才会被下。

  • UIApplicationLaunchOptionsNewsstandDownloadsKey
    关于杂志更新的,用到最好少,不多描述

  • UIApplicationLaunchOptionsBluetoothCentralsKey
    蓝牙服务提供设备唤醒App时出现的Key,数据也数组,代表设备列表

  • UIApplicationLaunchOptionsBluetoothPeripheralsKey
    蓝牙受劳务设备唤醒App时出现的Key,数据吧数组,代表设备列表

  • UIApplicationLaunchOptionsShortcutItemKey
    打3D Touch打开App时出现这Key

  • UIApplicationLaunchOptionsUserActivityDictionaryKey
    UniversalLinks打开时起这Key,用于获取连续打开行为之一些数,平常是点击的链接

  • UIApplicationLaunchOptionsUserActivityTypeKey
    UniversalLinks打开时起这些Key,值吗NSUserActivityTypeBrowsingWeb,而且以此枚举值就以此以

  • UIApplicationLaunchOptionsCloudKitShareMetadataKey
    A key indicating that the app received a Cloud基特(Kit) share invitation.
    相关文档相比少,估量是打文本里享受给App打开时会面并发这Key。

参考
https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623073-application?language=objc
http://nshipster.cn/launch-options/
http://www.jianshu.com/p/2ab2716c334e
http://www.jianshu.com/p/6a1eb76ec776

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 亚洲必赢app官方下载 版权所有