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

2024-08-08  本文已影响0人  MQ_Twist

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

前言

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

正文

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

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

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

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

接入条件

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

开始对接

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


1.png

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

2.png

3、填写事项介绍

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,约定好之后,那被邀请用户点击的链接就应该是:

短链?deeplinkValue=邀请码

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

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

大坑

总结

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

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

这。。。

后记

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

上一篇下一篇

猜你喜欢

热点阅读