iOS 集成Onelink(无邀请码拉新注册)

值得做的事情就是值得做对的事情。

前言

众所周知,App在推广拉新的时候,会设置拉新奖励,每成功邀请注册一位新用户,会获得一定的现金奖励。这不,我们也要做这种功能,故事就这么发生了。

正文

这种功能最开始是在注册的时候填写邀请码,完成注册后新用户和老用户数据绑定。

目前主流的方式是无邀请码注册,用户点击分享链接后,直接打开App(没有安装直接跳转到App Store,下载完后打开App)注册就可实现数据绑定。

当然,我们也是采用后者的方式来实现。

无邀请码拉新国内的都好多SDK,一搜能让你挑花眼。我们的App主要面向是海外市场,所以SDK我们选用AppsFlyer里面的OneLink

接入条件

1、已经接入过AppsFlyer SDk
2、有AppsFlyer后台管理账号,且必须有OneLink模板的添加/修改权限。

开始对接

  • AppsFlyer后台管理配置

1、在管理后台首页,找到【互动】-> 【OneLink管理】,如图1:


1.png

2、点击功能图标按钮,选择添加OneLink模版,模版添加后移除比较麻烦,建议认真操作。如图2:

2.png

3、填写事项介绍

  • 模版名字:随意名字


    3.png
  • 子域名:这个很重要,目前iOS基本是用Universal Link(通用链接)来实现拉起App功能,这个子域名就是Universal Link
    4.png
  • 若用户未安装应用,没啥说的,直接跳转App Store
    5.png
  • 若用户已安装应用,那就直接拉起App,要使用Universal LinkURL scheme有点小落后了。
    6.png

    7.png

    人家解释的很清楚,OneLink会管理app-site-association文件,团队ID在开发者账号上可以查看。
    填写完成之后直接创建模版。

4、模版创建完成后,需要创建链接,这个链接就是用户点击用来跳转的。

8.png

我们用的是自定义的,其他的估计也可以,可以自己试下,这个创建后可以删除,操作比较容易。
如果模版填写没有问题的话,点击创建后里面一直继续就行了,基本不用编写信息。
创建完成后会有这样的短链接:
9.png

把短连接给后端小伙伴就行了,到此OneLink管理后台已经操作完毕,剩下的就是原生的工作了。

  • 原生项目配置

1、在项目中的Signing & Capabiilties 中 的 Associated Domains 添加刚才图4中配置的子域名:

10.png

2、在AppDelegate中设置deepLinkDelegate

AppsFlyerLib.shared().deepLinkDelegate = self

实现代理

extension AppDelegate {
    func didResolveDeepLink(_ result: DeepLinkResult) {
        XXPrint(">>>AppsFlyer DeepLinkResult:\(String(describing: result.deepLink?.deeplinkValue))")
        if let code = result.deepLink?.deeplinkValue {
            deeplinkValue = code
        }
    }
}

该代理会在在每次打开App的时候代用,可以和后端约定好,里面有很多默认字段,可以和后端约定好用哪个字段来标识邀请码

11.png

我们用的是deeplinkValue,约定好之后,那被邀请用户点击的链接就应该是:

短链?deep_link_value=邀请码

至此,所有开发的工作已经完成,测试去吧!!!

如果看着这就离开的Coder,放心,你还会回来的~~

大坑

  • 生成好的邀请链接不要在Safari中打开,一定要在备忘录中,切记切记。原因是OneLink在海外市场好用,在国内不太好使,GitHub上有相应的问题。

  • 在模拟没有安装应用的时候,目前只有2种情况能拿到邀请码:
    1、点击链接后,然后联机安装。
    2、点击链接后,通过爱思助手安装。
    3、一定要科学上网~!

总结

其实东西不多,当时对接的时候Safari一直调不起App,就试了备忘录,唉~跳转了。然后就一直纳闷,浏览器为啥不行。加上通用链接项目配置本来就很简单,然后就想着是OneLink后台配置问题,就开始各种修改OneLink管理后台配置,然后一行一行的看人家文档,最后还是没有头绪,白白浪费两天时间。

后台在iOS开发群里面有位好大哥回复说,国内就不行,只能用备忘录,如果备忘录测试没有问题,那上线也就没有问题。

这。。。

后记

还是那句话,开发中如果一个问题卡了一天就赶紧求助。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容