iOS 首次打開第三方app彈出“想要打開XXX應用”,action捕捉

在開發(fā)過程中,app之間的跳轉(zhuǎn),最通用的方法是通過urlScheme。iOS9以后增加了這樣一個彈窗:如果是首次打開某一個第三方app,會彈出如下圖的一個Alert,這是系統(tǒng)自動彈出,開發(fā)人員無法控制該Alert。

系統(tǒng)彈窗

如果想捕捉到用戶行為,應該采用何種策略呢?
1.如果用戶點擊“打開”,自然而然的就會進入到第三方app,app的生命周期就會如下:
彈出Alert=>applicationWillResignActive=>點擊打開=>applicationDidEnterBackground=>返回=>applicationWillEnterForeground=>applicationDidBecomeActive
2.如果用戶點擊“取消”,alert彈窗會消失,app的生命周期如下所示:
彈出Alert=>applicationWillResignActive=>點擊取消=>applicationDidBecomeActive
通過上述不同交互會有不同的生命周期,可以用來判斷用戶的不同操作。對于iOS9以上的系統(tǒng),通過一個變量記錄app的四個生命周期的狀態(tài),如果從applicationWillResignActive直接跳到applicationDidBecomeActive,那就是點擊來取消按鈕;如果中間經(jīng)歷了其他生命周期狀態(tài)回到applicationDidBecomeActive,那就是從其他app返回來了。
部分代碼如下:

@interface AppDelegate ()

@property (nonatomic, assign) int appLifeCycle;
@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.appLifeCycle = 5;//app運行時候標志位
    NSLog(@"didFinishLaunchingWithOptions");
    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
    self.appLifeCycle = 0;
    NSLog(@"applicationWillResignActive");
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    self.appLifeCycle++;
    NSLog(@"applicationDidEnterBackground");
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    self.appLifeCycle++;
    NSLog(@"applicationWillEnterForeground");
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    self.appLifeCycle++;
    NSLog(@"applicationDidBecomeActive");
    if (self.appLifeCycle == 1 && [[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0) {
        NSLog(@"it is the first to cancel opening other application above iOS9");
    }else if (self.appLifeCycle != 6){
        NSLog(@"back to myself");//返回到自己app
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 15,024評論 4 61
  • 作者,喬納森·弗蘭岑,1959出生于美國伊利諾伊州,著名小說家、隨筆作家,被評論界譽為最出色的美國小說家之一,其作...
    薄荷_8fad閱讀 952評論 0 0
  • 1.使用64位Ubuntu系統(tǒng)(32位編譯時會出現(xiàn)一些問題)2.必須使用jdk1.6(其他版本均不可以)
    張漢閱讀 634評論 0 0
  • 2019年1月8日,星期二,晴天 人生沒有彩排,每一天都是現(xiàn)場直播 ! 一 : 明明白白做人,坦坦蕩蕩做事。信任的...
    黃曉來閱讀 276評論 1 2
  • 如果兩人關系很親密、放松,他們沉浸在二人世界里,不容易給第三方留空間。 如果兩人關系很疏離,比如和陌生人的一面之交...
    漠然老師閱讀 374評論 0 0

友情鏈接更多精彩內(nèi)容