TestFlight 的使用(更偏重于用户体验)

https://www.jianshu.com/p/173ec6ec44a5

前几天,技术总监用百度糯米时收到了内测邀请,然后,他在公司群里炫耀了一番,再然后,老板看上了,紧急开了个小会,要求以后也支持内测邀请。

先说一下百度糯米的内测形式吧

  1. 受邀用户会在应用内收到一个 Alert,如下图↓:

     

    内测邀请-Alert.png

  2. 当然是点击参加啦,要不然哪来的下面这个图↓:

     

    内测邀请-Controller.png

  3. 点击参加内测,直接打开了 TestFlight 应用(如果手机上没有 TestFlight,打开的是 App Store 下载页面),并跳转至内测版本下载页面,如下图↓:

     

    内测邀请-TestFlight.png

  4. 最后就是愉快的下载和体验过程了。

Perfect!看过官方文档之后,发现只能用邮件发邀请啊,而我们的产品中用户信息是没有邮件的,而且就算有,对于用户来说也很麻烦啊!那么问题来了,如何实现百度糯米的这种邀请方式呢?

我们知道,如果不是通过百度糯米那种方式,用户需要打开邮件、复制邀请码、打开 TestFlight、输入邀请码等繁琐的步骤,我们要做到邀请码对用户透明。

来了!终于来了!怎么才能做到呢?

  1. 第一步肯定是按照官方文档配置,这里就不再赘述了。

  2. 由于必须用邮件邀请的方式,因此,我们的架构师搭建了一个邮件服务,专门用于接收邀请邮件(收件地址是我们自己指定的假数据)。收到邮件后,自动点击邮件中的 “View in TestFlight” 按钮,这时候会有一个 URL,得到这个 URL 就得到了我们想要的东西,格式是这个样子的:https://beta.itunes.apple.com/v1/invite/f2405bda0b694cba9d13a1f4c0b1e984085caa193bdd4c3d8a3fa06a34acded83c2f42e1?ct=HC3Q6RZFNN&advp=10000&platform=ios

    URL.png

     

  3. 后台将得到的那个 URL 在应用内发给受邀用户即可(当然啦,对用户来说是透明的),然后就是弹 Alert -> 弹 Controller -> 接受邀请并愉快地下载内测版本 -> 愉快地体验内测版本

UI 就不用多说了,关键是点击接受按钮时的代码,如下:

- (void)openTestFlight {
    NSURL *testFlightURL = [NSURL URLWithString:@"itms-beta://"];
    // 需要判断能不能打开 TestFlight
    if ([[UIApplication sharedApplication] canOpenURL:testFlightURL]) {
        // 这个 urlString 就是后台发送给我们的,可以直接打开 TestFlight 并跳转到内测版本的详情页面。
        NSString *urlString = @"https://beta.itunes.apple.com/v1/invite/f2405bda0b694cba9d13a1f4c0b1e984085caa193bdd4c3d8a3fa06a34acded83c2f42e1?ct=HC3Q6RZFNN&advp=10000&platform=ios";
        if (@available(iOS 10.0, *)) {
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString] options:@{} completionHandler:^(BOOL success) {
                NSLog(@"%@", @(success));
            }];
        } else {
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
        }
    } else {
        // 手机上没有安装 TestFlight
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://itunes.apple.com/cn/app/testflight/id899247664"]];
    }
}

小结

这种方式对用户来说实在是不能再友好了,神马邀请码,完全用不上!看一下 Demo 吧~

 

Demo.gif

 

你可能感兴趣的:(TestFlight)